From 19fac0bf32a5b6fe8d7dabfcd105a871fd6279e6 Mon Sep 17 00:00:00 2001 From: luozhj33 Date: Sat, 14 Mar 2026 15:17:03 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- back/node_modules/.bin/semver | 16 + back/node_modules/.bin/semver.cmd | 17 + back/node_modules/.bin/semver.ps1 | 28 + .../node_modules}/.package-lock.json | 225 + back/node_modules/@redis/bloom/README.md | 17 + .../bloom/dist/lib/commands/bloom/ADD.d.ts | 18 + .../dist/lib/commands/bloom/ADD.d.ts.map | 1 + .../bloom/dist/lib/commands/bloom/ADD.js | 19 + .../bloom/dist/lib/commands/bloom/ADD.js.map | 1 + .../bloom/dist/lib/commands/bloom/CARD.d.ts | 14 + .../dist/lib/commands/bloom/CARD.d.ts.map | 1 + .../bloom/dist/lib/commands/bloom/CARD.js | 16 + .../bloom/dist/lib/commands/bloom/CARD.js.map | 1 + .../bloom/dist/lib/commands/bloom/EXISTS.d.ts | 18 + .../dist/lib/commands/bloom/EXISTS.d.ts.map | 1 + .../bloom/dist/lib/commands/bloom/EXISTS.js | 19 + .../dist/lib/commands/bloom/EXISTS.js.map | 1 + .../bloom/dist/lib/commands/bloom/INFO.d.ts | 39 + .../dist/lib/commands/bloom/INFO.d.ts.map | 1 + .../bloom/dist/lib/commands/bloom/INFO.js | 22 + .../bloom/dist/lib/commands/bloom/INFO.js.map | 1 + .../bloom/dist/lib/commands/bloom/INSERT.d.ts | 32 + .../dist/lib/commands/bloom/INSERT.d.ts.map | 1 + .../bloom/dist/lib/commands/bloom/INSERT.js | 41 + .../dist/lib/commands/bloom/INSERT.js.map | 1 + .../dist/lib/commands/bloom/LOADCHUNK.d.ts | 16 + .../lib/commands/bloom/LOADCHUNK.d.ts.map | 1 + .../dist/lib/commands/bloom/LOADCHUNK.js | 19 + .../dist/lib/commands/bloom/LOADCHUNK.js.map | 1 + .../bloom/dist/lib/commands/bloom/MADD.d.ts | 19 + .../dist/lib/commands/bloom/MADD.d.ts.map | 1 + .../bloom/dist/lib/commands/bloom/MADD.js | 19 + .../bloom/dist/lib/commands/bloom/MADD.js.map | 1 + .../dist/lib/commands/bloom/MEXISTS.d.ts | 19 + .../dist/lib/commands/bloom/MEXISTS.d.ts.map | 1 + .../bloom/dist/lib/commands/bloom/MEXISTS.js | 19 + .../dist/lib/commands/bloom/MEXISTS.js.map | 1 + .../dist/lib/commands/bloom/RESERVE.d.ts | 23 + .../dist/lib/commands/bloom/RESERVE.d.ts.map | 1 + .../bloom/dist/lib/commands/bloom/RESERVE.js | 28 + .../dist/lib/commands/bloom/RESERVE.js.map | 1 + .../dist/lib/commands/bloom/SCANDUMP.d.ts | 18 + .../dist/lib/commands/bloom/SCANDUMP.d.ts.map | 1 + .../bloom/dist/lib/commands/bloom/SCANDUMP.js | 23 + .../dist/lib/commands/bloom/SCANDUMP.js.map | 1 + .../dist/lib/commands/bloom/helpers.d.ts | 3 + .../dist/lib/commands/bloom/helpers.d.ts.map | 1 + .../bloom/dist/lib/commands/bloom/helpers.js | 28 + .../dist/lib/commands/bloom/helpers.js.map | 1 + .../bloom/dist/lib/commands/bloom/index.d.ts | 147 + .../dist/lib/commands/bloom/index.d.ts.map | 1 + .../bloom/dist/lib/commands/bloom/index.js | 53 + .../dist/lib/commands/bloom/index.js.map | 1 + .../lib/commands/count-min-sketch/INCRBY.d.ts | 19 + .../commands/count-min-sketch/INCRBY.d.ts.map | 1 + .../lib/commands/count-min-sketch/INCRBY.js | 28 + .../commands/count-min-sketch/INCRBY.js.map | 1 + .../lib/commands/count-min-sketch/INFO.d.ts | 36 + .../commands/count-min-sketch/INFO.d.ts.map | 1 + .../lib/commands/count-min-sketch/INFO.js | 22 + .../lib/commands/count-min-sketch/INFO.js.map | 1 + .../commands/count-min-sketch/INITBYDIM.d.ts | 16 + .../count-min-sketch/INITBYDIM.d.ts.map | 1 + .../commands/count-min-sketch/INITBYDIM.js | 19 + .../count-min-sketch/INITBYDIM.js.map | 1 + .../commands/count-min-sketch/INITBYPROB.d.ts | 16 + .../count-min-sketch/INITBYPROB.d.ts.map | 1 + .../commands/count-min-sketch/INITBYPROB.js | 19 + .../count-min-sketch/INITBYPROB.js.map | 1 + .../lib/commands/count-min-sketch/MERGE.d.ts | 20 + .../commands/count-min-sketch/MERGE.d.ts.map | 1 + .../lib/commands/count-min-sketch/MERGE.js | 33 + .../commands/count-min-sketch/MERGE.js.map | 1 + .../lib/commands/count-min-sketch/QUERY.d.ts | 16 + .../commands/count-min-sketch/QUERY.d.ts.map | 1 + .../lib/commands/count-min-sketch/QUERY.js | 18 + .../commands/count-min-sketch/QUERY.js.map | 1 + .../lib/commands/count-min-sketch/index.d.ts | 70 + .../commands/count-min-sketch/index.d.ts.map | 1 + .../lib/commands/count-min-sketch/index.js | 26 + .../commands/count-min-sketch/index.js.map | 1 + .../bloom/dist/lib/commands/cuckoo/ADD.d.ts | 18 + .../dist/lib/commands/cuckoo/ADD.d.ts.map | 1 + .../bloom/dist/lib/commands/cuckoo/ADD.js | 19 + .../bloom/dist/lib/commands/cuckoo/ADD.js.map | 1 + .../bloom/dist/lib/commands/cuckoo/ADDNX.d.ts | 18 + .../dist/lib/commands/cuckoo/ADDNX.d.ts.map | 1 + .../bloom/dist/lib/commands/cuckoo/ADDNX.js | 19 + .../dist/lib/commands/cuckoo/ADDNX.js.map | 1 + .../bloom/dist/lib/commands/cuckoo/COUNT.d.ts | 15 + .../dist/lib/commands/cuckoo/COUNT.d.ts.map | 1 + .../bloom/dist/lib/commands/cuckoo/COUNT.js | 18 + .../dist/lib/commands/cuckoo/COUNT.js.map | 1 + .../bloom/dist/lib/commands/cuckoo/DEL.d.ts | 18 + .../dist/lib/commands/cuckoo/DEL.d.ts.map | 1 + .../bloom/dist/lib/commands/cuckoo/DEL.js | 19 + .../bloom/dist/lib/commands/cuckoo/DEL.js.map | 1 + .../dist/lib/commands/cuckoo/EXISTS.d.ts | 18 + .../dist/lib/commands/cuckoo/EXISTS.d.ts.map | 1 + .../bloom/dist/lib/commands/cuckoo/EXISTS.js | 19 + .../dist/lib/commands/cuckoo/EXISTS.js.map | 1 + .../bloom/dist/lib/commands/cuckoo/INFO.d.ts | 51 + .../dist/lib/commands/cuckoo/INFO.d.ts.map | 1 + .../bloom/dist/lib/commands/cuckoo/INFO.js | 22 + .../dist/lib/commands/cuckoo/INFO.js.map | 1 + .../dist/lib/commands/cuckoo/INSERT.d.ts | 27 + .../dist/lib/commands/cuckoo/INSERT.d.ts.map | 1 + .../bloom/dist/lib/commands/cuckoo/INSERT.js | 34 + .../dist/lib/commands/cuckoo/INSERT.js.map | 1 + .../dist/lib/commands/cuckoo/INSERTNX.d.ts | 19 + .../lib/commands/cuckoo/INSERTNX.d.ts.map | 1 + .../dist/lib/commands/cuckoo/INSERTNX.js | 44 + .../dist/lib/commands/cuckoo/INSERTNX.js.map | 1 + .../dist/lib/commands/cuckoo/LOADCHUNK.d.ts | 16 + .../lib/commands/cuckoo/LOADCHUNK.d.ts.map | 1 + .../dist/lib/commands/cuckoo/LOADCHUNK.js | 19 + .../dist/lib/commands/cuckoo/LOADCHUNK.js.map | 1 + .../dist/lib/commands/cuckoo/RESERVE.d.ts | 24 + .../dist/lib/commands/cuckoo/RESERVE.d.ts.map | 1 + .../bloom/dist/lib/commands/cuckoo/RESERVE.js | 31 + .../dist/lib/commands/cuckoo/RESERVE.js.map | 1 + .../dist/lib/commands/cuckoo/SCANDUMP.d.ts | 18 + .../lib/commands/cuckoo/SCANDUMP.d.ts.map | 1 + .../dist/lib/commands/cuckoo/SCANDUMP.js | 23 + .../dist/lib/commands/cuckoo/SCANDUMP.js.map | 1 + .../bloom/dist/lib/commands/cuckoo/index.d.ts | 162 + .../dist/lib/commands/cuckoo/index.d.ts.map | 1 + .../bloom/dist/lib/commands/cuckoo/index.js | 41 + .../dist/lib/commands/cuckoo/index.js.map | 1 + .../@redis/bloom/dist/lib/commands/index.d.ts | 666 ++ .../bloom/dist/lib/commands/index.d.ts.map | 1 + .../@redis/bloom/dist/lib/commands/index.js | 18 + .../bloom/dist/lib/commands/index.js.map | 1 + .../bloom/dist/lib/commands/t-digest/ADD.d.ts | 15 + .../dist/lib/commands/t-digest/ADD.d.ts.map | 1 + .../bloom/dist/lib/commands/t-digest/ADD.js | 20 + .../dist/lib/commands/t-digest/ADD.js.map | 1 + .../dist/lib/commands/t-digest/BYRANK.d.ts | 19 + .../lib/commands/t-digest/BYRANK.d.ts.map | 1 + .../dist/lib/commands/t-digest/BYRANK.js | 26 + .../dist/lib/commands/t-digest/BYRANK.js.map | 1 + .../dist/lib/commands/t-digest/BYREVRANK.d.ts | 16 + .../lib/commands/t-digest/BYREVRANK.d.ts.map | 1 + .../dist/lib/commands/t-digest/BYREVRANK.js | 41 + .../lib/commands/t-digest/BYREVRANK.js.map | 1 + .../bloom/dist/lib/commands/t-digest/CDF.d.ts | 18 + .../dist/lib/commands/t-digest/CDF.d.ts.map | 1 + .../bloom/dist/lib/commands/t-digest/CDF.js | 21 + .../dist/lib/commands/t-digest/CDF.js.map | 1 + .../dist/lib/commands/t-digest/CREATE.d.ts | 19 + .../lib/commands/t-digest/CREATE.d.ts.map | 1 + .../dist/lib/commands/t-digest/CREATE.js | 21 + .../dist/lib/commands/t-digest/CREATE.js.map | 1 + .../dist/lib/commands/t-digest/INFO.d.ts | 55 + .../dist/lib/commands/t-digest/INFO.d.ts.map | 1 + .../bloom/dist/lib/commands/t-digest/INFO.js | 22 + .../dist/lib/commands/t-digest/INFO.js.map | 1 + .../bloom/dist/lib/commands/t-digest/MAX.d.ts | 17 + .../dist/lib/commands/t-digest/MAX.d.ts.map | 1 + .../bloom/dist/lib/commands/t-digest/MAX.js | 17 + .../dist/lib/commands/t-digest/MAX.js.map | 1 + .../dist/lib/commands/t-digest/MERGE.d.ts | 23 + .../dist/lib/commands/t-digest/MERGE.d.ts.map | 1 + .../bloom/dist/lib/commands/t-digest/MERGE.js | 27 + .../dist/lib/commands/t-digest/MERGE.js.map | 1 + .../bloom/dist/lib/commands/t-digest/MIN.d.ts | 17 + .../dist/lib/commands/t-digest/MIN.d.ts.map | 1 + .../bloom/dist/lib/commands/t-digest/MIN.js | 17 + .../dist/lib/commands/t-digest/MIN.js.map | 1 + .../dist/lib/commands/t-digest/QUANTILE.d.ts | 18 + .../lib/commands/t-digest/QUANTILE.d.ts.map | 1 + .../dist/lib/commands/t-digest/QUANTILE.js | 21 + .../lib/commands/t-digest/QUANTILE.js.map | 1 + .../dist/lib/commands/t-digest/RANK.d.ts | 16 + .../dist/lib/commands/t-digest/RANK.d.ts.map | 1 + .../bloom/dist/lib/commands/t-digest/RANK.js | 25 + .../dist/lib/commands/t-digest/RANK.js.map | 1 + .../dist/lib/commands/t-digest/RESET.d.ts | 14 + .../dist/lib/commands/t-digest/RESET.d.ts.map | 1 + .../bloom/dist/lib/commands/t-digest/RESET.js | 16 + .../dist/lib/commands/t-digest/RESET.js.map | 1 + .../dist/lib/commands/t-digest/REVRANK.d.ts | 13 + .../lib/commands/t-digest/REVRANK.d.ts.map | 1 + .../dist/lib/commands/t-digest/REVRANK.js | 41 + .../dist/lib/commands/t-digest/REVRANK.js.map | 1 + .../lib/commands/t-digest/TRIMMED_MEAN.d.ts | 19 + .../commands/t-digest/TRIMMED_MEAN.d.ts.map | 1 + .../lib/commands/t-digest/TRIMMED_MEAN.js | 20 + .../lib/commands/t-digest/TRIMMED_MEAN.js.map | 1 + .../dist/lib/commands/t-digest/index.d.ts | 192 + .../dist/lib/commands/t-digest/index.d.ts.map | 1 + .../bloom/dist/lib/commands/t-digest/index.js | 50 + .../dist/lib/commands/t-digest/index.js.map | 1 + .../bloom/dist/lib/commands/top-k/ADD.d.ts | 16 + .../dist/lib/commands/top-k/ADD.d.ts.map | 1 + .../bloom/dist/lib/commands/top-k/ADD.js | 18 + .../bloom/dist/lib/commands/top-k/ADD.js.map | 1 + .../bloom/dist/lib/commands/top-k/COUNT.d.ts | 16 + .../dist/lib/commands/top-k/COUNT.d.ts.map | 1 + .../bloom/dist/lib/commands/top-k/COUNT.js | 18 + .../dist/lib/commands/top-k/COUNT.js.map | 1 + .../bloom/dist/lib/commands/top-k/INCRBY.d.ts | 19 + .../dist/lib/commands/top-k/INCRBY.d.ts.map | 1 + .../bloom/dist/lib/commands/top-k/INCRBY.js | 28 + .../dist/lib/commands/top-k/INCRBY.js.map | 1 + .../bloom/dist/lib/commands/top-k/INFO.d.ts | 35 + .../dist/lib/commands/top-k/INFO.d.ts.map | 1 + .../bloom/dist/lib/commands/top-k/INFO.js | 24 + .../bloom/dist/lib/commands/top-k/INFO.js.map | 1 + .../bloom/dist/lib/commands/top-k/LIST.d.ts | 14 + .../dist/lib/commands/top-k/LIST.d.ts.map | 1 + .../bloom/dist/lib/commands/top-k/LIST.js | 16 + .../bloom/dist/lib/commands/top-k/LIST.js.map | 1 + .../lib/commands/top-k/LIST_WITHCOUNT.d.ts | 17 + .../commands/top-k/LIST_WITHCOUNT.d.ts.map | 1 + .../dist/lib/commands/top-k/LIST_WITHCOUNT.js | 26 + .../lib/commands/top-k/LIST_WITHCOUNT.js.map | 1 + .../bloom/dist/lib/commands/top-k/QUERY.d.ts | 19 + .../dist/lib/commands/top-k/QUERY.d.ts.map | 1 + .../bloom/dist/lib/commands/top-k/QUERY.js | 19 + .../dist/lib/commands/top-k/QUERY.js.map | 1 + .../dist/lib/commands/top-k/RESERVE.d.ts | 24 + .../dist/lib/commands/top-k/RESERVE.d.ts.map | 1 + .../bloom/dist/lib/commands/top-k/RESERVE.js | 25 + .../dist/lib/commands/top-k/RESERVE.js.map | 1 + .../bloom/dist/lib/commands/top-k/index.d.ts | 102 + .../dist/lib/commands/top-k/index.d.ts.map | 1 + .../bloom/dist/lib/commands/top-k/index.js | 32 + .../dist/lib/commands/top-k/index.js.map | 1 + .../@redis/bloom/dist/lib/index.d.ts | 2 + .../@redis/bloom/dist/lib/index.d.ts.map | 1 + .../@redis/bloom/dist/lib/index.js | 9 + .../@redis/bloom/dist/lib/index.js.map | 1 + back/node_modules/@redis/bloom/package.json | 36 + back/node_modules/@redis/client/README.md | 3 + .../@redis/client/dist/index.d.ts | 23 + .../@redis/client/dist/index.d.ts.map | 1 + back/node_modules/@redis/client/dist/index.js | 49 + .../@redis/client/dist/index.js.map | 1 + .../@redis/client/dist/lib/RESP/decoder.d.ts | 40 + .../client/dist/lib/RESP/decoder.d.ts.map | 1 + .../@redis/client/dist/lib/RESP/decoder.js | 727 ++ .../client/dist/lib/RESP/decoder.js.map | 1 + .../@redis/client/dist/lib/RESP/encoder.d.ts | 3 + .../client/dist/lib/RESP/encoder.d.ts.map | 1 + .../@redis/client/dist/lib/RESP/encoder.js | 24 + .../client/dist/lib/RESP/encoder.js.map | 1 + .../@redis/client/dist/lib/RESP/types.d.ts | 128 + .../client/dist/lib/RESP/types.d.ts.map | 1 + .../@redis/client/dist/lib/RESP/types.js | 31 + .../@redis/client/dist/lib/RESP/types.js.map | 1 + .../client/dist/lib/RESP/verbatim-string.d.ts | 5 + .../dist/lib/RESP/verbatim-string.d.ts.map | 1 + .../client/dist/lib/RESP/verbatim-string.js | 12 + .../dist/lib/RESP/verbatim-string.js.map | 1 + .../dist/lib/authx/credentials-provider.d.ts | 88 + .../lib/authx/credentials-provider.d.ts.map | 1 + .../dist/lib/authx/credentials-provider.js | 26 + .../lib/authx/credentials-provider.js.map | 1 + .../client/dist/lib/authx/disposable.d.ts | 7 + .../client/dist/lib/authx/disposable.d.ts.map | 1 + .../client/dist/lib/authx/disposable.js | 3 + .../client/dist/lib/authx/disposable.js.map | 1 + .../dist/lib/authx/identity-provider.d.ts | 24 + .../dist/lib/authx/identity-provider.d.ts.map | 1 + .../dist/lib/authx/identity-provider.js | 6 + .../dist/lib/authx/identity-provider.js.map | 1 + .../@redis/client/dist/lib/authx/index.d.ts | 6 + .../client/dist/lib/authx/index.d.ts.map | 1 + .../@redis/client/dist/lib/authx/index.js | 12 + .../@redis/client/dist/lib/authx/index.js.map | 1 + .../client/dist/lib/authx/token-manager.d.ts | 165 + .../dist/lib/authx/token-manager.d.ts.map | 1 + .../client/dist/lib/authx/token-manager.js | 184 + .../dist/lib/authx/token-manager.js.map | 1 + .../@redis/client/dist/lib/authx/token.d.ts | 15 + .../client/dist/lib/authx/token.d.ts.map | 1 + .../@redis/client/dist/lib/authx/token.js | 32 + .../@redis/client/dist/lib/authx/token.js.map | 1 + .../@redis/client/dist/lib/client/cache.d.ts | 297 + .../client/dist/lib/client/cache.d.ts.map | 1 + .../@redis/client/dist/lib/client/cache.js | 614 + .../client/dist/lib/client/cache.js.map | 1 + .../dist/lib/client/commands-queue.d.ts | 97 + .../dist/lib/client/commands-queue.d.ts.map | 1 + .../client/dist/lib/client/commands-queue.js | 482 + .../dist/lib/client/commands-queue.js.map | 1 + .../enterprise-maintenance-manager.d.ts | 74 + .../enterprise-maintenance-manager.d.ts.map | 1 + .../client/enterprise-maintenance-manager.js | 375 + .../enterprise-maintenance-manager.js.map | 1 + .../@redis/client/dist/lib/client/index.d.ts | 375 + .../client/dist/lib/client/index.d.ts.map | 1 + .../@redis/client/dist/lib/client/index.js | 990 ++ .../client/dist/lib/client/index.js.map | 1 + .../client/dist/lib/client/legacy-mode.d.ts | 37 + .../dist/lib/client/legacy-mode.d.ts.map | 1 + .../client/dist/lib/client/legacy-mode.js | 119 + .../client/dist/lib/client/legacy-mode.js.map | 1 + .../client/dist/lib/client/linked-list.d.ts | 68 + .../dist/lib/client/linked-list.d.ts.map | 1 + .../client/dist/lib/client/linked-list.js | 212 + .../client/dist/lib/client/linked-list.js.map | 1 + .../client/dist/lib/client/multi-command.d.ts | 45 + .../dist/lib/client/multi-command.d.ts.map | 1 + .../client/dist/lib/client/multi-command.js | 106 + .../dist/lib/client/multi-command.js.map | 1 + .../@redis/client/dist/lib/client/parser.d.ts | 31 + .../client/dist/lib/client/parser.d.ts.map | 1 + .../@redis/client/dist/lib/client/parser.js | 83 + .../client/dist/lib/client/parser.js.map | 1 + .../@redis/client/dist/lib/client/pool.d.ts | 143 + .../client/dist/lib/client/pool.d.ts.map | 1 + .../@redis/client/dist/lib/client/pool.js | 327 + .../@redis/client/dist/lib/client/pool.js.map | 1 + .../client/dist/lib/client/pub-sub.d.ts | 65 + .../client/dist/lib/client/pub-sub.d.ts.map | 1 + .../@redis/client/dist/lib/client/pub-sub.js | 340 + .../client/dist/lib/client/pub-sub.js.map | 1 + .../@redis/client/dist/lib/client/socket.d.ts | 59 + .../client/dist/lib/client/socket.d.ts.map | 1 + .../@redis/client/dist/lib/client/socket.js | 313 + .../client/dist/lib/client/socket.js.map | 1 + .../dist/lib/cluster/cluster-slots.d.ts | 77 + .../dist/lib/cluster/cluster-slots.d.ts.map | 1 + .../client/dist/lib/cluster/cluster-slots.js | 652 ++ .../dist/lib/cluster/cluster-slots.js.map | 1 + .../@redis/client/dist/lib/cluster/index.d.ts | 181 + .../client/dist/lib/cluster/index.d.ts.map | 1 + .../@redis/client/dist/lib/cluster/index.js | 387 + .../client/dist/lib/cluster/index.js.map | 1 + .../dist/lib/cluster/multi-command.d.ts | 39 + .../dist/lib/cluster/multi-command.d.ts.map | 1 + .../client/dist/lib/cluster/multi-command.js | 112 + .../dist/lib/cluster/multi-command.js.map | 1 + .../@redis/client/dist/lib/commander.d.ts | 17 + .../@redis/client/dist/lib/commander.d.ts.map | 1 + .../@redis/client/dist/lib/commander.js | 91 + .../@redis/client/dist/lib/commander.js.map | 1 + .../client/dist/lib/commands/ACL_CAT.d.ts | 15 + .../client/dist/lib/commands/ACL_CAT.d.ts.map | 1 + .../client/dist/lib/commands/ACL_CAT.js | 19 + .../client/dist/lib/commands/ACL_CAT.js.map | 1 + .../client/dist/lib/commands/ACL_DELUSER.d.ts | 16 + .../dist/lib/commands/ACL_DELUSER.d.ts.map | 1 + .../client/dist/lib/commands/ACL_DELUSER.js | 17 + .../dist/lib/commands/ACL_DELUSER.js.map | 1 + .../client/dist/lib/commands/ACL_DRYRUN.d.ts | 16 + .../dist/lib/commands/ACL_DRYRUN.d.ts.map | 1 + .../client/dist/lib/commands/ACL_DRYRUN.js | 17 + .../dist/lib/commands/ACL_DRYRUN.js.map | 1 + .../client/dist/lib/commands/ACL_GENPASS.d.ts | 15 + .../dist/lib/commands/ACL_GENPASS.d.ts.map | 1 + .../client/dist/lib/commands/ACL_GENPASS.js | 19 + .../dist/lib/commands/ACL_GENPASS.js.map | 1 + .../client/dist/lib/commands/ACL_GETUSER.d.ts | 71 + .../dist/lib/commands/ACL_GETUSER.d.ts.map | 1 + .../client/dist/lib/commands/ACL_GETUSER.js | 33 + .../dist/lib/commands/ACL_GETUSER.js.map | 1 + .../client/dist/lib/commands/ACL_LIST.d.ts | 14 + .../dist/lib/commands/ACL_LIST.d.ts.map | 1 + .../client/dist/lib/commands/ACL_LIST.js | 15 + .../client/dist/lib/commands/ACL_LIST.js.map | 1 + .../client/dist/lib/commands/ACL_LOAD.d.ts | 14 + .../dist/lib/commands/ACL_LOAD.d.ts.map | 1 + .../client/dist/lib/commands/ACL_LOAD.js | 15 + .../client/dist/lib/commands/ACL_LOAD.js.map | 1 + .../client/dist/lib/commands/ACL_LOG.d.ts | 74 + .../client/dist/lib/commands/ACL_LOG.d.ts.map | 1 + .../client/dist/lib/commands/ACL_LOG.js | 39 + .../client/dist/lib/commands/ACL_LOG.js.map | 1 + .../dist/lib/commands/ACL_LOG_RESET.d.ts | 14 + .../dist/lib/commands/ACL_LOG_RESET.d.ts.map | 1 + .../client/dist/lib/commands/ACL_LOG_RESET.js | 19 + .../dist/lib/commands/ACL_LOG_RESET.js.map | 1 + .../client/dist/lib/commands/ACL_SAVE.d.ts | 14 + .../dist/lib/commands/ACL_SAVE.d.ts.map | 1 + .../client/dist/lib/commands/ACL_SAVE.js | 15 + .../client/dist/lib/commands/ACL_SAVE.js.map | 1 + .../client/dist/lib/commands/ACL_SETUSER.d.ts | 17 + .../dist/lib/commands/ACL_SETUSER.d.ts.map | 1 + .../client/dist/lib/commands/ACL_SETUSER.js | 18 + .../dist/lib/commands/ACL_SETUSER.js.map | 1 + .../client/dist/lib/commands/ACL_USERS.d.ts | 14 + .../dist/lib/commands/ACL_USERS.d.ts.map | 1 + .../client/dist/lib/commands/ACL_USERS.js | 15 + .../client/dist/lib/commands/ACL_USERS.js.map | 1 + .../client/dist/lib/commands/ACL_WHOAMI.d.ts | 14 + .../dist/lib/commands/ACL_WHOAMI.d.ts.map | 1 + .../client/dist/lib/commands/ACL_WHOAMI.js | 15 + .../dist/lib/commands/ACL_WHOAMI.js.map | 1 + .../client/dist/lib/commands/APPEND.d.ts | 15 + .../client/dist/lib/commands/APPEND.d.ts.map | 1 + .../@redis/client/dist/lib/commands/APPEND.js | 16 + .../client/dist/lib/commands/APPEND.js.map | 1 + .../client/dist/lib/commands/ASKING.d.ts | 15 + .../client/dist/lib/commands/ASKING.d.ts.map | 1 + .../@redis/client/dist/lib/commands/ASKING.js | 17 + .../client/dist/lib/commands/ASKING.js.map | 1 + .../@redis/client/dist/lib/commands/AUTH.d.ts | 21 + .../client/dist/lib/commands/AUTH.d.ts.map | 1 + .../@redis/client/dist/lib/commands/AUTH.js | 22 + .../client/dist/lib/commands/AUTH.js.map | 1 + .../dist/lib/commands/BGREWRITEAOF.d.ts | 14 + .../dist/lib/commands/BGREWRITEAOF.d.ts.map | 1 + .../client/dist/lib/commands/BGREWRITEAOF.js | 15 + .../dist/lib/commands/BGREWRITEAOF.js.map | 1 + .../client/dist/lib/commands/BGSAVE.d.ts | 19 + .../client/dist/lib/commands/BGSAVE.d.ts.map | 1 + .../@redis/client/dist/lib/commands/BGSAVE.js | 20 + .../client/dist/lib/commands/BGSAVE.js.map | 1 + .../client/dist/lib/commands/BITCOUNT.d.ts | 24 + .../dist/lib/commands/BITCOUNT.d.ts.map | 1 + .../client/dist/lib/commands/BITCOUNT.js | 28 + .../client/dist/lib/commands/BITCOUNT.js.map | 1 + .../client/dist/lib/commands/BITFIELD.d.ts | 38 + .../dist/lib/commands/BITFIELD.d.ts.map | 1 + .../client/dist/lib/commands/BITFIELD.js | 33 + .../client/dist/lib/commands/BITFIELD.js.map | 1 + .../client/dist/lib/commands/BITFIELD_RO.d.ts | 18 + .../dist/lib/commands/BITFIELD_RO.d.ts.map | 1 + .../client/dist/lib/commands/BITFIELD_RO.js | 23 + .../dist/lib/commands/BITFIELD_RO.js.map | 1 + .../client/dist/lib/commands/BITOP.d.ts | 18 + .../client/dist/lib/commands/BITOP.d.ts.map | 1 + .../@redis/client/dist/lib/commands/BITOP.js | 19 + .../client/dist/lib/commands/BITOP.js.map | 1 + .../client/dist/lib/commands/BITPOS.d.ts | 20 + .../client/dist/lib/commands/BITPOS.d.ts.map | 1 + .../@redis/client/dist/lib/commands/BITPOS.js | 31 + .../client/dist/lib/commands/BITPOS.js.map | 1 + .../client/dist/lib/commands/BLMOVE.d.ts | 19 + .../client/dist/lib/commands/BLMOVE.d.ts.map | 1 + .../@redis/client/dist/lib/commands/BLMOVE.js | 21 + .../client/dist/lib/commands/BLMOVE.js.map | 1 + .../client/dist/lib/commands/BLMPOP.d.ts | 14 + .../client/dist/lib/commands/BLMPOP.d.ts.map | 1 + .../@redis/client/dist/lib/commands/BLMPOP.js | 41 + .../client/dist/lib/commands/BLMPOP.js.map | 1 + .../client/dist/lib/commands/BLPOP.d.ts | 19 + .../client/dist/lib/commands/BLPOP.d.ts.map | 1 + .../@redis/client/dist/lib/commands/BLPOP.js | 25 + .../client/dist/lib/commands/BLPOP.js.map | 1 + .../client/dist/lib/commands/BRPOP.d.ts | 18 + .../client/dist/lib/commands/BRPOP.d.ts.map | 1 + .../@redis/client/dist/lib/commands/BRPOP.js | 22 + .../client/dist/lib/commands/BRPOP.js.map | 1 + .../client/dist/lib/commands/BRPOPLPUSH.d.ts | 16 + .../dist/lib/commands/BRPOPLPUSH.d.ts.map | 1 + .../client/dist/lib/commands/BRPOPLPUSH.js | 19 + .../dist/lib/commands/BRPOPLPUSH.js.map | 1 + .../client/dist/lib/commands/BZMPOP.d.ts | 29 + .../client/dist/lib/commands/BZMPOP.d.ts.map | 1 + .../@redis/client/dist/lib/commands/BZMPOP.js | 41 + .../client/dist/lib/commands/BZMPOP.js.map | 1 + .../client/dist/lib/commands/BZPOPMAX.d.ts | 27 + .../dist/lib/commands/BZPOPMAX.d.ts.map | 1 + .../client/dist/lib/commands/BZPOPMAX.js | 34 + .../client/dist/lib/commands/BZPOPMAX.js.map | 1 + .../client/dist/lib/commands/BZPOPMIN.d.ts | 26 + .../dist/lib/commands/BZPOPMIN.d.ts.map | 1 + .../client/dist/lib/commands/BZPOPMIN.js | 22 + .../client/dist/lib/commands/BZPOPMIN.js.map | 1 + .../dist/lib/commands/CLIENT_CACHING.d.ts | 15 + .../dist/lib/commands/CLIENT_CACHING.d.ts.map | 1 + .../dist/lib/commands/CLIENT_CACHING.js | 16 + .../dist/lib/commands/CLIENT_CACHING.js.map | 1 + .../dist/lib/commands/CLIENT_GETNAME.d.ts | 14 + .../dist/lib/commands/CLIENT_GETNAME.d.ts.map | 1 + .../dist/lib/commands/CLIENT_GETNAME.js | 15 + .../dist/lib/commands/CLIENT_GETNAME.js.map | 1 + .../dist/lib/commands/CLIENT_GETREDIR.d.ts | 14 + .../lib/commands/CLIENT_GETREDIR.d.ts.map | 1 + .../dist/lib/commands/CLIENT_GETREDIR.js | 15 + .../dist/lib/commands/CLIENT_GETREDIR.js.map | 1 + .../client/dist/lib/commands/CLIENT_ID.d.ts | 14 + .../dist/lib/commands/CLIENT_ID.d.ts.map | 1 + .../client/dist/lib/commands/CLIENT_ID.js | 15 + .../client/dist/lib/commands/CLIENT_ID.js.map | 1 + .../client/dist/lib/commands/CLIENT_INFO.d.ts | 74 + .../dist/lib/commands/CLIENT_INFO.d.ts.map | 1 + .../client/dist/lib/commands/CLIENT_INFO.js | 62 + .../dist/lib/commands/CLIENT_INFO.js.map | 1 + .../client/dist/lib/commands/CLIENT_KILL.d.ts | 50 + .../dist/lib/commands/CLIENT_KILL.d.ts.map | 1 + .../client/dist/lib/commands/CLIENT_KILL.js | 66 + .../dist/lib/commands/CLIENT_KILL.js.map | 1 + .../client/dist/lib/commands/CLIENT_LIST.d.ts | 25 + .../dist/lib/commands/CLIENT_LIST.d.ts.map | 1 + .../client/dist/lib/commands/CLIENT_LIST.js | 35 + .../dist/lib/commands/CLIENT_LIST.js.map | 1 + .../dist/lib/commands/CLIENT_NO-EVICT.d.ts | 15 + .../lib/commands/CLIENT_NO-EVICT.d.ts.map | 1 + .../dist/lib/commands/CLIENT_NO-EVICT.js | 16 + .../dist/lib/commands/CLIENT_NO-EVICT.js.map | 1 + .../dist/lib/commands/CLIENT_NO-TOUCH.d.ts | 15 + .../lib/commands/CLIENT_NO-TOUCH.d.ts.map | 1 + .../dist/lib/commands/CLIENT_NO-TOUCH.js | 16 + .../dist/lib/commands/CLIENT_NO-TOUCH.js.map | 1 + .../dist/lib/commands/CLIENT_PAUSE.d.ts | 16 + .../dist/lib/commands/CLIENT_PAUSE.d.ts.map | 1 + .../client/dist/lib/commands/CLIENT_PAUSE.js | 20 + .../dist/lib/commands/CLIENT_PAUSE.js.map | 1 + .../dist/lib/commands/CLIENT_SETNAME.d.ts | 15 + .../dist/lib/commands/CLIENT_SETNAME.d.ts.map | 1 + .../dist/lib/commands/CLIENT_SETNAME.js | 16 + .../dist/lib/commands/CLIENT_SETNAME.js.map | 1 + .../dist/lib/commands/CLIENT_TRACKING.d.ts | 32 + .../lib/commands/CLIENT_TRACKING.d.ts.map | 1 + .../dist/lib/commands/CLIENT_TRACKING.js | 53 + .../dist/lib/commands/CLIENT_TRACKING.js.map | 1 + .../lib/commands/CLIENT_TRACKINGINFO.d.ts | 35 + .../lib/commands/CLIENT_TRACKINGINFO.d.ts.map | 1 + .../dist/lib/commands/CLIENT_TRACKINGINFO.js | 22 + .../lib/commands/CLIENT_TRACKINGINFO.js.map | 1 + .../dist/lib/commands/CLIENT_UNPAUSE.d.ts | 14 + .../dist/lib/commands/CLIENT_UNPAUSE.d.ts.map | 1 + .../dist/lib/commands/CLIENT_UNPAUSE.js | 15 + .../dist/lib/commands/CLIENT_UNPAUSE.js.map | 1 + .../dist/lib/commands/CLUSTER_ADDSLOTS.d.ts | 15 + .../lib/commands/CLUSTER_ADDSLOTS.d.ts.map | 1 + .../dist/lib/commands/CLUSTER_ADDSLOTS.js | 17 + .../dist/lib/commands/CLUSTER_ADDSLOTS.js.map | 1 + .../lib/commands/CLUSTER_ADDSLOTSRANGE.d.ts | 16 + .../commands/CLUSTER_ADDSLOTSRANGE.d.ts.map | 1 + .../lib/commands/CLUSTER_ADDSLOTSRANGE.js | 18 + .../lib/commands/CLUSTER_ADDSLOTSRANGE.js.map | 1 + .../dist/lib/commands/CLUSTER_BUMPEPOCH.d.ts | 14 + .../lib/commands/CLUSTER_BUMPEPOCH.d.ts.map | 1 + .../dist/lib/commands/CLUSTER_BUMPEPOCH.js | 15 + .../lib/commands/CLUSTER_BUMPEPOCH.js.map | 1 + .../CLUSTER_COUNT-FAILURE-REPORTS.d.ts | 15 + .../CLUSTER_COUNT-FAILURE-REPORTS.d.ts.map | 1 + .../commands/CLUSTER_COUNT-FAILURE-REPORTS.js | 16 + .../CLUSTER_COUNT-FAILURE-REPORTS.js.map | 1 + .../lib/commands/CLUSTER_COUNTKEYSINSLOT.d.ts | 15 + .../commands/CLUSTER_COUNTKEYSINSLOT.d.ts.map | 1 + .../lib/commands/CLUSTER_COUNTKEYSINSLOT.js | 16 + .../commands/CLUSTER_COUNTKEYSINSLOT.js.map | 1 + .../dist/lib/commands/CLUSTER_DELSLOTS.d.ts | 15 + .../lib/commands/CLUSTER_DELSLOTS.d.ts.map | 1 + .../dist/lib/commands/CLUSTER_DELSLOTS.js | 17 + .../dist/lib/commands/CLUSTER_DELSLOTS.js.map | 1 + .../lib/commands/CLUSTER_DELSLOTSRANGE.d.ts | 16 + .../commands/CLUSTER_DELSLOTSRANGE.d.ts.map | 1 + .../lib/commands/CLUSTER_DELSLOTSRANGE.js | 18 + .../lib/commands/CLUSTER_DELSLOTSRANGE.js.map | 1 + .../dist/lib/commands/CLUSTER_FAILOVER.d.ts | 23 + .../lib/commands/CLUSTER_FAILOVER.d.ts.map | 1 + .../dist/lib/commands/CLUSTER_FAILOVER.js | 24 + .../dist/lib/commands/CLUSTER_FAILOVER.js.map | 1 + .../dist/lib/commands/CLUSTER_FLUSHSLOTS.d.ts | 14 + .../lib/commands/CLUSTER_FLUSHSLOTS.d.ts.map | 1 + .../dist/lib/commands/CLUSTER_FLUSHSLOTS.js | 15 + .../lib/commands/CLUSTER_FLUSHSLOTS.js.map | 1 + .../dist/lib/commands/CLUSTER_FORGET.d.ts | 15 + .../dist/lib/commands/CLUSTER_FORGET.d.ts.map | 1 + .../dist/lib/commands/CLUSTER_FORGET.js | 16 + .../dist/lib/commands/CLUSTER_FORGET.js.map | 1 + .../lib/commands/CLUSTER_GETKEYSINSLOT.d.ts | 16 + .../commands/CLUSTER_GETKEYSINSLOT.d.ts.map | 1 + .../lib/commands/CLUSTER_GETKEYSINSLOT.js | 17 + .../lib/commands/CLUSTER_GETKEYSINSLOT.js.map | 1 + .../dist/lib/commands/CLUSTER_INFO.d.ts | 14 + .../dist/lib/commands/CLUSTER_INFO.d.ts.map | 1 + .../client/dist/lib/commands/CLUSTER_INFO.js | 15 + .../dist/lib/commands/CLUSTER_INFO.js.map | 1 + .../dist/lib/commands/CLUSTER_KEYSLOT.d.ts | 15 + .../lib/commands/CLUSTER_KEYSLOT.d.ts.map | 1 + .../dist/lib/commands/CLUSTER_KEYSLOT.js | 16 + .../dist/lib/commands/CLUSTER_KEYSLOT.js.map | 1 + .../dist/lib/commands/CLUSTER_LINKS.d.ts | 50 + .../dist/lib/commands/CLUSTER_LINKS.d.ts.map | 1 + .../client/dist/lib/commands/CLUSTER_LINKS.js | 28 + .../dist/lib/commands/CLUSTER_LINKS.js.map | 1 + .../dist/lib/commands/CLUSTER_MEET.d.ts | 16 + .../dist/lib/commands/CLUSTER_MEET.d.ts.map | 1 + .../client/dist/lib/commands/CLUSTER_MEET.js | 17 + .../dist/lib/commands/CLUSTER_MEET.js.map | 1 + .../dist/lib/commands/CLUSTER_MYID.d.ts | 14 + .../dist/lib/commands/CLUSTER_MYID.d.ts.map | 1 + .../client/dist/lib/commands/CLUSTER_MYID.js | 15 + .../dist/lib/commands/CLUSTER_MYID.js.map | 1 + .../dist/lib/commands/CLUSTER_MYSHARDID.d.ts | 14 + .../lib/commands/CLUSTER_MYSHARDID.d.ts.map | 1 + .../dist/lib/commands/CLUSTER_MYSHARDID.js | 15 + .../lib/commands/CLUSTER_MYSHARDID.js.map | 1 + .../dist/lib/commands/CLUSTER_NODES.d.ts | 14 + .../dist/lib/commands/CLUSTER_NODES.d.ts.map | 1 + .../client/dist/lib/commands/CLUSTER_NODES.js | 15 + .../dist/lib/commands/CLUSTER_NODES.js.map | 1 + .../dist/lib/commands/CLUSTER_REPLICAS.d.ts | 15 + .../lib/commands/CLUSTER_REPLICAS.d.ts.map | 1 + .../dist/lib/commands/CLUSTER_REPLICAS.js | 16 + .../dist/lib/commands/CLUSTER_REPLICAS.js.map | 1 + .../dist/lib/commands/CLUSTER_REPLICATE.d.ts | 15 + .../lib/commands/CLUSTER_REPLICATE.d.ts.map | 1 + .../dist/lib/commands/CLUSTER_REPLICATE.js | 16 + .../lib/commands/CLUSTER_REPLICATE.js.map | 1 + .../dist/lib/commands/CLUSTER_RESET.d.ts | 18 + .../dist/lib/commands/CLUSTER_RESET.d.ts.map | 1 + .../client/dist/lib/commands/CLUSTER_RESET.js | 19 + .../dist/lib/commands/CLUSTER_RESET.js.map | 1 + .../dist/lib/commands/CLUSTER_SAVECONFIG.d.ts | 14 + .../lib/commands/CLUSTER_SAVECONFIG.d.ts.map | 1 + .../dist/lib/commands/CLUSTER_SAVECONFIG.js | 15 + .../lib/commands/CLUSTER_SAVECONFIG.js.map | 1 + .../commands/CLUSTER_SET-CONFIG-EPOCH.d.ts | 15 + .../CLUSTER_SET-CONFIG-EPOCH.d.ts.map | 1 + .../lib/commands/CLUSTER_SET-CONFIG-EPOCH.js | 16 + .../commands/CLUSTER_SET-CONFIG-EPOCH.js.map | 1 + .../dist/lib/commands/CLUSTER_SETSLOT.d.ts | 24 + .../lib/commands/CLUSTER_SETSLOT.d.ts.map | 1 + .../dist/lib/commands/CLUSTER_SETSLOT.js | 28 + .../dist/lib/commands/CLUSTER_SETSLOT.js.map | 1 + .../dist/lib/commands/CLUSTER_SLOTS.d.ts | 44 + .../dist/lib/commands/CLUSTER_SLOTS.d.ts.map | 1 + .../client/dist/lib/commands/CLUSTER_SLOTS.js | 30 + .../dist/lib/commands/CLUSTER_SLOTS.js.map | 1 + .../client/dist/lib/commands/COMMAND.d.ts | 15 + .../client/dist/lib/commands/COMMAND.d.ts.map | 1 + .../client/dist/lib/commands/COMMAND.js | 19 + .../client/dist/lib/commands/COMMAND.js.map | 1 + .../dist/lib/commands/COMMAND_COUNT.d.ts | 14 + .../dist/lib/commands/COMMAND_COUNT.d.ts.map | 1 + .../client/dist/lib/commands/COMMAND_COUNT.js | 15 + .../dist/lib/commands/COMMAND_COUNT.js.map | 1 + .../dist/lib/commands/COMMAND_GETKEYS.d.ts | 15 + .../lib/commands/COMMAND_GETKEYS.d.ts.map | 1 + .../dist/lib/commands/COMMAND_GETKEYS.js | 17 + .../dist/lib/commands/COMMAND_GETKEYS.js.map | 1 + .../lib/commands/COMMAND_GETKEYSANDFLAGS.d.ts | 22 + .../commands/COMMAND_GETKEYSANDFLAGS.d.ts.map | 1 + .../lib/commands/COMMAND_GETKEYSANDFLAGS.js | 25 + .../commands/COMMAND_GETKEYSANDFLAGS.js.map | 1 + .../dist/lib/commands/COMMAND_INFO.d.ts | 16 + .../dist/lib/commands/COMMAND_INFO.d.ts.map | 1 + .../client/dist/lib/commands/COMMAND_INFO.js | 20 + .../dist/lib/commands/COMMAND_INFO.js.map | 1 + .../dist/lib/commands/COMMAND_LIST.d.ts | 27 + .../dist/lib/commands/COMMAND_LIST.d.ts.map | 1 + .../client/dist/lib/commands/COMMAND_LIST.js | 25 + .../dist/lib/commands/COMMAND_LIST.js.map | 1 + .../client/dist/lib/commands/CONFIG_GET.d.ts | 19 + .../dist/lib/commands/CONFIG_GET.d.ts.map | 1 + .../client/dist/lib/commands/CONFIG_GET.js | 21 + .../dist/lib/commands/CONFIG_GET.js.map | 1 + .../dist/lib/commands/CONFIG_RESETSTAT.d.ts | 14 + .../lib/commands/CONFIG_RESETSTAT.d.ts.map | 1 + .../dist/lib/commands/CONFIG_RESETSTAT.js | 15 + .../dist/lib/commands/CONFIG_RESETSTAT.js.map | 1 + .../dist/lib/commands/CONFIG_REWRITE.d.ts | 14 + .../dist/lib/commands/CONFIG_REWRITE.d.ts.map | 1 + .../dist/lib/commands/CONFIG_REWRITE.js | 15 + .../dist/lib/commands/CONFIG_REWRITE.js.map | 1 + .../client/dist/lib/commands/CONFIG_SET.d.ts | 18 + .../dist/lib/commands/CONFIG_SET.d.ts.map | 1 + .../client/dist/lib/commands/CONFIG_SET.js | 25 + .../dist/lib/commands/CONFIG_SET.js.map | 1 + .../@redis/client/dist/lib/commands/COPY.d.ts | 20 + .../client/dist/lib/commands/COPY.d.ts.map | 1 + .../@redis/client/dist/lib/commands/COPY.js | 24 + .../client/dist/lib/commands/COPY.js.map | 1 + .../client/dist/lib/commands/DBSIZE.d.ts | 14 + .../client/dist/lib/commands/DBSIZE.d.ts.map | 1 + .../@redis/client/dist/lib/commands/DBSIZE.js | 15 + .../client/dist/lib/commands/DBSIZE.js.map | 1 + .../@redis/client/dist/lib/commands/DECR.d.ts | 13 + .../client/dist/lib/commands/DECR.d.ts.map | 1 + .../@redis/client/dist/lib/commands/DECR.js | 15 + .../client/dist/lib/commands/DECR.js.map | 1 + .../client/dist/lib/commands/DECRBY.d.ts | 14 + .../client/dist/lib/commands/DECRBY.d.ts.map | 1 + .../@redis/client/dist/lib/commands/DECRBY.js | 17 + .../client/dist/lib/commands/DECRBY.js.map | 1 + .../@redis/client/dist/lib/commands/DEL.d.ts | 15 + .../client/dist/lib/commands/DEL.d.ts.map | 1 + .../@redis/client/dist/lib/commands/DEL.js | 16 + .../client/dist/lib/commands/DEL.js.map | 1 + .../client/dist/lib/commands/DELEX.d.ts | 50 + .../client/dist/lib/commands/DELEX.d.ts.map | 1 + .../@redis/client/dist/lib/commands/DELEX.js | 43 + .../client/dist/lib/commands/DELEX.js.map | 1 + .../client/dist/lib/commands/DIGEST.d.ts | 18 + .../client/dist/lib/commands/DIGEST.d.ts.map | 1 + .../@redis/client/dist/lib/commands/DIGEST.js | 20 + .../client/dist/lib/commands/DIGEST.js.map | 1 + .../client/dist/lib/commands/DISCARD.d.ts | 12 + .../client/dist/lib/commands/DISCARD.d.ts.map | 1 + .../client/dist/lib/commands/DISCARD.js | 13 + .../client/dist/lib/commands/DISCARD.js.map | 1 + .../@redis/client/dist/lib/commands/DUMP.d.ts | 14 + .../client/dist/lib/commands/DUMP.d.ts.map | 1 + .../@redis/client/dist/lib/commands/DUMP.js | 16 + .../client/dist/lib/commands/DUMP.js.map | 1 + .../@redis/client/dist/lib/commands/ECHO.d.ts | 15 + .../client/dist/lib/commands/ECHO.d.ts.map | 1 + .../@redis/client/dist/lib/commands/ECHO.js | 16 + .../client/dist/lib/commands/ECHO.js.map | 1 + .../@redis/client/dist/lib/commands/EVAL.d.ts | 20 + .../client/dist/lib/commands/EVAL.d.ts.map | 1 + .../@redis/client/dist/lib/commands/EVAL.js | 31 + .../client/dist/lib/commands/EVAL.js.map | 1 + .../client/dist/lib/commands/EVALSHA.d.ts | 13 + .../client/dist/lib/commands/EVALSHA.d.ts.map | 1 + .../client/dist/lib/commands/EVALSHA.js | 41 + .../client/dist/lib/commands/EVALSHA.js.map | 1 + .../client/dist/lib/commands/EVALSHA_RO.d.ts | 13 + .../dist/lib/commands/EVALSHA_RO.d.ts.map | 1 + .../client/dist/lib/commands/EVALSHA_RO.js | 41 + .../dist/lib/commands/EVALSHA_RO.js.map | 1 + .../client/dist/lib/commands/EVAL_RO.d.ts | 13 + .../client/dist/lib/commands/EVAL_RO.d.ts.map | 1 + .../client/dist/lib/commands/EVAL_RO.js | 41 + .../client/dist/lib/commands/EVAL_RO.js.map | 1 + .../client/dist/lib/commands/EXISTS.d.ts | 16 + .../client/dist/lib/commands/EXISTS.d.ts.map | 1 + .../@redis/client/dist/lib/commands/EXISTS.js | 17 + .../client/dist/lib/commands/EXISTS.js.map | 1 + .../client/dist/lib/commands/EXPIRE.d.ts | 15 + .../client/dist/lib/commands/EXPIRE.d.ts.map | 1 + .../@redis/client/dist/lib/commands/EXPIRE.js | 21 + .../client/dist/lib/commands/EXPIRE.js.map | 1 + .../client/dist/lib/commands/EXPIREAT.d.ts | 15 + .../dist/lib/commands/EXPIREAT.d.ts.map | 1 + .../client/dist/lib/commands/EXPIREAT.js | 22 + .../client/dist/lib/commands/EXPIREAT.js.map | 1 + .../client/dist/lib/commands/EXPIRETIME.d.ts | 14 + .../dist/lib/commands/EXPIRETIME.d.ts.map | 1 + .../client/dist/lib/commands/EXPIRETIME.js | 16 + .../dist/lib/commands/EXPIRETIME.js.map | 1 + .../client/dist/lib/commands/FAILOVER.d.ts | 22 + .../dist/lib/commands/FAILOVER.d.ts.map | 1 + .../client/dist/lib/commands/FAILOVER.js | 26 + .../client/dist/lib/commands/FAILOVER.js.map | 1 + .../client/dist/lib/commands/FCALL.d.ts | 13 + .../client/dist/lib/commands/FCALL.d.ts.map | 1 + .../@redis/client/dist/lib/commands/FCALL.js | 41 + .../client/dist/lib/commands/FCALL.js.map | 1 + .../client/dist/lib/commands/FCALL_RO.d.ts | 13 + .../dist/lib/commands/FCALL_RO.d.ts.map | 1 + .../client/dist/lib/commands/FCALL_RO.js | 41 + .../client/dist/lib/commands/FCALL_RO.js.map | 1 + .../client/dist/lib/commands/FLUSHALL.d.ts | 20 + .../dist/lib/commands/FLUSHALL.d.ts.map | 1 + .../client/dist/lib/commands/FLUSHALL.js | 24 + .../client/dist/lib/commands/FLUSHALL.js.map | 1 + .../client/dist/lib/commands/FLUSHDB.d.ts | 16 + .../client/dist/lib/commands/FLUSHDB.d.ts.map | 1 + .../client/dist/lib/commands/FLUSHDB.js | 19 + .../client/dist/lib/commands/FLUSHDB.js.map | 1 + .../dist/lib/commands/FUNCTION_DELETE.d.ts | 15 + .../lib/commands/FUNCTION_DELETE.d.ts.map | 1 + .../dist/lib/commands/FUNCTION_DELETE.js | 16 + .../dist/lib/commands/FUNCTION_DELETE.js.map | 1 + .../dist/lib/commands/FUNCTION_DUMP.d.ts | 14 + .../dist/lib/commands/FUNCTION_DUMP.d.ts.map | 1 + .../client/dist/lib/commands/FUNCTION_DUMP.js | 15 + .../dist/lib/commands/FUNCTION_DUMP.js.map | 1 + .../dist/lib/commands/FUNCTION_FLUSH.d.ts | 16 + .../dist/lib/commands/FUNCTION_FLUSH.d.ts.map | 1 + .../dist/lib/commands/FUNCTION_FLUSH.js | 19 + .../dist/lib/commands/FUNCTION_FLUSH.js.map | 1 + .../dist/lib/commands/FUNCTION_KILL.d.ts | 14 + .../dist/lib/commands/FUNCTION_KILL.d.ts.map | 1 + .../client/dist/lib/commands/FUNCTION_KILL.js | 15 + .../dist/lib/commands/FUNCTION_KILL.js.map | 1 + .../dist/lib/commands/FUNCTION_LIST.d.ts | 57 + .../dist/lib/commands/FUNCTION_LIST.d.ts.map | 1 + .../client/dist/lib/commands/FUNCTION_LIST.js | 38 + .../dist/lib/commands/FUNCTION_LIST.js.map | 1 + .../lib/commands/FUNCTION_LIST_WITHCODE.d.ts | 34 + .../commands/FUNCTION_LIST_WITHCODE.d.ts.map | 1 + .../lib/commands/FUNCTION_LIST_WITHCODE.js | 41 + .../commands/FUNCTION_LIST_WITHCODE.js.map | 1 + .../dist/lib/commands/FUNCTION_LOAD.d.ts | 19 + .../dist/lib/commands/FUNCTION_LOAD.d.ts.map | 1 + .../client/dist/lib/commands/FUNCTION_LOAD.js | 21 + .../dist/lib/commands/FUNCTION_LOAD.js.map | 1 + .../dist/lib/commands/FUNCTION_RESTORE.d.ts | 19 + .../lib/commands/FUNCTION_RESTORE.d.ts.map | 1 + .../dist/lib/commands/FUNCTION_RESTORE.js | 20 + .../dist/lib/commands/FUNCTION_RESTORE.js.map | 1 + .../dist/lib/commands/FUNCTION_STATS.d.ts | 62 + .../dist/lib/commands/FUNCTION_STATS.d.ts.map | 1 + .../dist/lib/commands/FUNCTION_STATS.js | 47 + .../dist/lib/commands/FUNCTION_STATS.js.map | 1 + .../client/dist/lib/commands/GEOADD.d.ts | 32 + .../client/dist/lib/commands/GEOADD.d.ts.map | 1 + .../@redis/client/dist/lib/commands/GEOADD.js | 41 + .../client/dist/lib/commands/GEOADD.js.map | 1 + .../client/dist/lib/commands/GEODIST.d.ts | 19 + .../client/dist/lib/commands/GEODIST.d.ts.map | 1 + .../client/dist/lib/commands/GEODIST.js | 26 + .../client/dist/lib/commands/GEODIST.js.map | 1 + .../client/dist/lib/commands/GEOHASH.d.ts | 17 + .../client/dist/lib/commands/GEOHASH.d.ts.map | 1 + .../client/dist/lib/commands/GEOHASH.js | 19 + .../client/dist/lib/commands/GEOHASH.js.map | 1 + .../client/dist/lib/commands/GEOPOS.d.ts | 20 + .../client/dist/lib/commands/GEOPOS.d.ts.map | 1 + .../@redis/client/dist/lib/commands/GEOPOS.js | 27 + .../client/dist/lib/commands/GEOPOS.js.map | 1 + .../client/dist/lib/commands/GEORADIUS.d.ts | 20 + .../dist/lib/commands/GEORADIUS.d.ts.map | 1 + .../client/dist/lib/commands/GEORADIUS.js | 28 + .../client/dist/lib/commands/GEORADIUS.js.map | 1 + .../dist/lib/commands/GEORADIUSBYMEMBER.d.ts | 20 + .../lib/commands/GEORADIUSBYMEMBER.d.ts.map | 1 + .../dist/lib/commands/GEORADIUSBYMEMBER.js | 28 + .../lib/commands/GEORADIUSBYMEMBER.js.map | 1 + .../lib/commands/GEORADIUSBYMEMBER_RO.d.ts | 17 + .../commands/GEORADIUSBYMEMBER_RO.d.ts.map | 1 + .../dist/lib/commands/GEORADIUSBYMEMBER_RO.js | 46 + .../lib/commands/GEORADIUSBYMEMBER_RO.js.map | 1 + .../commands/GEORADIUSBYMEMBER_RO_WITH.d.ts | 17 + .../GEORADIUSBYMEMBER_RO_WITH.d.ts.map | 1 + .../lib/commands/GEORADIUSBYMEMBER_RO_WITH.js | 46 + .../commands/GEORADIUSBYMEMBER_RO_WITH.js.map | 1 + .../lib/commands/GEORADIUSBYMEMBER_STORE.d.ts | 23 + .../commands/GEORADIUSBYMEMBER_STORE.d.ts.map | 1 + .../lib/commands/GEORADIUSBYMEMBER_STORE.js | 53 + .../commands/GEORADIUSBYMEMBER_STORE.js.map | 1 + .../lib/commands/GEORADIUSBYMEMBER_WITH.d.ts | 22 + .../commands/GEORADIUSBYMEMBER_WITH.d.ts.map | 1 + .../lib/commands/GEORADIUSBYMEMBER_WITH.js | 36 + .../commands/GEORADIUSBYMEMBER_WITH.js.map | 1 + .../dist/lib/commands/GEORADIUS_RO.d.ts | 17 + .../dist/lib/commands/GEORADIUS_RO.d.ts.map | 1 + .../client/dist/lib/commands/GEORADIUS_RO.js | 45 + .../dist/lib/commands/GEORADIUS_RO.js.map | 1 + .../dist/lib/commands/GEORADIUS_RO_WITH.d.ts | 18 + .../lib/commands/GEORADIUS_RO_WITH.d.ts.map | 1 + .../dist/lib/commands/GEORADIUS_RO_WITH.js | 27 + .../lib/commands/GEORADIUS_RO_WITH.js.map | 1 + .../dist/lib/commands/GEORADIUS_STORE.d.ts | 23 + .../lib/commands/GEORADIUS_STORE.d.ts.map | 1 + .../dist/lib/commands/GEORADIUS_STORE.js | 53 + .../dist/lib/commands/GEORADIUS_STORE.js.map | 1 + .../dist/lib/commands/GEORADIUS_WITH.d.ts | 22 + .../dist/lib/commands/GEORADIUS_WITH.d.ts.map | 1 + .../dist/lib/commands/GEORADIUS_WITH.js | 56 + .../dist/lib/commands/GEORADIUS_WITH.js.map | 1 + .../client/dist/lib/commands/GEOSEARCH.d.ts | 43 + .../dist/lib/commands/GEOSEARCH.d.ts.map | 1 + .../client/dist/lib/commands/GEOSEARCH.js | 54 + .../client/dist/lib/commands/GEOSEARCH.js.map | 1 + .../dist/lib/commands/GEOSEARCHSTORE.d.ts | 22 + .../dist/lib/commands/GEOSEARCHSTORE.d.ts.map | 1 + .../dist/lib/commands/GEOSEARCHSTORE.js | 27 + .../dist/lib/commands/GEOSEARCHSTORE.js.map | 1 + .../dist/lib/commands/GEOSEARCH_WITH.d.ts | 34 + .../dist/lib/commands/GEOSEARCH_WITH.d.ts.map | 1 + .../dist/lib/commands/GEOSEARCH_WITH.js | 55 + .../dist/lib/commands/GEOSEARCH_WITH.js.map | 1 + .../@redis/client/dist/lib/commands/GET.d.ts | 15 + .../client/dist/lib/commands/GET.d.ts.map | 1 + .../@redis/client/dist/lib/commands/GET.js | 17 + .../client/dist/lib/commands/GET.js.map | 1 + .../client/dist/lib/commands/GETBIT.d.ts | 17 + .../client/dist/lib/commands/GETBIT.d.ts.map | 1 + .../@redis/client/dist/lib/commands/GETBIT.js | 19 + .../client/dist/lib/commands/GETBIT.js.map | 1 + .../client/dist/lib/commands/GETDEL.d.ts | 14 + .../client/dist/lib/commands/GETDEL.d.ts.map | 1 + .../@redis/client/dist/lib/commands/GETDEL.js | 16 + .../client/dist/lib/commands/GETDEL.js.map | 1 + .../client/dist/lib/commands/GETEX.d.ts | 49 + .../client/dist/lib/commands/GETEX.d.ts.map | 1 + .../@redis/client/dist/lib/commands/GETEX.js | 50 + .../client/dist/lib/commands/GETEX.js.map | 1 + .../client/dist/lib/commands/GETRANGE.d.ts | 17 + .../dist/lib/commands/GETRANGE.d.ts.map | 1 + .../client/dist/lib/commands/GETRANGE.js | 20 + .../client/dist/lib/commands/GETRANGE.js.map | 1 + .../client/dist/lib/commands/GETSET.d.ts | 15 + .../client/dist/lib/commands/GETSET.d.ts.map | 1 + .../@redis/client/dist/lib/commands/GETSET.js | 18 + .../client/dist/lib/commands/GETSET.js.map | 1 + .../@redis/client/dist/lib/commands/HDEL.d.ts | 15 + .../client/dist/lib/commands/HDEL.d.ts.map | 1 + .../@redis/client/dist/lib/commands/HDEL.js | 17 + .../client/dist/lib/commands/HDEL.js.map | 1 + .../client/dist/lib/commands/HELLO.d.ts | 63 + .../client/dist/lib/commands/HELLO.d.ts.map | 1 + .../@redis/client/dist/lib/commands/HELLO.js | 35 + .../client/dist/lib/commands/HELLO.js.map | 1 + .../client/dist/lib/commands/HEXISTS.d.ts | 16 + .../client/dist/lib/commands/HEXISTS.d.ts.map | 1 + .../client/dist/lib/commands/HEXISTS.js | 19 + .../client/dist/lib/commands/HEXISTS.js.map | 1 + .../client/dist/lib/commands/HEXPIRE.d.ts | 28 + .../client/dist/lib/commands/HEXPIRE.d.ts.map | 1 + .../client/dist/lib/commands/HEXPIRE.js | 35 + .../client/dist/lib/commands/HEXPIRE.js.map | 1 + .../client/dist/lib/commands/HEXPIREAT.d.ts | 17 + .../dist/lib/commands/HEXPIREAT.d.ts.map | 1 + .../client/dist/lib/commands/HEXPIREAT.js | 25 + .../client/dist/lib/commands/HEXPIREAT.js.map | 1 + .../client/dist/lib/commands/HEXPIRETIME.d.ts | 22 + .../dist/lib/commands/HEXPIRETIME.d.ts.map | 1 + .../client/dist/lib/commands/HEXPIRETIME.js | 26 + .../dist/lib/commands/HEXPIRETIME.js.map | 1 + .../@redis/client/dist/lib/commands/HGET.d.ts | 16 + .../client/dist/lib/commands/HGET.d.ts.map | 1 + .../@redis/client/dist/lib/commands/HGET.js | 19 + .../client/dist/lib/commands/HGET.js.map | 1 + .../client/dist/lib/commands/HGETALL.d.ts | 19 + .../client/dist/lib/commands/HGETALL.d.ts.map | 1 + .../client/dist/lib/commands/HGETALL.js | 22 + .../client/dist/lib/commands/HGETALL.js.map | 1 + .../client/dist/lib/commands/HGETDEL.d.ts | 15 + .../client/dist/lib/commands/HGETDEL.d.ts.map | 1 + .../client/dist/lib/commands/HGETDEL.js | 18 + .../client/dist/lib/commands/HGETDEL.js.map | 1 + .../client/dist/lib/commands/HGETEX.d.ts | 24 + .../client/dist/lib/commands/HGETEX.d.ts.map | 1 + .../@redis/client/dist/lib/commands/HGETEX.js | 30 + .../client/dist/lib/commands/HGETEX.js.map | 1 + .../client/dist/lib/commands/HINCRBY.d.ts | 15 + .../client/dist/lib/commands/HINCRBY.d.ts.map | 1 + .../client/dist/lib/commands/HINCRBY.js | 18 + .../client/dist/lib/commands/HINCRBY.js.map | 1 + .../dist/lib/commands/HINCRBYFLOAT.d.ts | 15 + .../dist/lib/commands/HINCRBYFLOAT.d.ts.map | 1 + .../client/dist/lib/commands/HINCRBYFLOAT.js | 18 + .../dist/lib/commands/HINCRBYFLOAT.js.map | 1 + .../client/dist/lib/commands/HKEYS.d.ts | 15 + .../client/dist/lib/commands/HKEYS.d.ts.map | 1 + .../@redis/client/dist/lib/commands/HKEYS.js | 17 + .../client/dist/lib/commands/HKEYS.js.map | 1 + .../@redis/client/dist/lib/commands/HLEN.d.ts | 15 + .../client/dist/lib/commands/HLEN.d.ts.map | 1 + .../@redis/client/dist/lib/commands/HLEN.js | 17 + .../client/dist/lib/commands/HLEN.js.map | 1 + .../client/dist/lib/commands/HMGET.d.ts | 17 + .../client/dist/lib/commands/HMGET.d.ts.map | 1 + .../@redis/client/dist/lib/commands/HMGET.js | 19 + .../client/dist/lib/commands/HMGET.js.map | 1 + .../client/dist/lib/commands/HOTKEYS_GET.d.ts | 68 + .../dist/lib/commands/HOTKEYS_GET.d.ts.map | 1 + .../client/dist/lib/commands/HOTKEYS_GET.js | 131 + .../dist/lib/commands/HOTKEYS_GET.js.map | 1 + .../dist/lib/commands/HOTKEYS_RESET.d.ts | 24 + .../dist/lib/commands/HOTKEYS_RESET.d.ts.map | 1 + .../client/dist/lib/commands/HOTKEYS_RESET.js | 25 + .../dist/lib/commands/HOTKEYS_RESET.js.map | 1 + .../dist/lib/commands/HOTKEYS_START.d.ts | 66 + .../dist/lib/commands/HOTKEYS_START.d.ts.map | 1 + .../client/dist/lib/commands/HOTKEYS_START.js | 60 + .../dist/lib/commands/HOTKEYS_START.js.map | 1 + .../dist/lib/commands/HOTKEYS_STOP.d.ts | 26 + .../dist/lib/commands/HOTKEYS_STOP.d.ts.map | 1 + .../client/dist/lib/commands/HOTKEYS_STOP.js | 27 + .../dist/lib/commands/HOTKEYS_STOP.js.map | 1 + .../client/dist/lib/commands/HPERSIST.d.ts | 15 + .../dist/lib/commands/HPERSIST.d.ts.map | 1 + .../client/dist/lib/commands/HPERSIST.js | 18 + .../client/dist/lib/commands/HPERSIST.js.map | 1 + .../client/dist/lib/commands/HPEXPIRE.d.ts | 19 + .../dist/lib/commands/HPEXPIRE.d.ts.map | 1 + .../client/dist/lib/commands/HPEXPIRE.js | 25 + .../client/dist/lib/commands/HPEXPIRE.js.map | 1 + .../client/dist/lib/commands/HPEXPIREAT.d.ts | 20 + .../dist/lib/commands/HPEXPIREAT.d.ts.map | 1 + .../client/dist/lib/commands/HPEXPIREAT.js | 27 + .../dist/lib/commands/HPEXPIREAT.js.map | 1 + .../dist/lib/commands/HPEXPIRETIME.d.ts | 18 + .../dist/lib/commands/HPEXPIRETIME.d.ts.map | 1 + .../client/dist/lib/commands/HPEXPIRETIME.js | 21 + .../dist/lib/commands/HPEXPIRETIME.js.map | 1 + .../client/dist/lib/commands/HPTTL.d.ts | 18 + .../client/dist/lib/commands/HPTTL.d.ts.map | 1 + .../@redis/client/dist/lib/commands/HPTTL.js | 21 + .../client/dist/lib/commands/HPTTL.js.map | 1 + .../client/dist/lib/commands/HRANDFIELD.d.ts | 16 + .../dist/lib/commands/HRANDFIELD.d.ts.map | 1 + .../client/dist/lib/commands/HRANDFIELD.js | 18 + .../dist/lib/commands/HRANDFIELD.js.map | 1 + .../dist/lib/commands/HRANDFIELD_COUNT.d.ts | 17 + .../lib/commands/HRANDFIELD_COUNT.d.ts.map | 1 + .../dist/lib/commands/HRANDFIELD_COUNT.js | 20 + .../dist/lib/commands/HRANDFIELD_COUNT.js.map | 1 + .../commands/HRANDFIELD_COUNT_WITHVALUES.d.ts | 27 + .../HRANDFIELD_COUNT_WITHVALUES.d.ts.map | 1 + .../commands/HRANDFIELD_COUNT_WITHVALUES.js | 41 + .../HRANDFIELD_COUNT_WITHVALUES.js.map | 1 + .../client/dist/lib/commands/HSCAN.d.ts | 29 + .../client/dist/lib/commands/HSCAN.d.ts.map | 1 + .../@redis/client/dist/lib/commands/HSCAN.js | 35 + .../client/dist/lib/commands/HSCAN.js.map | 1 + .../dist/lib/commands/HSCAN_NOVALUES.d.ts | 17 + .../dist/lib/commands/HSCAN_NOVALUES.d.ts.map | 1 + .../dist/lib/commands/HSCAN_NOVALUES.js | 27 + .../dist/lib/commands/HSCAN_NOVALUES.js.map | 1 + .../@redis/client/dist/lib/commands/HSET.d.ts | 25 + .../client/dist/lib/commands/HSET.d.ts.map | 1 + .../@redis/client/dist/lib/commands/HSET.js | 55 + .../client/dist/lib/commands/HSET.js.map | 1 + .../client/dist/lib/commands/HSETEX.d.ts | 30 + .../client/dist/lib/commands/HSETEX.d.ts.map | 1 + .../@redis/client/dist/lib/commands/HSETEX.js | 81 + .../client/dist/lib/commands/HSETEX.js.map | 1 + .../client/dist/lib/commands/HSETNX.d.ts | 18 + .../client/dist/lib/commands/HSETNX.d.ts.map | 1 + .../@redis/client/dist/lib/commands/HSETNX.js | 21 + .../client/dist/lib/commands/HSETNX.js.map | 1 + .../client/dist/lib/commands/HSTRLEN.d.ts | 18 + .../client/dist/lib/commands/HSTRLEN.d.ts.map | 1 + .../client/dist/lib/commands/HSTRLEN.js | 21 + .../client/dist/lib/commands/HSTRLEN.js.map | 1 + .../@redis/client/dist/lib/commands/HTTL.d.ts | 16 + .../client/dist/lib/commands/HTTL.d.ts.map | 1 + .../@redis/client/dist/lib/commands/HTTL.js | 19 + .../client/dist/lib/commands/HTTL.js.map | 1 + .../client/dist/lib/commands/HVALS.d.ts | 15 + .../client/dist/lib/commands/HVALS.d.ts.map | 1 + .../@redis/client/dist/lib/commands/HVALS.js | 17 + .../client/dist/lib/commands/HVALS.js.map | 1 + .../@redis/client/dist/lib/commands/INCR.d.ts | 15 + .../client/dist/lib/commands/INCR.d.ts.map | 1 + .../@redis/client/dist/lib/commands/INCR.js | 17 + .../client/dist/lib/commands/INCR.js.map | 1 + .../client/dist/lib/commands/INCRBY.d.ts | 16 + .../client/dist/lib/commands/INCRBY.d.ts.map | 1 + .../@redis/client/dist/lib/commands/INCRBY.js | 19 + .../client/dist/lib/commands/INCRBY.js.map | 1 + .../client/dist/lib/commands/INCRBYFLOAT.d.ts | 16 + .../dist/lib/commands/INCRBYFLOAT.d.ts.map | 1 + .../client/dist/lib/commands/INCRBYFLOAT.js | 19 + .../dist/lib/commands/INCRBYFLOAT.js.map | 1 + .../@redis/client/dist/lib/commands/INFO.d.ts | 17 + .../client/dist/lib/commands/INFO.d.ts.map | 1 + .../@redis/client/dist/lib/commands/INFO.js | 21 + .../client/dist/lib/commands/INFO.js.map | 1 + .../@redis/client/dist/lib/commands/KEYS.d.ts | 17 + .../client/dist/lib/commands/KEYS.d.ts.map | 1 + .../@redis/client/dist/lib/commands/KEYS.js | 18 + .../client/dist/lib/commands/KEYS.js.map | 1 + .../client/dist/lib/commands/LASTSAVE.d.ts | 16 + .../dist/lib/commands/LASTSAVE.d.ts.map | 1 + .../client/dist/lib/commands/LASTSAVE.js | 17 + .../client/dist/lib/commands/LASTSAVE.js.map | 1 + .../dist/lib/commands/LATENCY_DOCTOR.d.ts | 16 + .../dist/lib/commands/LATENCY_DOCTOR.d.ts.map | 1 + .../dist/lib/commands/LATENCY_DOCTOR.js | 17 + .../dist/lib/commands/LATENCY_DOCTOR.js.map | 1 + .../dist/lib/commands/LATENCY_GRAPH.d.ts | 36 + .../dist/lib/commands/LATENCY_GRAPH.d.ts.map | 1 + .../client/dist/lib/commands/LATENCY_GRAPH.js | 37 + .../dist/lib/commands/LATENCY_GRAPH.js.map | 1 + .../dist/lib/commands/LATENCY_HISTOGRAM.d.ts | 24 + .../lib/commands/LATENCY_HISTOGRAM.d.ts.map | 1 + .../dist/lib/commands/LATENCY_HISTOGRAM.js | 39 + .../lib/commands/LATENCY_HISTOGRAM.js.map | 1 + .../dist/lib/commands/LATENCY_HISTORY.d.ts | 21 + .../lib/commands/LATENCY_HISTORY.d.ts.map | 1 + .../dist/lib/commands/LATENCY_HISTORY.js | 18 + .../dist/lib/commands/LATENCY_HISTORY.js.map | 1 + .../dist/lib/commands/LATENCY_LATEST.d.ts | 21 + .../dist/lib/commands/LATENCY_LATEST.d.ts.map | 1 + .../dist/lib/commands/LATENCY_LATEST.js | 17 + .../dist/lib/commands/LATENCY_LATEST.js.map | 1 + .../dist/lib/commands/LATENCY_RESET.d.ts | 17 + .../dist/lib/commands/LATENCY_RESET.d.ts.map | 1 + .../client/dist/lib/commands/LATENCY_RESET.js | 24 + .../dist/lib/commands/LATENCY_RESET.js.map | 1 + .../@redis/client/dist/lib/commands/LCS.d.ts | 17 + .../client/dist/lib/commands/LCS.d.ts.map | 1 + .../@redis/client/dist/lib/commands/LCS.js | 19 + .../client/dist/lib/commands/LCS.js.map | 1 + .../client/dist/lib/commands/LCS_IDX.d.ts | 45 + .../client/dist/lib/commands/LCS_IDX.d.ts.map | 1 + .../client/dist/lib/commands/LCS_IDX.js | 33 + .../client/dist/lib/commands/LCS_IDX.js.map | 1 + .../lib/commands/LCS_IDX_WITHMATCHLEN.d.ts | 36 + .../commands/LCS_IDX_WITHMATCHLEN.d.ts.map | 1 + .../dist/lib/commands/LCS_IDX_WITHMATCHLEN.js | 28 + .../lib/commands/LCS_IDX_WITHMATCHLEN.js.map | 1 + .../client/dist/lib/commands/LCS_LEN.d.ts | 14 + .../client/dist/lib/commands/LCS_LEN.d.ts.map | 1 + .../client/dist/lib/commands/LCS_LEN.js | 22 + .../client/dist/lib/commands/LCS_LEN.js.map | 1 + .../client/dist/lib/commands/LINDEX.d.ts | 18 + .../client/dist/lib/commands/LINDEX.d.ts.map | 1 + .../@redis/client/dist/lib/commands/LINDEX.js | 21 + .../client/dist/lib/commands/LINDEX.js.map | 1 + .../client/dist/lib/commands/LINSERT.d.ts | 20 + .../client/dist/lib/commands/LINSERT.d.ts.map | 1 + .../client/dist/lib/commands/LINSERT.js | 22 + .../client/dist/lib/commands/LINSERT.js.map | 1 + .../@redis/client/dist/lib/commands/LLEN.d.ts | 17 + .../client/dist/lib/commands/LLEN.d.ts.map | 1 + .../@redis/client/dist/lib/commands/LLEN.js | 19 + .../client/dist/lib/commands/LLEN.js.map | 1 + .../client/dist/lib/commands/LMOVE.d.ts | 20 + .../client/dist/lib/commands/LMOVE.d.ts.map | 1 + .../@redis/client/dist/lib/commands/LMOVE.js | 22 + .../client/dist/lib/commands/LMOVE.js.map | 1 + .../client/dist/lib/commands/LMPOP.d.ts | 25 + .../client/dist/lib/commands/LMPOP.d.ts.map | 1 + .../@redis/client/dist/lib/commands/LMPOP.js | 27 + .../client/dist/lib/commands/LMPOP.js.map | 1 + .../client/dist/lib/commands/LOLWUT.d.ts | 18 + .../client/dist/lib/commands/LOLWUT.d.ts.map | 1 + .../@redis/client/dist/lib/commands/LOLWUT.js | 23 + .../client/dist/lib/commands/LOLWUT.js.map | 1 + .../@redis/client/dist/lib/commands/LPOP.d.ts | 15 + .../client/dist/lib/commands/LPOP.d.ts.map | 1 + .../@redis/client/dist/lib/commands/LPOP.js | 17 + .../client/dist/lib/commands/LPOP.js.map | 1 + .../client/dist/lib/commands/LPOP_COUNT.d.ts | 17 + .../dist/lib/commands/LPOP_COUNT.d.ts.map | 1 + .../client/dist/lib/commands/LPOP_COUNT.js | 23 + .../dist/lib/commands/LPOP_COUNT.js.map | 1 + .../@redis/client/dist/lib/commands/LPOS.d.ts | 23 + .../client/dist/lib/commands/LPOS.d.ts.map | 1 + .../@redis/client/dist/lib/commands/LPOS.js | 28 + .../client/dist/lib/commands/LPOS.js.map | 1 + .../client/dist/lib/commands/LPOS_COUNT.d.ts | 21 + .../dist/lib/commands/LPOS_COUNT.d.ts.map | 1 + .../client/dist/lib/commands/LPOS_COUNT.js | 26 + .../dist/lib/commands/LPOS_COUNT.js.map | 1 + .../client/dist/lib/commands/LPUSH.d.ts | 17 + .../client/dist/lib/commands/LPUSH.d.ts.map | 1 + .../@redis/client/dist/lib/commands/LPUSH.js | 19 + .../client/dist/lib/commands/LPUSH.js.map | 1 + .../client/dist/lib/commands/LPUSHX.d.ts | 17 + .../client/dist/lib/commands/LPUSHX.d.ts.map | 1 + .../@redis/client/dist/lib/commands/LPUSHX.js | 19 + .../client/dist/lib/commands/LPUSHX.js.map | 1 + .../client/dist/lib/commands/LRANGE.d.ts | 19 + .../client/dist/lib/commands/LRANGE.d.ts.map | 1 + .../@redis/client/dist/lib/commands/LRANGE.js | 22 + .../client/dist/lib/commands/LRANGE.js.map | 1 + .../@redis/client/dist/lib/commands/LREM.d.ts | 18 + .../client/dist/lib/commands/LREM.d.ts.map | 1 + .../@redis/client/dist/lib/commands/LREM.js | 22 + .../client/dist/lib/commands/LREM.js.map | 1 + .../@redis/client/dist/lib/commands/LSET.d.ts | 18 + .../client/dist/lib/commands/LSET.d.ts.map | 1 + .../@redis/client/dist/lib/commands/LSET.js | 21 + .../client/dist/lib/commands/LSET.js.map | 1 + .../client/dist/lib/commands/LTRIM.d.ts | 17 + .../client/dist/lib/commands/LTRIM.d.ts.map | 1 + .../@redis/client/dist/lib/commands/LTRIM.js | 20 + .../client/dist/lib/commands/LTRIM.js.map | 1 + .../dist/lib/commands/MEMORY_DOCTOR.d.ts | 16 + .../dist/lib/commands/MEMORY_DOCTOR.d.ts.map | 1 + .../client/dist/lib/commands/MEMORY_DOCTOR.js | 17 + .../dist/lib/commands/MEMORY_DOCTOR.js.map | 1 + .../lib/commands/MEMORY_MALLOC-STATS.d.ts | 16 + .../lib/commands/MEMORY_MALLOC-STATS.d.ts.map | 1 + .../dist/lib/commands/MEMORY_MALLOC-STATS.js | 17 + .../lib/commands/MEMORY_MALLOC-STATS.js.map | 1 + .../dist/lib/commands/MEMORY_PURGE.d.ts | 16 + .../dist/lib/commands/MEMORY_PURGE.d.ts.map | 1 + .../client/dist/lib/commands/MEMORY_PURGE.js | 17 + .../dist/lib/commands/MEMORY_PURGE.js.map | 1 + .../dist/lib/commands/MEMORY_STATS.d.ts | 131 + .../dist/lib/commands/MEMORY_STATS.d.ts.map | 1 + .../client/dist/lib/commands/MEMORY_STATS.js | 39 + .../dist/lib/commands/MEMORY_STATS.js.map | 1 + .../dist/lib/commands/MEMORY_USAGE.d.ts | 20 + .../dist/lib/commands/MEMORY_USAGE.d.ts.map | 1 + .../client/dist/lib/commands/MEMORY_USAGE.js | 22 + .../dist/lib/commands/MEMORY_USAGE.js.map | 1 + .../@redis/client/dist/lib/commands/MGET.d.ts | 17 + .../client/dist/lib/commands/MGET.d.ts.map | 1 + .../@redis/client/dist/lib/commands/MGET.js | 19 + .../client/dist/lib/commands/MGET.js.map | 1 + .../client/dist/lib/commands/MIGRATE.d.ts | 27 + .../client/dist/lib/commands/MIGRATE.d.ts.map | 1 + .../client/dist/lib/commands/MIGRATE.js | 48 + .../client/dist/lib/commands/MIGRATE.js.map | 1 + .../client/dist/lib/commands/MODULE_LIST.d.ts | 32 + .../dist/lib/commands/MODULE_LIST.d.ts.map | 1 + .../client/dist/lib/commands/MODULE_LIST.js | 28 + .../dist/lib/commands/MODULE_LIST.js.map | 1 + .../client/dist/lib/commands/MODULE_LOAD.d.ts | 18 + .../dist/lib/commands/MODULE_LOAD.d.ts.map | 1 + .../client/dist/lib/commands/MODULE_LOAD.js | 22 + .../dist/lib/commands/MODULE_LOAD.js.map | 1 + .../dist/lib/commands/MODULE_UNLOAD.d.ts | 17 + .../dist/lib/commands/MODULE_UNLOAD.d.ts.map | 1 + .../client/dist/lib/commands/MODULE_UNLOAD.js | 18 + .../dist/lib/commands/MODULE_UNLOAD.js.map | 1 + .../@redis/client/dist/lib/commands/MOVE.d.ts | 16 + .../client/dist/lib/commands/MOVE.d.ts.map | 1 + .../@redis/client/dist/lib/commands/MOVE.js | 19 + .../client/dist/lib/commands/MOVE.js.map | 1 + .../@redis/client/dist/lib/commands/MSET.d.ts | 18 + .../client/dist/lib/commands/MSET.d.ts.map | 1 + .../@redis/client/dist/lib/commands/MSET.js | 46 + .../client/dist/lib/commands/MSET.js.map | 1 + .../client/dist/lib/commands/MSETEX.d.ts | 73 + .../client/dist/lib/commands/MSETEX.d.ts.map | 1 + .../@redis/client/dist/lib/commands/MSETEX.js | 104 + .../client/dist/lib/commands/MSETEX.js.map | 1 + .../client/dist/lib/commands/MSETNX.d.ts | 17 + .../client/dist/lib/commands/MSETNX.d.ts.map | 1 + .../@redis/client/dist/lib/commands/MSETNX.js | 19 + .../client/dist/lib/commands/MSETNX.js.map | 1 + .../dist/lib/commands/OBJECT_ENCODING.d.ts | 16 + .../lib/commands/OBJECT_ENCODING.d.ts.map | 1 + .../dist/lib/commands/OBJECT_ENCODING.js | 18 + .../dist/lib/commands/OBJECT_ENCODING.js.map | 1 + .../client/dist/lib/commands/OBJECT_FREQ.d.ts | 16 + .../dist/lib/commands/OBJECT_FREQ.d.ts.map | 1 + .../client/dist/lib/commands/OBJECT_FREQ.js | 18 + .../dist/lib/commands/OBJECT_FREQ.js.map | 1 + .../dist/lib/commands/OBJECT_IDLETIME.d.ts | 16 + .../lib/commands/OBJECT_IDLETIME.d.ts.map | 1 + .../dist/lib/commands/OBJECT_IDLETIME.js | 18 + .../dist/lib/commands/OBJECT_IDLETIME.js.map | 1 + .../dist/lib/commands/OBJECT_REFCOUNT.d.ts | 16 + .../lib/commands/OBJECT_REFCOUNT.d.ts.map | 1 + .../dist/lib/commands/OBJECT_REFCOUNT.js | 18 + .../dist/lib/commands/OBJECT_REFCOUNT.js.map | 1 + .../client/dist/lib/commands/PERSIST.d.ts | 15 + .../client/dist/lib/commands/PERSIST.d.ts.map | 1 + .../client/dist/lib/commands/PERSIST.js | 17 + .../client/dist/lib/commands/PERSIST.js.map | 1 + .../client/dist/lib/commands/PEXPIRE.d.ts | 18 + .../client/dist/lib/commands/PEXPIRE.d.ts.map | 1 + .../client/dist/lib/commands/PEXPIRE.js | 24 + .../client/dist/lib/commands/PEXPIRE.js.map | 1 + .../client/dist/lib/commands/PEXPIREAT.d.ts | 18 + .../dist/lib/commands/PEXPIREAT.d.ts.map | 1 + .../client/dist/lib/commands/PEXPIREAT.js | 25 + .../client/dist/lib/commands/PEXPIREAT.js.map | 1 + .../client/dist/lib/commands/PEXPIRETIME.d.ts | 16 + .../dist/lib/commands/PEXPIRETIME.d.ts.map | 1 + .../client/dist/lib/commands/PEXPIRETIME.js | 18 + .../dist/lib/commands/PEXPIRETIME.js.map | 1 + .../client/dist/lib/commands/PFADD.d.ts | 18 + .../client/dist/lib/commands/PFADD.d.ts.map | 1 + .../@redis/client/dist/lib/commands/PFADD.js | 22 + .../client/dist/lib/commands/PFADD.js.map | 1 + .../client/dist/lib/commands/PFCOUNT.d.ts | 17 + .../client/dist/lib/commands/PFCOUNT.d.ts.map | 1 + .../client/dist/lib/commands/PFCOUNT.js | 18 + .../client/dist/lib/commands/PFCOUNT.js.map | 1 + .../client/dist/lib/commands/PFMERGE.d.ts | 17 + .../client/dist/lib/commands/PFMERGE.d.ts.map | 1 + .../client/dist/lib/commands/PFMERGE.js | 21 + .../client/dist/lib/commands/PFMERGE.js.map | 1 + .../@redis/client/dist/lib/commands/PING.d.ts | 17 + .../client/dist/lib/commands/PING.d.ts.map | 1 + .../@redis/client/dist/lib/commands/PING.js | 21 + .../client/dist/lib/commands/PING.js.map | 1 + .../client/dist/lib/commands/PSETEX.d.ts | 17 + .../client/dist/lib/commands/PSETEX.d.ts.map | 1 + .../@redis/client/dist/lib/commands/PSETEX.js | 20 + .../client/dist/lib/commands/PSETEX.js.map | 1 + .../@redis/client/dist/lib/commands/PTTL.d.ts | 16 + .../client/dist/lib/commands/PTTL.d.ts.map | 1 + .../@redis/client/dist/lib/commands/PTTL.js | 18 + .../client/dist/lib/commands/PTTL.js.map | 1 + .../client/dist/lib/commands/PUBLISH.d.ts | 19 + .../client/dist/lib/commands/PUBLISH.d.ts.map | 1 + .../client/dist/lib/commands/PUBLISH.js | 20 + .../client/dist/lib/commands/PUBLISH.js.map | 1 + .../dist/lib/commands/PUBSUB_CHANNELS.d.ts | 17 + .../lib/commands/PUBSUB_CHANNELS.d.ts.map | 1 + .../dist/lib/commands/PUBSUB_CHANNELS.js | 21 + .../dist/lib/commands/PUBSUB_CHANNELS.js.map | 1 + .../dist/lib/commands/PUBSUB_NUMPAT.d.ts | 16 + .../dist/lib/commands/PUBSUB_NUMPAT.d.ts.map | 1 + .../client/dist/lib/commands/PUBSUB_NUMPAT.js | 17 + .../dist/lib/commands/PUBSUB_NUMPAT.js.map | 1 + .../dist/lib/commands/PUBSUB_NUMSUB.d.ts | 24 + .../dist/lib/commands/PUBSUB_NUMSUB.d.ts.map | 1 + .../client/dist/lib/commands/PUBSUB_NUMSUB.js | 34 + .../dist/lib/commands/PUBSUB_NUMSUB.js.map | 1 + .../lib/commands/PUBSUB_SHARDCHANNELS.d.ts | 17 + .../commands/PUBSUB_SHARDCHANNELS.d.ts.map | 1 + .../dist/lib/commands/PUBSUB_SHARDCHANNELS.js | 21 + .../lib/commands/PUBSUB_SHARDCHANNELS.js.map | 1 + .../dist/lib/commands/PUBSUB_SHARDNUMSUB.d.ts | 23 + .../lib/commands/PUBSUB_SHARDNUMSUB.d.ts.map | 1 + .../dist/lib/commands/PUBSUB_SHARDNUMSUB.js | 32 + .../lib/commands/PUBSUB_SHARDNUMSUB.js.map | 1 + .../client/dist/lib/commands/RANDOMKEY.d.ts | 16 + .../dist/lib/commands/RANDOMKEY.d.ts.map | 1 + .../client/dist/lib/commands/RANDOMKEY.js | 17 + .../client/dist/lib/commands/RANDOMKEY.js.map | 1 + .../client/dist/lib/commands/READONLY.d.ts | 16 + .../dist/lib/commands/READONLY.d.ts.map | 1 + .../client/dist/lib/commands/READONLY.js | 17 + .../client/dist/lib/commands/READONLY.js.map | 1 + .../client/dist/lib/commands/READWRITE.d.ts | 16 + .../dist/lib/commands/READWRITE.d.ts.map | 1 + .../client/dist/lib/commands/READWRITE.js | 17 + .../client/dist/lib/commands/READWRITE.js.map | 1 + .../client/dist/lib/commands/RENAME.d.ts | 17 + .../client/dist/lib/commands/RENAME.d.ts.map | 1 + .../@redis/client/dist/lib/commands/RENAME.js | 19 + .../client/dist/lib/commands/RENAME.js.map | 1 + .../client/dist/lib/commands/RENAMENX.d.ts | 17 + .../dist/lib/commands/RENAMENX.d.ts.map | 1 + .../client/dist/lib/commands/RENAMENX.js | 19 + .../client/dist/lib/commands/RENAMENX.js.map | 1 + .../client/dist/lib/commands/REPLICAOF.d.ts | 18 + .../dist/lib/commands/REPLICAOF.d.ts.map | 1 + .../client/dist/lib/commands/REPLICAOF.js | 19 + .../client/dist/lib/commands/REPLICAOF.js.map | 1 + .../dist/lib/commands/RESTORE-ASKING.d.ts | 16 + .../dist/lib/commands/RESTORE-ASKING.d.ts.map | 1 + .../dist/lib/commands/RESTORE-ASKING.js | 17 + .../dist/lib/commands/RESTORE-ASKING.js.map | 1 + .../client/dist/lib/commands/RESTORE.d.ts | 33 + .../client/dist/lib/commands/RESTORE.d.ts.map | 1 + .../client/dist/lib/commands/RESTORE.js | 34 + .../client/dist/lib/commands/RESTORE.js.map | 1 + .../@redis/client/dist/lib/commands/ROLE.d.ts | 82 + .../client/dist/lib/commands/ROLE.d.ts.map | 1 + .../@redis/client/dist/lib/commands/ROLE.js | 60 + .../client/dist/lib/commands/ROLE.js.map | 1 + .../@redis/client/dist/lib/commands/RPOP.d.ts | 15 + .../client/dist/lib/commands/RPOP.d.ts.map | 1 + .../@redis/client/dist/lib/commands/RPOP.js | 17 + .../client/dist/lib/commands/RPOP.js.map | 1 + .../client/dist/lib/commands/RPOPLPUSH.d.ts | 16 + .../dist/lib/commands/RPOPLPUSH.d.ts.map | 1 + .../client/dist/lib/commands/RPOPLPUSH.js | 18 + .../client/dist/lib/commands/RPOPLPUSH.js.map | 1 + .../client/dist/lib/commands/RPOP_COUNT.d.ts | 16 + .../dist/lib/commands/RPOP_COUNT.d.ts.map | 1 + .../client/dist/lib/commands/RPOP_COUNT.js | 19 + .../dist/lib/commands/RPOP_COUNT.js.map | 1 + .../client/dist/lib/commands/RPUSH.d.ts | 17 + .../client/dist/lib/commands/RPUSH.d.ts.map | 1 + .../@redis/client/dist/lib/commands/RPUSH.js | 19 + .../client/dist/lib/commands/RPUSH.js.map | 1 + .../client/dist/lib/commands/RPUSHX.d.ts | 17 + .../client/dist/lib/commands/RPUSHX.d.ts.map | 1 + .../@redis/client/dist/lib/commands/RPUSHX.js | 19 + .../client/dist/lib/commands/RPUSHX.js.map | 1 + .../@redis/client/dist/lib/commands/SADD.d.ts | 17 + .../client/dist/lib/commands/SADD.d.ts.map | 1 + .../@redis/client/dist/lib/commands/SADD.js | 19 + .../client/dist/lib/commands/SADD.js.map | 1 + .../@redis/client/dist/lib/commands/SAVE.d.ts | 16 + .../client/dist/lib/commands/SAVE.d.ts.map | 1 + .../@redis/client/dist/lib/commands/SAVE.js | 17 + .../client/dist/lib/commands/SAVE.js.map | 1 + .../@redis/client/dist/lib/commands/SCAN.d.ts | 62 + .../client/dist/lib/commands/SCAN.d.ts.map | 1 + .../@redis/client/dist/lib/commands/SCAN.js | 71 + .../client/dist/lib/commands/SCAN.js.map | 1 + .../client/dist/lib/commands/SCARD.d.ts | 17 + .../client/dist/lib/commands/SCARD.d.ts.map | 1 + .../@redis/client/dist/lib/commands/SCARD.js | 19 + .../client/dist/lib/commands/SCARD.js.map | 1 + .../dist/lib/commands/SCRIPT_DEBUG.d.ts | 17 + .../dist/lib/commands/SCRIPT_DEBUG.d.ts.map | 1 + .../client/dist/lib/commands/SCRIPT_DEBUG.js | 18 + .../dist/lib/commands/SCRIPT_DEBUG.js.map | 1 + .../dist/lib/commands/SCRIPT_EXISTS.d.ts | 18 + .../dist/lib/commands/SCRIPT_EXISTS.d.ts.map | 1 + .../client/dist/lib/commands/SCRIPT_EXISTS.js | 19 + .../dist/lib/commands/SCRIPT_EXISTS.js.map | 1 + .../dist/lib/commands/SCRIPT_FLUSH.d.ts | 17 + .../dist/lib/commands/SCRIPT_FLUSH.d.ts.map | 1 + .../client/dist/lib/commands/SCRIPT_FLUSH.js | 21 + .../dist/lib/commands/SCRIPT_FLUSH.js.map | 1 + .../client/dist/lib/commands/SCRIPT_KILL.d.ts | 16 + .../dist/lib/commands/SCRIPT_KILL.d.ts.map | 1 + .../client/dist/lib/commands/SCRIPT_KILL.js | 17 + .../dist/lib/commands/SCRIPT_KILL.js.map | 1 + .../client/dist/lib/commands/SCRIPT_LOAD.d.ts | 17 + .../dist/lib/commands/SCRIPT_LOAD.d.ts.map | 1 + .../client/dist/lib/commands/SCRIPT_LOAD.js | 18 + .../dist/lib/commands/SCRIPT_LOAD.js.map | 1 + .../client/dist/lib/commands/SDIFF.d.ts | 18 + .../client/dist/lib/commands/SDIFF.d.ts.map | 1 + .../@redis/client/dist/lib/commands/SDIFF.js | 19 + .../client/dist/lib/commands/SDIFF.js.map | 1 + .../client/dist/lib/commands/SDIFFSTORE.d.ts | 17 + .../dist/lib/commands/SDIFFSTORE.d.ts.map | 1 + .../client/dist/lib/commands/SDIFFSTORE.js | 19 + .../dist/lib/commands/SDIFFSTORE.js.map | 1 + .../@redis/client/dist/lib/commands/SET.d.ts | 71 + .../client/dist/lib/commands/SET.d.ts.map | 1 + .../@redis/client/dist/lib/commands/SET.js | 61 + .../client/dist/lib/commands/SET.js.map | 1 + .../client/dist/lib/commands/SETBIT.d.ts | 19 + .../client/dist/lib/commands/SETBIT.d.ts.map | 1 + .../@redis/client/dist/lib/commands/SETBIT.js | 21 + .../client/dist/lib/commands/SETBIT.js.map | 1 + .../client/dist/lib/commands/SETEX.d.ts | 17 + .../client/dist/lib/commands/SETEX.d.ts.map | 1 + .../@redis/client/dist/lib/commands/SETEX.js | 20 + .../client/dist/lib/commands/SETEX.js.map | 1 + .../client/dist/lib/commands/SETNX.d.ts | 16 + .../client/dist/lib/commands/SETNX.d.ts.map | 1 + .../@redis/client/dist/lib/commands/SETNX.js | 19 + .../client/dist/lib/commands/SETNX.js.map | 1 + .../client/dist/lib/commands/SETRANGE.d.ts | 17 + .../dist/lib/commands/SETRANGE.d.ts.map | 1 + .../client/dist/lib/commands/SETRANGE.js | 20 + .../client/dist/lib/commands/SETRANGE.js.map | 1 + .../client/dist/lib/commands/SHUTDOWN.d.ts | 31 + .../dist/lib/commands/SHUTDOWN.d.ts.map | 1 + .../client/dist/lib/commands/SHUTDOWN.js | 30 + .../client/dist/lib/commands/SHUTDOWN.js.map | 1 + .../client/dist/lib/commands/SINTER.d.ts | 18 + .../client/dist/lib/commands/SINTER.d.ts.map | 1 + .../@redis/client/dist/lib/commands/SINTER.js | 19 + .../client/dist/lib/commands/SINTER.js.map | 1 + .../client/dist/lib/commands/SINTERCARD.d.ts | 26 + .../dist/lib/commands/SINTERCARD.d.ts.map | 1 + .../client/dist/lib/commands/SINTERCARD.js | 25 + .../dist/lib/commands/SINTERCARD.js.map | 1 + .../client/dist/lib/commands/SINTERSTORE.d.ts | 18 + .../dist/lib/commands/SINTERSTORE.d.ts.map | 1 + .../client/dist/lib/commands/SINTERSTORE.js | 20 + .../dist/lib/commands/SINTERSTORE.js.map | 1 + .../client/dist/lib/commands/SISMEMBER.d.ts | 18 + .../dist/lib/commands/SISMEMBER.d.ts.map | 1 + .../client/dist/lib/commands/SISMEMBER.js | 21 + .../client/dist/lib/commands/SISMEMBER.js.map | 1 + .../client/dist/lib/commands/SMEMBERS.d.ts | 20 + .../dist/lib/commands/SMEMBERS.d.ts.map | 1 + .../client/dist/lib/commands/SMEMBERS.js | 22 + .../client/dist/lib/commands/SMEMBERS.js.map | 1 + .../client/dist/lib/commands/SMISMEMBER.d.ts | 18 + .../dist/lib/commands/SMISMEMBER.d.ts.map | 1 + .../client/dist/lib/commands/SMISMEMBER.js | 21 + .../dist/lib/commands/SMISMEMBER.js.map | 1 + .../client/dist/lib/commands/SMOVE.d.ts | 18 + .../client/dist/lib/commands/SMOVE.d.ts.map | 1 + .../@redis/client/dist/lib/commands/SMOVE.js | 21 + .../client/dist/lib/commands/SMOVE.js.map | 1 + .../@redis/client/dist/lib/commands/SORT.d.ts | 44 + .../client/dist/lib/commands/SORT.d.ts.map | 1 + .../@redis/client/dist/lib/commands/SORT.js | 53 + .../client/dist/lib/commands/SORT.js.map | 1 + .../client/dist/lib/commands/SORT_RO.d.ts | 11 + .../client/dist/lib/commands/SORT_RO.d.ts.map | 1 + .../client/dist/lib/commands/SORT_RO.js | 40 + .../client/dist/lib/commands/SORT_RO.js.map | 1 + .../client/dist/lib/commands/SORT_STORE.d.ts | 17 + .../dist/lib/commands/SORT_STORE.d.ts.map | 1 + .../client/dist/lib/commands/SORT_STORE.js | 22 + .../dist/lib/commands/SORT_STORE.js.map | 1 + .../@redis/client/dist/lib/commands/SPOP.d.ts | 16 + .../client/dist/lib/commands/SPOP.d.ts.map | 1 + .../@redis/client/dist/lib/commands/SPOP.js | 18 + .../client/dist/lib/commands/SPOP.js.map | 1 + .../client/dist/lib/commands/SPOP_COUNT.d.ts | 17 + .../dist/lib/commands/SPOP_COUNT.d.ts.map | 1 + .../client/dist/lib/commands/SPOP_COUNT.js | 20 + .../dist/lib/commands/SPOP_COUNT.js.map | 1 + .../client/dist/lib/commands/SPUBLISH.d.ts | 17 + .../dist/lib/commands/SPUBLISH.d.ts.map | 1 + .../client/dist/lib/commands/SPUBLISH.js | 20 + .../client/dist/lib/commands/SPUBLISH.js.map | 1 + .../client/dist/lib/commands/SRANDMEMBER.d.ts | 16 + .../dist/lib/commands/SRANDMEMBER.d.ts.map | 1 + .../client/dist/lib/commands/SRANDMEMBER.js | 18 + .../dist/lib/commands/SRANDMEMBER.js.map | 1 + .../dist/lib/commands/SRANDMEMBER_COUNT.d.ts | 17 + .../lib/commands/SRANDMEMBER_COUNT.d.ts.map | 1 + .../dist/lib/commands/SRANDMEMBER_COUNT.js | 23 + .../lib/commands/SRANDMEMBER_COUNT.js.map | 1 + .../@redis/client/dist/lib/commands/SREM.d.ts | 19 + .../client/dist/lib/commands/SREM.d.ts.map | 1 + .../@redis/client/dist/lib/commands/SREM.js | 21 + .../client/dist/lib/commands/SREM.js.map | 1 + .../client/dist/lib/commands/SSCAN.d.ts | 30 + .../client/dist/lib/commands/SSCAN.d.ts.map | 1 + .../@redis/client/dist/lib/commands/SSCAN.js | 35 + .../client/dist/lib/commands/SSCAN.js.map | 1 + .../client/dist/lib/commands/STRLEN.d.ts | 18 + .../client/dist/lib/commands/STRLEN.d.ts.map | 1 + .../@redis/client/dist/lib/commands/STRLEN.js | 20 + .../client/dist/lib/commands/STRLEN.js.map | 1 + .../client/dist/lib/commands/SUNION.d.ts | 19 + .../client/dist/lib/commands/SUNION.d.ts.map | 1 + .../@redis/client/dist/lib/commands/SUNION.js | 20 + .../client/dist/lib/commands/SUNION.js.map | 1 + .../client/dist/lib/commands/SUNIONSTORE.d.ts | 19 + .../dist/lib/commands/SUNIONSTORE.d.ts.map | 1 + .../client/dist/lib/commands/SUNIONSTORE.js | 21 + .../dist/lib/commands/SUNIONSTORE.js.map | 1 + .../client/dist/lib/commands/SWAPDB.d.ts | 16 + .../client/dist/lib/commands/SWAPDB.d.ts.map | 1 + .../@redis/client/dist/lib/commands/SWAPDB.js | 17 + .../client/dist/lib/commands/SWAPDB.js.map | 1 + .../@redis/client/dist/lib/commands/TIME.d.ts | 20 + .../client/dist/lib/commands/TIME.d.ts.map | 1 + .../@redis/client/dist/lib/commands/TIME.js | 18 + .../client/dist/lib/commands/TIME.js.map | 1 + .../client/dist/lib/commands/TOUCH.d.ts | 18 + .../client/dist/lib/commands/TOUCH.d.ts.map | 1 + .../@redis/client/dist/lib/commands/TOUCH.js | 19 + .../client/dist/lib/commands/TOUCH.js.map | 1 + .../@redis/client/dist/lib/commands/TTL.d.ts | 17 + .../client/dist/lib/commands/TTL.d.ts.map | 1 + .../@redis/client/dist/lib/commands/TTL.js | 19 + .../client/dist/lib/commands/TTL.js.map | 1 + .../@redis/client/dist/lib/commands/TYPE.d.ts | 18 + .../client/dist/lib/commands/TYPE.d.ts.map | 1 + .../@redis/client/dist/lib/commands/TYPE.js | 20 + .../client/dist/lib/commands/TYPE.js.map | 1 + .../client/dist/lib/commands/UNLINK.d.ts | 18 + .../client/dist/lib/commands/UNLINK.d.ts.map | 1 + .../@redis/client/dist/lib/commands/UNLINK.js | 19 + .../client/dist/lib/commands/UNLINK.js.map | 1 + .../@redis/client/dist/lib/commands/VADD.d.ts | 29 + .../client/dist/lib/commands/VADD.d.ts.map | 1 + .../@redis/client/dist/lib/commands/VADD.js | 42 + .../client/dist/lib/commands/VADD.js.map | 1 + .../client/dist/lib/commands/VCARD.d.ts | 16 + .../client/dist/lib/commands/VCARD.d.ts.map | 1 + .../@redis/client/dist/lib/commands/VCARD.js | 18 + .../client/dist/lib/commands/VCARD.js.map | 1 + .../@redis/client/dist/lib/commands/VDIM.d.ts | 16 + .../client/dist/lib/commands/VDIM.d.ts.map | 1 + .../@redis/client/dist/lib/commands/VDIM.js | 18 + .../client/dist/lib/commands/VDIM.js.map | 1 + .../@redis/client/dist/lib/commands/VEMB.d.ts | 20 + .../client/dist/lib/commands/VEMB.d.ts.map | 1 + .../@redis/client/dist/lib/commands/VEMB.js | 21 + .../client/dist/lib/commands/VEMB.js.map | 1 + .../client/dist/lib/commands/VEMB_RAW.d.ts | 26 + .../dist/lib/commands/VEMB_RAW.d.ts.map | 1 + .../client/dist/lib/commands/VEMB_RAW.js | 42 + .../client/dist/lib/commands/VEMB_RAW.js.map | 1 + .../client/dist/lib/commands/VGETATTR.d.ts | 18 + .../dist/lib/commands/VGETATTR.d.ts.map | 1 + .../client/dist/lib/commands/VGETATTR.js | 21 + .../client/dist/lib/commands/VGETATTR.js.map | 1 + .../client/dist/lib/commands/VINFO.d.ts | 45 + .../client/dist/lib/commands/VINFO.d.ts.map | 1 + .../@redis/client/dist/lib/commands/VINFO.js | 27 + .../client/dist/lib/commands/VINFO.js.map | 1 + .../client/dist/lib/commands/VLINKS.d.ts | 17 + .../client/dist/lib/commands/VLINKS.d.ts.map | 1 + .../@redis/client/dist/lib/commands/VLINKS.js | 20 + .../client/dist/lib/commands/VLINKS.js.map | 1 + .../dist/lib/commands/VLINKS_WITHSCORES.d.ts | 17 + .../lib/commands/VLINKS_WITHSCORES.d.ts.map | 1 + .../dist/lib/commands/VLINKS_WITHSCORES.js | 39 + .../lib/commands/VLINKS_WITHSCORES.js.map | 1 + .../client/dist/lib/commands/VRANDMEMBER.d.ts | 17 + .../dist/lib/commands/VRANDMEMBER.d.ts.map | 1 + .../client/dist/lib/commands/VRANDMEMBER.js | 22 + .../dist/lib/commands/VRANDMEMBER.js.map | 1 + .../client/dist/lib/commands/VRANGE.d.ts | 25 + .../client/dist/lib/commands/VRANGE.d.ts.map | 1 + .../@redis/client/dist/lib/commands/VRANGE.js | 31 + .../client/dist/lib/commands/VRANGE.js.map | 1 + .../@redis/client/dist/lib/commands/VREM.d.ts | 19 + .../client/dist/lib/commands/VREM.d.ts.map | 1 + .../@redis/client/dist/lib/commands/VREM.js | 20 + .../client/dist/lib/commands/VREM.js.map | 1 + .../client/dist/lib/commands/VSETATTR.d.ts | 20 + .../dist/lib/commands/VSETATTR.d.ts.map | 1 + .../client/dist/lib/commands/VSETATTR.js | 27 + .../client/dist/lib/commands/VSETATTR.js.map | 1 + .../@redis/client/dist/lib/commands/VSIM.d.ts | 27 + .../client/dist/lib/commands/VSIM.d.ts.map | 1 + .../@redis/client/dist/lib/commands/VSIM.js | 51 + .../client/dist/lib/commands/VSIM.js.map | 1 + .../dist/lib/commands/VSIM_WITHSCORES.d.ts | 16 + .../lib/commands/VSIM_WITHSCORES.d.ts.map | 1 + .../dist/lib/commands/VSIM_WITHSCORES.js | 32 + .../dist/lib/commands/VSIM_WITHSCORES.js.map | 1 + .../@redis/client/dist/lib/commands/WAIT.d.ts | 19 + .../client/dist/lib/commands/WAIT.d.ts.map | 1 + .../@redis/client/dist/lib/commands/WAIT.js | 20 + .../client/dist/lib/commands/WAIT.js.map | 1 + .../@redis/client/dist/lib/commands/XACK.d.ts | 20 + .../client/dist/lib/commands/XACK.d.ts.map | 1 + .../@redis/client/dist/lib/commands/XACK.js | 23 + .../client/dist/lib/commands/XACK.js.map | 1 + .../client/dist/lib/commands/XACKDEL.d.ts | 25 + .../client/dist/lib/commands/XACKDEL.d.ts.map | 1 + .../client/dist/lib/commands/XACKDEL.js | 31 + .../client/dist/lib/commands/XACKDEL.js.map | 1 + .../@redis/client/dist/lib/commands/XADD.d.ts | 69 + .../client/dist/lib/commands/XADD.d.ts.map | 1 + .../@redis/client/dist/lib/commands/XADD.js | 71 + .../client/dist/lib/commands/XADD.js.map | 1 + .../dist/lib/commands/XADD_NOMKSTREAM.d.ts | 18 + .../lib/commands/XADD_NOMKSTREAM.d.ts.map | 1 + .../dist/lib/commands/XADD_NOMKSTREAM.js | 21 + .../dist/lib/commands/XADD_NOMKSTREAM.js.map | 1 + .../client/dist/lib/commands/XAUTOCLAIM.d.ts | 55 + .../dist/lib/commands/XAUTOCLAIM.d.ts.map | 1 + .../client/dist/lib/commands/XAUTOCLAIM.js | 43 + .../dist/lib/commands/XAUTOCLAIM.js.map | 1 + .../dist/lib/commands/XAUTOCLAIM_JUSTID.d.ts | 25 + .../lib/commands/XAUTOCLAIM_JUSTID.d.ts.map | 1 + .../dist/lib/commands/XAUTOCLAIM_JUSTID.js | 35 + .../lib/commands/XAUTOCLAIM_JUSTID.js.map | 1 + .../client/dist/lib/commands/XCFGSET.d.ts | 46 + .../client/dist/lib/commands/XCFGSET.d.ts.map | 1 + .../client/dist/lib/commands/XCFGSET.js | 28 + .../client/dist/lib/commands/XCFGSET.js.map | 1 + .../client/dist/lib/commands/XCLAIM.d.ts | 47 + .../client/dist/lib/commands/XCLAIM.d.ts.map | 1 + .../@redis/client/dist/lib/commands/XCLAIM.js | 52 + .../client/dist/lib/commands/XCLAIM.js.map | 1 + .../dist/lib/commands/XCLAIM_JUSTID.d.ts | 23 + .../dist/lib/commands/XCLAIM_JUSTID.d.ts.map | 1 + .../client/dist/lib/commands/XCLAIM_JUSTID.js | 31 + .../dist/lib/commands/XCLAIM_JUSTID.js.map | 1 + .../@redis/client/dist/lib/commands/XDEL.d.ts | 22 + .../client/dist/lib/commands/XDEL.d.ts.map | 1 + .../@redis/client/dist/lib/commands/XDEL.js | 24 + .../client/dist/lib/commands/XDEL.js.map | 1 + .../client/dist/lib/commands/XDELEX.d.ts | 24 + .../client/dist/lib/commands/XDELEX.d.ts.map | 1 + .../@redis/client/dist/lib/commands/XDELEX.js | 29 + .../client/dist/lib/commands/XDELEX.js.map | 1 + .../dist/lib/commands/XGROUP_CREATE.d.ts | 33 + .../dist/lib/commands/XGROUP_CREATE.d.ts.map | 1 + .../client/dist/lib/commands/XGROUP_CREATE.js | 29 + .../dist/lib/commands/XGROUP_CREATE.js.map | 1 + .../lib/commands/XGROUP_CREATECONSUMER.d.ts | 22 + .../commands/XGROUP_CREATECONSUMER.d.ts.map | 1 + .../lib/commands/XGROUP_CREATECONSUMER.js | 25 + .../lib/commands/XGROUP_CREATECONSUMER.js.map | 1 + .../dist/lib/commands/XGROUP_DELCONSUMER.d.ts | 22 + .../lib/commands/XGROUP_DELCONSUMER.d.ts.map | 1 + .../dist/lib/commands/XGROUP_DELCONSUMER.js | 25 + .../lib/commands/XGROUP_DELCONSUMER.js.map | 1 + .../dist/lib/commands/XGROUP_DESTROY.d.ts | 21 + .../dist/lib/commands/XGROUP_DESTROY.d.ts.map | 1 + .../dist/lib/commands/XGROUP_DESTROY.js | 24 + .../dist/lib/commands/XGROUP_DESTROY.js.map | 1 + .../dist/lib/commands/XGROUP_SETID.d.ts | 29 + .../dist/lib/commands/XGROUP_SETID.d.ts.map | 1 + .../client/dist/lib/commands/XGROUP_SETID.js | 26 + .../dist/lib/commands/XGROUP_SETID.js.map | 1 + .../dist/lib/commands/XINFO_CONSUMERS.d.ts | 59 + .../lib/commands/XINFO_CONSUMERS.d.ts.map | 1 + .../dist/lib/commands/XINFO_CONSUMERS.js | 40 + .../dist/lib/commands/XINFO_CONSUMERS.js.map | 1 + .../dist/lib/commands/XINFO_GROUPS.d.ts | 70 + .../dist/lib/commands/XINFO_GROUPS.d.ts.map | 1 + .../client/dist/lib/commands/XINFO_GROUPS.js | 46 + .../dist/lib/commands/XINFO_GROUPS.js.map | 1 + .../dist/lib/commands/XINFO_STREAM.d.ts | 155 + .../dist/lib/commands/XINFO_STREAM.d.ts.map | 1 + .../client/dist/lib/commands/XINFO_STREAM.js | 72 + .../dist/lib/commands/XINFO_STREAM.js.map | 1 + .../@redis/client/dist/lib/commands/XLEN.d.ts | 21 + .../client/dist/lib/commands/XLEN.d.ts.map | 1 + .../@redis/client/dist/lib/commands/XLEN.js | 23 + .../client/dist/lib/commands/XLEN.js.map | 1 + .../client/dist/lib/commands/XPENDING.d.ts | 33 + .../dist/lib/commands/XPENDING.d.ts.map | 1 + .../client/dist/lib/commands/XPENDING.js | 42 + .../client/dist/lib/commands/XPENDING.js.map | 1 + .../dist/lib/commands/XPENDING_RANGE.d.ts | 58 + .../dist/lib/commands/XPENDING_RANGE.d.ts.map | 1 + .../dist/lib/commands/XPENDING_RANGE.js | 49 + .../dist/lib/commands/XPENDING_RANGE.js.map | 1 + .../client/dist/lib/commands/XRANGE.d.ts | 45 + .../client/dist/lib/commands/XRANGE.d.ts.map | 1 + .../@redis/client/dist/lib/commands/XRANGE.js | 50 + .../client/dist/lib/commands/XRANGE.js.map | 1 + .../client/dist/lib/commands/XREAD.d.ts | 54 + .../client/dist/lib/commands/XREAD.d.ts.map | 1 + .../@redis/client/dist/lib/commands/XREAD.js | 57 + .../client/dist/lib/commands/XREAD.js.map | 1 + .../client/dist/lib/commands/XREADGROUP.d.ts | 42 + .../dist/lib/commands/XREADGROUP.d.ts.map | 1 + .../client/dist/lib/commands/XREADGROUP.js | 42 + .../dist/lib/commands/XREADGROUP.js.map | 1 + .../client/dist/lib/commands/XREVRANGE.d.ts | 30 + .../dist/lib/commands/XREVRANGE.d.ts.map | 1 + .../client/dist/lib/commands/XREVRANGE.js | 49 + .../client/dist/lib/commands/XREVRANGE.js.map | 1 + .../client/dist/lib/commands/XSETID.d.ts | 15 + .../client/dist/lib/commands/XSETID.d.ts.map | 1 + .../@redis/client/dist/lib/commands/XSETID.js | 18 + .../client/dist/lib/commands/XSETID.js.map | 1 + .../client/dist/lib/commands/XTRIM.d.ts | 38 + .../client/dist/lib/commands/XTRIM.d.ts.map | 1 + .../@redis/client/dist/lib/commands/XTRIM.js | 36 + .../client/dist/lib/commands/XTRIM.js.map | 1 + .../@redis/client/dist/lib/commands/ZADD.d.ts | 56 + .../client/dist/lib/commands/ZADD.d.ts.map | 1 + .../@redis/client/dist/lib/commands/ZADD.js | 73 + .../client/dist/lib/commands/ZADD.js.map | 1 + .../client/dist/lib/commands/ZADD_INCR.d.ts | 37 + .../dist/lib/commands/ZADD_INCR.d.ts.map | 1 + .../client/dist/lib/commands/ZADD_INCR.js | 36 + .../client/dist/lib/commands/ZADD_INCR.js.map | 1 + .../client/dist/lib/commands/ZCARD.d.ts | 21 + .../client/dist/lib/commands/ZCARD.d.ts.map | 1 + .../@redis/client/dist/lib/commands/ZCARD.js | 23 + .../client/dist/lib/commands/ZCARD.js.map | 1 + .../client/dist/lib/commands/ZCOUNT.d.ts | 17 + .../client/dist/lib/commands/ZCOUNT.d.ts.map | 1 + .../@redis/client/dist/lib/commands/ZCOUNT.js | 21 + .../client/dist/lib/commands/ZCOUNT.js.map | 1 + .../client/dist/lib/commands/ZDIFF.d.ts | 15 + .../client/dist/lib/commands/ZDIFF.d.ts.map | 1 + .../@redis/client/dist/lib/commands/ZDIFF.js | 16 + .../client/dist/lib/commands/ZDIFF.js.map | 1 + .../client/dist/lib/commands/ZDIFFSTORE.d.ts | 16 + .../dist/lib/commands/ZDIFFSTORE.d.ts.map | 1 + .../client/dist/lib/commands/ZDIFFSTORE.js | 18 + .../dist/lib/commands/ZDIFFSTORE.js.map | 1 + .../dist/lib/commands/ZDIFF_WITHSCORES.d.ts | 23 + .../lib/commands/ZDIFF_WITHSCORES.d.ts.map | 1 + .../dist/lib/commands/ZDIFF_WITHSCORES.js | 21 + .../dist/lib/commands/ZDIFF_WITHSCORES.js.map | 1 + .../client/dist/lib/commands/ZINCRBY.d.ts | 18 + .../client/dist/lib/commands/ZINCRBY.d.ts.map | 1 + .../client/dist/lib/commands/ZINCRBY.js | 19 + .../client/dist/lib/commands/ZINCRBY.js.map | 1 + .../client/dist/lib/commands/ZINTER.d.ts | 26 + .../client/dist/lib/commands/ZINTER.d.ts.map | 1 + .../@redis/client/dist/lib/commands/ZINTER.js | 26 + .../client/dist/lib/commands/ZINTER.js.map | 1 + .../client/dist/lib/commands/ZINTERCARD.d.ts | 19 + .../dist/lib/commands/ZINTERCARD.d.ts.map | 1 + .../client/dist/lib/commands/ZINTERCARD.js | 24 + .../dist/lib/commands/ZINTERCARD.js.map | 1 + .../client/dist/lib/commands/ZINTERSTORE.d.ts | 18 + .../dist/lib/commands/ZINTERSTORE.d.ts.map | 1 + .../client/dist/lib/commands/ZINTERSTORE.js | 20 + .../dist/lib/commands/ZINTERSTORE.js.map | 1 + .../dist/lib/commands/ZINTER_WITHSCORES.d.ts | 20 + .../lib/commands/ZINTER_WITHSCORES.d.ts.map | 1 + .../dist/lib/commands/ZINTER_WITHSCORES.js | 20 + .../lib/commands/ZINTER_WITHSCORES.js.map | 1 + .../client/dist/lib/commands/ZLEXCOUNT.d.ts | 17 + .../dist/lib/commands/ZLEXCOUNT.d.ts.map | 1 + .../client/dist/lib/commands/ZLEXCOUNT.js | 21 + .../client/dist/lib/commands/ZLEXCOUNT.js.map | 1 + .../client/dist/lib/commands/ZMPOP.d.ts | 44 + .../client/dist/lib/commands/ZMPOP.d.ts.map | 1 + .../@redis/client/dist/lib/commands/ZMPOP.js | 47 + .../client/dist/lib/commands/ZMPOP.js.map | 1 + .../client/dist/lib/commands/ZMSCORE.d.ts | 20 + .../client/dist/lib/commands/ZMSCORE.d.ts.map | 1 + .../client/dist/lib/commands/ZMSCORE.js | 25 + .../client/dist/lib/commands/ZMSCORE.js.map | 1 + .../client/dist/lib/commands/ZPOPMAX.d.ts | 23 + .../client/dist/lib/commands/ZPOPMAX.d.ts.map | 1 + .../client/dist/lib/commands/ZPOPMAX.js | 34 + .../client/dist/lib/commands/ZPOPMAX.js.map | 1 + .../dist/lib/commands/ZPOPMAX_COUNT.d.ts | 24 + .../dist/lib/commands/ZPOPMAX_COUNT.d.ts.map | 1 + .../client/dist/lib/commands/ZPOPMAX_COUNT.js | 19 + .../dist/lib/commands/ZPOPMAX_COUNT.js.map | 1 + .../client/dist/lib/commands/ZPOPMIN.d.ts | 23 + .../client/dist/lib/commands/ZPOPMIN.d.ts.map | 1 + .../client/dist/lib/commands/ZPOPMIN.js | 20 + .../client/dist/lib/commands/ZPOPMIN.js.map | 1 + .../dist/lib/commands/ZPOPMIN_COUNT.d.ts | 24 + .../dist/lib/commands/ZPOPMIN_COUNT.d.ts.map | 1 + .../client/dist/lib/commands/ZPOPMIN_COUNT.js | 19 + .../dist/lib/commands/ZPOPMIN_COUNT.js.map | 1 + .../client/dist/lib/commands/ZRANDMEMBER.d.ts | 14 + .../dist/lib/commands/ZRANDMEMBER.d.ts.map | 1 + .../client/dist/lib/commands/ZRANDMEMBER.js | 16 + .../dist/lib/commands/ZRANDMEMBER.js.map | 1 + .../dist/lib/commands/ZRANDMEMBER_COUNT.d.ts | 15 + .../lib/commands/ZRANDMEMBER_COUNT.d.ts.map | 1 + .../dist/lib/commands/ZRANDMEMBER_COUNT.js | 21 + .../lib/commands/ZRANDMEMBER_COUNT.js.map | 1 + .../ZRANDMEMBER_COUNT_WITHSCORES.d.ts | 24 + .../ZRANDMEMBER_COUNT_WITHSCORES.d.ts.map | 1 + .../commands/ZRANDMEMBER_COUNT_WITHSCORES.js | 22 + .../ZRANDMEMBER_COUNT_WITHSCORES.js.map | 1 + .../client/dist/lib/commands/ZRANGE.d.ts | 27 + .../client/dist/lib/commands/ZRANGE.d.ts.map | 1 + .../@redis/client/dist/lib/commands/ZRANGE.js | 45 + .../client/dist/lib/commands/ZRANGE.js.map | 1 + .../client/dist/lib/commands/ZRANGEBYLEX.d.ts | 24 + .../dist/lib/commands/ZRANGEBYLEX.d.ts.map | 1 + .../client/dist/lib/commands/ZRANGEBYLEX.js | 25 + .../dist/lib/commands/ZRANGEBYLEX.js.map | 1 + .../dist/lib/commands/ZRANGEBYSCORE.d.ts | 25 + .../dist/lib/commands/ZRANGEBYSCORE.d.ts.map | 1 + .../client/dist/lib/commands/ZRANGEBYSCORE.js | 25 + .../dist/lib/commands/ZRANGEBYSCORE.js.map | 1 + .../commands/ZRANGEBYSCORE_WITHSCORES.d.ts | 21 + .../ZRANGEBYSCORE_WITHSCORES.d.ts.map | 1 + .../lib/commands/ZRANGEBYSCORE_WITHSCORES.js | 22 + .../commands/ZRANGEBYSCORE_WITHSCORES.js.map | 1 + .../client/dist/lib/commands/ZRANGESTORE.d.ts | 26 + .../dist/lib/commands/ZRANGESTORE.d.ts.map | 1 + .../client/dist/lib/commands/ZRANGESTORE.js | 37 + .../dist/lib/commands/ZRANGESTORE.js.map | 1 + .../dist/lib/commands/ZRANGE_WITHSCORES.d.ts | 21 + .../lib/commands/ZRANGE_WITHSCORES.d.ts.map | 1 + .../dist/lib/commands/ZRANGE_WITHSCORES.js | 22 + .../lib/commands/ZRANGE_WITHSCORES.js.map | 1 + .../client/dist/lib/commands/ZRANK.d.ts | 16 + .../client/dist/lib/commands/ZRANK.d.ts.map | 1 + .../@redis/client/dist/lib/commands/ZRANK.js | 19 + .../client/dist/lib/commands/ZRANK.js.map | 1 + .../dist/lib/commands/ZRANK_WITHSCORE.d.ts | 22 + .../lib/commands/ZRANK_WITHSCORE.d.ts.map | 1 + .../dist/lib/commands/ZRANK_WITHSCORE.js | 38 + .../dist/lib/commands/ZRANK_WITHSCORE.js.map | 1 + .../@redis/client/dist/lib/commands/ZREM.d.ts | 16 + .../client/dist/lib/commands/ZREM.d.ts.map | 1 + .../@redis/client/dist/lib/commands/ZREM.js | 18 + .../client/dist/lib/commands/ZREM.js.map | 1 + .../dist/lib/commands/ZREMRANGEBYLEX.d.ts | 16 + .../dist/lib/commands/ZREMRANGEBYLEX.d.ts.map | 1 + .../dist/lib/commands/ZREMRANGEBYLEX.js | 20 + .../dist/lib/commands/ZREMRANGEBYLEX.js.map | 1 + .../dist/lib/commands/ZREMRANGEBYRANK.d.ts | 16 + .../lib/commands/ZREMRANGEBYRANK.d.ts.map | 1 + .../dist/lib/commands/ZREMRANGEBYRANK.js | 19 + .../dist/lib/commands/ZREMRANGEBYRANK.js.map | 1 + .../dist/lib/commands/ZREMRANGEBYSCORE.d.ts | 16 + .../lib/commands/ZREMRANGEBYSCORE.d.ts.map | 1 + .../dist/lib/commands/ZREMRANGEBYSCORE.js | 20 + .../dist/lib/commands/ZREMRANGEBYSCORE.js.map | 1 + .../client/dist/lib/commands/ZREVRANK.d.ts | 16 + .../dist/lib/commands/ZREVRANK.d.ts.map | 1 + .../client/dist/lib/commands/ZREVRANK.js | 19 + .../client/dist/lib/commands/ZREVRANK.js.map | 1 + .../client/dist/lib/commands/ZSCAN.d.ts | 27 + .../client/dist/lib/commands/ZSCAN.d.ts.map | 1 + .../@redis/client/dist/lib/commands/ZSCAN.js | 26 + .../client/dist/lib/commands/ZSCAN.js.map | 1 + .../client/dist/lib/commands/ZSCORE.d.ts | 19 + .../client/dist/lib/commands/ZSCORE.d.ts.map | 1 + .../@redis/client/dist/lib/commands/ZSCORE.js | 20 + .../client/dist/lib/commands/ZSCORE.js.map | 1 + .../client/dist/lib/commands/ZUNION.d.ts | 19 + .../client/dist/lib/commands/ZUNION.d.ts.map | 1 + .../@redis/client/dist/lib/commands/ZUNION.js | 21 + .../client/dist/lib/commands/ZUNION.js.map | 1 + .../client/dist/lib/commands/ZUNIONSTORE.d.ts | 20 + .../dist/lib/commands/ZUNIONSTORE.d.ts.map | 1 + .../client/dist/lib/commands/ZUNIONSTORE.js | 23 + .../dist/lib/commands/ZUNIONSTORE.js.map | 1 + .../dist/lib/commands/ZUNION_WITHSCORES.d.ts | 20 + .../lib/commands/ZUNION_WITHSCORES.d.ts.map | 1 + .../dist/lib/commands/ZUNION_WITHSCORES.js | 21 + .../lib/commands/ZUNION_WITHSCORES.js.map | 1 + .../lib/commands/common-stream.types.d.ts | 24 + .../lib/commands/common-stream.types.d.ts.map | 1 + .../dist/lib/commands/common-stream.types.js | 25 + .../lib/commands/common-stream.types.js.map | 1 + .../lib/commands/generic-transformers.d.ts | 213 + .../commands/generic-transformers.d.ts.map | 1 + .../dist/lib/commands/generic-transformers.js | 489 + .../lib/commands/generic-transformers.js.map | 1 + .../client/dist/lib/commands/index.d.ts | 9997 +++++++++++++++++ .../client/dist/lib/commands/index.d.ts.map | 1 + .../@redis/client/dist/lib/commands/index.js | 1161 ++ .../client/dist/lib/commands/index.js.map | 1 + .../@redis/client/dist/lib/errors.d.ts | 53 + .../@redis/client/dist/lib/errors.d.ts.map | 1 + .../@redis/client/dist/lib/errors.js | 107 + .../@redis/client/dist/lib/errors.js.map | 1 + .../@redis/client/dist/lib/lua-script.d.ts | 12 + .../client/dist/lib/lua-script.d.ts.map | 1 + .../@redis/client/dist/lib/lua-script.js | 16 + .../@redis/client/dist/lib/lua-script.js.map | 1 + .../@redis/client/dist/lib/multi-command.d.ts | 26 + .../client/dist/lib/multi-command.d.ts.map | 1 + .../@redis/client/dist/lib/multi-command.js | 48 + .../client/dist/lib/multi-command.js.map | 1 + .../sentinel/commands/SENTINEL_MASTER.d.ts | 16 + .../commands/SENTINEL_MASTER.d.ts.map | 1 + .../lib/sentinel/commands/SENTINEL_MASTER.js | 18 + .../sentinel/commands/SENTINEL_MASTER.js.map | 1 + .../sentinel/commands/SENTINEL_MONITOR.d.ts | 16 + .../commands/SENTINEL_MONITOR.d.ts.map | 1 + .../lib/sentinel/commands/SENTINEL_MONITOR.js | 17 + .../sentinel/commands/SENTINEL_MONITOR.js.map | 1 + .../sentinel/commands/SENTINEL_REPLICAS.d.ts | 16 + .../commands/SENTINEL_REPLICAS.d.ts.map | 1 + .../sentinel/commands/SENTINEL_REPLICAS.js | 25 + .../commands/SENTINEL_REPLICAS.js.map | 1 + .../sentinel/commands/SENTINEL_SENTINELS.d.ts | 16 + .../commands/SENTINEL_SENTINELS.d.ts.map | 1 + .../sentinel/commands/SENTINEL_SENTINELS.js | 25 + .../commands/SENTINEL_SENTINELS.js.map | 1 + .../lib/sentinel/commands/SENTINEL_SET.d.ts | 18 + .../sentinel/commands/SENTINEL_SET.d.ts.map | 1 + .../lib/sentinel/commands/SENTINEL_SET.js | 18 + .../lib/sentinel/commands/SENTINEL_SET.js.map | 1 + .../dist/lib/sentinel/commands/index.d.ts | 62 + .../dist/lib/sentinel/commands/index.d.ts.map | 1 + .../dist/lib/sentinel/commands/index.js | 23 + .../dist/lib/sentinel/commands/index.js.map | 1 + .../client/dist/lib/sentinel/index.d.ts | 225 + .../client/dist/lib/sentinel/index.d.ts.map | 1 + .../@redis/client/dist/lib/sentinel/index.js | 1184 ++ .../client/dist/lib/sentinel/index.js.map | 1 + .../client/dist/lib/sentinel/module.d.ts | 64 + .../client/dist/lib/sentinel/module.d.ts.map | 1 + .../@redis/client/dist/lib/sentinel/module.js | 10 + .../client/dist/lib/sentinel/module.js.map | 1 + .../dist/lib/sentinel/multi-commands.d.ts | 43 + .../dist/lib/sentinel/multi-commands.d.ts.map | 1 + .../dist/lib/sentinel/multi-commands.js | 103 + .../dist/lib/sentinel/multi-commands.js.map | 1 + .../dist/lib/sentinel/pub-sub-proxy.d.ts | 18 + .../dist/lib/sentinel/pub-sub-proxy.d.ts.map | 1 + .../client/dist/lib/sentinel/pub-sub-proxy.js | 142 + .../dist/lib/sentinel/pub-sub-proxy.js.map | 1 + .../client/dist/lib/sentinel/types.d.ts | 157 + .../client/dist/lib/sentinel/types.d.ts.map | 1 + .../@redis/client/dist/lib/sentinel/types.js | 3 + .../client/dist/lib/sentinel/types.js.map | 1 + .../client/dist/lib/sentinel/utils.d.ts | 21 + .../client/dist/lib/sentinel/utils.d.ts.map | 1 + .../@redis/client/dist/lib/sentinel/utils.js | 98 + .../client/dist/lib/sentinel/utils.js.map | 1 + .../client/dist/lib/sentinel/wait-queue.d.ts | 7 + .../dist/lib/sentinel/wait-queue.d.ts.map | 1 + .../client/dist/lib/sentinel/wait-queue.js | 24 + .../dist/lib/sentinel/wait-queue.js.map | 1 + .../client/dist/lib/single-entry-cache.d.ts | 16 + .../dist/lib/single-entry-cache.d.ts.map | 1 + .../client/dist/lib/single-entry-cache.js | 38 + .../client/dist/lib/single-entry-cache.js.map | 1 + .../@redis/client/dist/lib/utils/digest.d.ts | 13 + .../client/dist/lib/utils/digest.d.ts.map | 1 + .../@redis/client/dist/lib/utils/digest.js | 34 + .../client/dist/lib/utils/digest.js.map | 1 + .../@redis/client/dist/package.json | 46 + back/node_modules/@redis/client/package.json | 46 + back/node_modules/@redis/json/README.md | 76 + .../json/dist/lib/commands/ARRAPPEND.d.ts | 20 + .../json/dist/lib/commands/ARRAPPEND.d.ts.map | 1 + .../json/dist/lib/commands/ARRAPPEND.js | 26 + .../json/dist/lib/commands/ARRAPPEND.js.map | 1 + .../json/dist/lib/commands/ARRINDEX.d.ts | 28 + .../json/dist/lib/commands/ARRINDEX.d.ts.map | 1 + .../@redis/json/dist/lib/commands/ARRINDEX.js | 31 + .../json/dist/lib/commands/ARRINDEX.js.map | 1 + .../json/dist/lib/commands/ARRINSERT.d.ts | 21 + .../json/dist/lib/commands/ARRINSERT.d.ts.map | 1 + .../json/dist/lib/commands/ARRINSERT.js | 27 + .../json/dist/lib/commands/ARRINSERT.js.map | 1 + .../@redis/json/dist/lib/commands/ARRLEN.d.ts | 21 + .../json/dist/lib/commands/ARRLEN.d.ts.map | 1 + .../@redis/json/dist/lib/commands/ARRLEN.js | 23 + .../json/dist/lib/commands/ARRLEN.js.map | 1 + .../@redis/json/dist/lib/commands/ARRPOP.d.ts | 26 + .../json/dist/lib/commands/ARRPOP.d.ts.map | 1 + .../@redis/json/dist/lib/commands/ARRPOP.js | 32 + .../json/dist/lib/commands/ARRPOP.js.map | 1 + .../json/dist/lib/commands/ARRTRIM.d.ts | 19 + .../json/dist/lib/commands/ARRTRIM.d.ts.map | 1 + .../@redis/json/dist/lib/commands/ARRTRIM.js | 22 + .../json/dist/lib/commands/ARRTRIM.js.map | 1 + .../@redis/json/dist/lib/commands/CLEAR.d.ts | 21 + .../json/dist/lib/commands/CLEAR.d.ts.map | 1 + .../@redis/json/dist/lib/commands/CLEAR.js | 23 + .../json/dist/lib/commands/CLEAR.js.map | 1 + .../json/dist/lib/commands/DEBUG_MEMORY.d.ts | 21 + .../dist/lib/commands/DEBUG_MEMORY.d.ts.map | 1 + .../json/dist/lib/commands/DEBUG_MEMORY.js | 23 + .../dist/lib/commands/DEBUG_MEMORY.js.map | 1 + .../@redis/json/dist/lib/commands/DEL.d.ts | 21 + .../json/dist/lib/commands/DEL.d.ts.map | 1 + .../@redis/json/dist/lib/commands/DEL.js | 23 + .../@redis/json/dist/lib/commands/DEL.js.map | 1 + .../@redis/json/dist/lib/commands/FORGET.d.ts | 21 + .../json/dist/lib/commands/FORGET.d.ts.map | 1 + .../@redis/json/dist/lib/commands/FORGET.js | 23 + .../json/dist/lib/commands/FORGET.js.map | 1 + .../@redis/json/dist/lib/commands/GET.d.ts | 22 + .../json/dist/lib/commands/GET.d.ts.map | 1 + .../@redis/json/dist/lib/commands/GET.js | 24 + .../@redis/json/dist/lib/commands/GET.js.map | 1 + .../@redis/json/dist/lib/commands/MERGE.d.ts | 19 + .../json/dist/lib/commands/MERGE.d.ts.map | 1 + .../@redis/json/dist/lib/commands/MERGE.js | 22 + .../json/dist/lib/commands/MERGE.js.map | 1 + .../@redis/json/dist/lib/commands/MGET.d.ts | 17 + .../json/dist/lib/commands/MGET.d.ts.map | 1 + .../@redis/json/dist/lib/commands/MGET.js | 23 + .../@redis/json/dist/lib/commands/MGET.js.map | 1 + .../@redis/json/dist/lib/commands/MSET.d.ts | 25 + .../json/dist/lib/commands/MSET.d.ts.map | 1 + .../@redis/json/dist/lib/commands/MSET.js | 25 + .../@redis/json/dist/lib/commands/MSET.js.map | 1 + .../json/dist/lib/commands/NUMINCRBY.d.ts | 21 + .../json/dist/lib/commands/NUMINCRBY.d.ts.map | 1 + .../json/dist/lib/commands/NUMINCRBY.js | 26 + .../json/dist/lib/commands/NUMINCRBY.js.map | 1 + .../json/dist/lib/commands/NUMMULTBY.d.ts | 21 + .../json/dist/lib/commands/NUMMULTBY.d.ts.map | 1 + .../json/dist/lib/commands/NUMMULTBY.js | 25 + .../json/dist/lib/commands/NUMMULTBY.js.map | 1 + .../json/dist/lib/commands/OBJKEYS.d.ts | 21 + .../json/dist/lib/commands/OBJKEYS.d.ts.map | 1 + .../@redis/json/dist/lib/commands/OBJKEYS.js | 23 + .../json/dist/lib/commands/OBJKEYS.js.map | 1 + .../@redis/json/dist/lib/commands/OBJLEN.d.ts | 21 + .../json/dist/lib/commands/OBJLEN.d.ts.map | 1 + .../@redis/json/dist/lib/commands/OBJLEN.js | 23 + .../json/dist/lib/commands/OBJLEN.js.map | 1 + .../@redis/json/dist/lib/commands/RESP.d.ts | 18 + .../json/dist/lib/commands/RESP.d.ts.map | 1 + .../@redis/json/dist/lib/commands/RESP.js | 22 + .../@redis/json/dist/lib/commands/RESP.js.map | 1 + .../@redis/json/dist/lib/commands/SET.d.ts | 34 + .../json/dist/lib/commands/SET.d.ts.map | 1 + .../@redis/json/dist/lib/commands/SET.js | 35 + .../@redis/json/dist/lib/commands/SET.js.map | 1 + .../json/dist/lib/commands/STRAPPEND.d.ts | 22 + .../json/dist/lib/commands/STRAPPEND.d.ts.map | 1 + .../json/dist/lib/commands/STRAPPEND.js | 26 + .../json/dist/lib/commands/STRAPPEND.js.map | 1 + .../@redis/json/dist/lib/commands/STRLEN.d.ts | 21 + .../json/dist/lib/commands/STRLEN.d.ts.map | 1 + .../@redis/json/dist/lib/commands/STRLEN.js | 23 + .../json/dist/lib/commands/STRLEN.js.map | 1 + .../@redis/json/dist/lib/commands/TOGGLE.d.ts | 17 + .../json/dist/lib/commands/TOGGLE.d.ts.map | 1 + .../@redis/json/dist/lib/commands/TOGGLE.js | 20 + .../json/dist/lib/commands/TOGGLE.js.map | 1 + .../@redis/json/dist/lib/commands/TYPE.d.ts | 24 + .../json/dist/lib/commands/TYPE.d.ts.map | 1 + .../@redis/json/dist/lib/commands/TYPE.js | 29 + .../@redis/json/dist/lib/commands/TYPE.js.map | 1 + .../@redis/json/dist/lib/commands/index.d.ts | 266 + .../json/dist/lib/commands/index.d.ts.map | 1 + .../@redis/json/dist/lib/commands/index.js | 91 + .../json/dist/lib/commands/index.js.map | 1 + .../@redis/json/dist/lib/index.d.ts | 3 + .../@redis/json/dist/lib/index.d.ts.map | 1 + .../@redis/json/dist/lib/index.js | 9 + .../@redis/json/dist/lib/index.js.map | 1 + back/node_modules/@redis/json/package.json | 36 + back/node_modules/@redis/search/README.md | 139 + .../search/dist/lib/commands/AGGREGATE.d.ts | 131 + .../dist/lib/commands/AGGREGATE.d.ts.map | 1 + .../search/dist/lib/commands/AGGREGATE.js | 212 + .../search/dist/lib/commands/AGGREGATE.js.map | 1 + .../lib/commands/AGGREGATE_WITHCURSOR.d.ts | 35 + .../commands/AGGREGATE_WITHCURSOR.d.ts.map | 1 + .../dist/lib/commands/AGGREGATE_WITHCURSOR.js | 40 + .../lib/commands/AGGREGATE_WITHCURSOR.js.map | 1 + .../search/dist/lib/commands/ALIASADD.d.ts | 16 + .../dist/lib/commands/ALIASADD.d.ts.map | 1 + .../search/dist/lib/commands/ALIASADD.js | 17 + .../search/dist/lib/commands/ALIASADD.js.map | 1 + .../search/dist/lib/commands/ALIASDEL.d.ts | 15 + .../dist/lib/commands/ALIASDEL.d.ts.map | 1 + .../search/dist/lib/commands/ALIASDEL.js | 16 + .../search/dist/lib/commands/ALIASDEL.js.map | 1 + .../search/dist/lib/commands/ALIASUPDATE.d.ts | 16 + .../dist/lib/commands/ALIASUPDATE.d.ts.map | 1 + .../search/dist/lib/commands/ALIASUPDATE.js | 17 + .../dist/lib/commands/ALIASUPDATE.js.map | 1 + .../search/dist/lib/commands/ALTER.d.ts | 17 + .../search/dist/lib/commands/ALTER.d.ts.map | 1 + .../@redis/search/dist/lib/commands/ALTER.js | 19 + .../search/dist/lib/commands/ALTER.js.map | 1 + .../search/dist/lib/commands/CONFIG_GET.d.ts | 15 + .../dist/lib/commands/CONFIG_GET.d.ts.map | 1 + .../search/dist/lib/commands/CONFIG_GET.js | 23 + .../dist/lib/commands/CONFIG_GET.js.map | 1 + .../search/dist/lib/commands/CONFIG_SET.d.ts | 18 + .../dist/lib/commands/CONFIG_SET.d.ts.map | 1 + .../search/dist/lib/commands/CONFIG_SET.js | 17 + .../dist/lib/commands/CONFIG_SET.js.map | 1 + .../search/dist/lib/commands/CREATE.d.ts | 201 + .../search/dist/lib/commands/CREATE.d.ts.map | 1 + .../@redis/search/dist/lib/commands/CREATE.js | 265 + .../search/dist/lib/commands/CREATE.js.map | 1 + .../search/dist/lib/commands/CURSOR_DEL.d.ts | 16 + .../dist/lib/commands/CURSOR_DEL.d.ts.map | 1 + .../search/dist/lib/commands/CURSOR_DEL.js | 17 + .../dist/lib/commands/CURSOR_DEL.js.map | 1 + .../search/dist/lib/commands/CURSOR_READ.d.ts | 25 + .../dist/lib/commands/CURSOR_READ.d.ts.map | 1 + .../search/dist/lib/commands/CURSOR_READ.js | 27 + .../dist/lib/commands/CURSOR_READ.js.map | 1 + .../search/dist/lib/commands/DICTADD.d.ts | 17 + .../search/dist/lib/commands/DICTADD.d.ts.map | 1 + .../search/dist/lib/commands/DICTADD.js | 18 + .../search/dist/lib/commands/DICTADD.js.map | 1 + .../search/dist/lib/commands/DICTDEL.d.ts | 17 + .../search/dist/lib/commands/DICTDEL.d.ts.map | 1 + .../search/dist/lib/commands/DICTDEL.js | 18 + .../search/dist/lib/commands/DICTDEL.js.map | 1 + .../search/dist/lib/commands/DICTDUMP.d.ts | 18 + .../dist/lib/commands/DICTDUMP.d.ts.map | 1 + .../search/dist/lib/commands/DICTDUMP.js | 19 + .../search/dist/lib/commands/DICTDUMP.js.map | 1 + .../search/dist/lib/commands/DROPINDEX.d.ts | 23 + .../dist/lib/commands/DROPINDEX.d.ts.map | 1 + .../search/dist/lib/commands/DROPINDEX.js | 24 + .../search/dist/lib/commands/DROPINDEX.js.map | 1 + .../search/dist/lib/commands/EXPLAIN.d.ts | 24 + .../search/dist/lib/commands/EXPLAIN.d.ts.map | 1 + .../search/dist/lib/commands/EXPLAIN.js | 29 + .../search/dist/lib/commands/EXPLAIN.js.map | 1 + .../search/dist/lib/commands/EXPLAINCLI.d.ts | 21 + .../dist/lib/commands/EXPLAINCLI.d.ts.map | 1 + .../search/dist/lib/commands/EXPLAINCLI.js | 26 + .../dist/lib/commands/EXPLAINCLI.js.map | 1 + .../search/dist/lib/commands/HYBRID.d.ts | 183 + .../search/dist/lib/commands/HYBRID.d.ts.map | 1 + .../@redis/search/dist/lib/commands/HYBRID.js | 273 + .../search/dist/lib/commands/HYBRID.js.map | 1 + .../@redis/search/dist/lib/commands/INFO.d.ts | 69 + .../search/dist/lib/commands/INFO.d.ts.map | 1 + .../@redis/search/dist/lib/commands/INFO.js | 106 + .../search/dist/lib/commands/INFO.js.map | 1 + .../dist/lib/commands/PROFILE_AGGREGATE.d.ts | 25 + .../lib/commands/PROFILE_AGGREGATE.d.ts.map | 1 + .../dist/lib/commands/PROFILE_AGGREGATE.js | 58 + .../lib/commands/PROFILE_AGGREGATE.js.map | 1 + .../dist/lib/commands/PROFILE_SEARCH.d.ts | 36 + .../dist/lib/commands/PROFILE_SEARCH.d.ts.map | 1 + .../dist/lib/commands/PROFILE_SEARCH.js | 58 + .../dist/lib/commands/PROFILE_SEARCH.js.map | 1 + .../search/dist/lib/commands/SEARCH.d.ts | 81 + .../search/dist/lib/commands/SEARCH.d.ts.map | 1 + .../@redis/search/dist/lib/commands/SEARCH.js | 160 + .../search/dist/lib/commands/SEARCH.js.map | 1 + .../dist/lib/commands/SEARCH_NOCONTENT.d.ts | 26 + .../lib/commands/SEARCH_NOCONTENT.d.ts.map | 1 + .../dist/lib/commands/SEARCH_NOCONTENT.js | 34 + .../dist/lib/commands/SEARCH_NOCONTENT.js.map | 1 + .../search/dist/lib/commands/SPELLCHECK.d.ts | 45 + .../dist/lib/commands/SPELLCHECK.d.ts.map | 1 + .../search/dist/lib/commands/SPELLCHECK.js | 56 + .../dist/lib/commands/SPELLCHECK.js.map | 1 + .../search/dist/lib/commands/SUGADD.d.ts | 23 + .../search/dist/lib/commands/SUGADD.d.ts.map | 1 + .../@redis/search/dist/lib/commands/SUGADD.js | 28 + .../search/dist/lib/commands/SUGADD.js.map | 1 + .../search/dist/lib/commands/SUGDEL.d.ts | 15 + .../search/dist/lib/commands/SUGDEL.d.ts.map | 1 + .../@redis/search/dist/lib/commands/SUGDEL.js | 18 + .../search/dist/lib/commands/SUGDEL.js.map | 1 + .../search/dist/lib/commands/SUGGET.d.ts | 22 + .../search/dist/lib/commands/SUGGET.d.ts.map | 1 + .../@redis/search/dist/lib/commands/SUGGET.js | 27 + .../search/dist/lib/commands/SUGGET.js.map | 1 + .../lib/commands/SUGGET_WITHPAYLOADS.d.ts | 19 + .../lib/commands/SUGGET_WITHPAYLOADS.d.ts.map | 1 + .../dist/lib/commands/SUGGET_WITHPAYLOADS.js | 36 + .../lib/commands/SUGGET_WITHPAYLOADS.js.map | 1 + .../dist/lib/commands/SUGGET_WITHSCORES.d.ts | 23 + .../lib/commands/SUGGET_WITHSCORES.d.ts.map | 1 + .../dist/lib/commands/SUGGET_WITHSCORES.js | 51 + .../lib/commands/SUGGET_WITHSCORES.js.map | 1 + .../SUGGET_WITHSCORES_WITHPAYLOADS.d.ts | 24 + .../SUGGET_WITHSCORES_WITHPAYLOADS.d.ts.map | 1 + .../SUGGET_WITHSCORES_WITHPAYLOADS.js | 53 + .../SUGGET_WITHSCORES_WITHPAYLOADS.js.map | 1 + .../search/dist/lib/commands/SUGLEN.d.ts | 14 + .../search/dist/lib/commands/SUGLEN.d.ts.map | 1 + .../@redis/search/dist/lib/commands/SUGLEN.js | 15 + .../search/dist/lib/commands/SUGLEN.js.map | 1 + .../search/dist/lib/commands/SYNDUMP.d.ts | 18 + .../search/dist/lib/commands/SYNDUMP.d.ts.map | 1 + .../search/dist/lib/commands/SYNDUMP.js | 27 + .../search/dist/lib/commands/SYNDUMP.js.map | 1 + .../search/dist/lib/commands/SYNUPDATE.d.ts | 23 + .../dist/lib/commands/SYNUPDATE.d.ts.map | 1 + .../search/dist/lib/commands/SYNUPDATE.js | 24 + .../search/dist/lib/commands/SYNUPDATE.js.map | 1 + .../search/dist/lib/commands/TAGVALS.d.ts | 19 + .../search/dist/lib/commands/TAGVALS.d.ts.map | 1 + .../search/dist/lib/commands/TAGVALS.js | 20 + .../search/dist/lib/commands/TAGVALS.js.map | 1 + .../search/dist/lib/commands/_LIST.d.ts | 17 + .../search/dist/lib/commands/_LIST.d.ts.map | 1 + .../@redis/search/dist/lib/commands/_LIST.js | 18 + .../search/dist/lib/commands/_LIST.js.map | 1 + .../search/dist/lib/commands/index.d.ts | 589 + .../search/dist/lib/commands/index.d.ts.map | 1 + .../@redis/search/dist/lib/commands/index.js | 125 + .../search/dist/lib/commands/index.js.map | 1 + .../search/dist/lib/dialect/default.d.ts | 2 + .../search/dist/lib/dialect/default.d.ts.map | 1 + .../@redis/search/dist/lib/dialect/default.js | 5 + .../search/dist/lib/dialect/default.js.map | 1 + .../@redis/search/dist/lib/index.d.ts | 7 + .../@redis/search/dist/lib/index.d.ts.map | 1 + .../@redis/search/dist/lib/index.js | 17 + .../@redis/search/dist/lib/index.js.map | 1 + back/node_modules/@redis/search/package.json | 37 + .../node_modules/@redis/time-series/README.md | 143 + .../time-series/dist/lib/commands/ADD.d.ts | 30 + .../dist/lib/commands/ADD.d.ts.map | 1 + .../time-series/dist/lib/commands/ADD.js | 29 + .../time-series/dist/lib/commands/ADD.js.map | 1 + .../time-series/dist/lib/commands/ALTER.d.ts | 17 + .../dist/lib/commands/ALTER.d.ts.map | 1 + .../time-series/dist/lib/commands/ALTER.js | 23 + .../dist/lib/commands/ALTER.js.map | 1 + .../time-series/dist/lib/commands/CREATE.d.ts | 25 + .../dist/lib/commands/CREATE.d.ts.map | 1 + .../time-series/dist/lib/commands/CREATE.js | 24 + .../dist/lib/commands/CREATE.js.map | 1 + .../dist/lib/commands/CREATERULE.d.ts | 42 + .../dist/lib/commands/CREATERULE.d.ts.map | 1 + .../dist/lib/commands/CREATERULE.js | 48 + .../dist/lib/commands/CREATERULE.js.map | 1 + .../time-series/dist/lib/commands/DECRBY.d.ts | 11 + .../dist/lib/commands/DECRBY.d.ts.map | 1 + .../time-series/dist/lib/commands/DECRBY.js | 40 + .../dist/lib/commands/DECRBY.js.map | 1 + .../time-series/dist/lib/commands/DEL.d.ts | 17 + .../dist/lib/commands/DEL.d.ts.map | 1 + .../time-series/dist/lib/commands/DEL.js | 20 + .../time-series/dist/lib/commands/DEL.js.map | 1 + .../dist/lib/commands/DELETERULE.d.ts | 15 + .../dist/lib/commands/DELETERULE.d.ts.map | 1 + .../dist/lib/commands/DELETERULE.js | 17 + .../dist/lib/commands/DELETERULE.js.map | 1 + .../time-series/dist/lib/commands/GET.d.ts | 28 + .../dist/lib/commands/GET.d.ts.map | 1 + .../time-series/dist/lib/commands/GET.js | 33 + .../time-series/dist/lib/commands/GET.js.map | 1 + .../time-series/dist/lib/commands/INCRBY.d.ts | 31 + .../dist/lib/commands/INCRBY.d.ts.map | 1 + .../time-series/dist/lib/commands/INCRBY.js | 40 + .../dist/lib/commands/INCRBY.js.map | 1 + .../time-series/dist/lib/commands/INFO.d.ts | 77 + .../dist/lib/commands/INFO.d.ts.map | 1 + .../time-series/dist/lib/commands/INFO.js | 58 + .../time-series/dist/lib/commands/INFO.js.map | 1 + .../dist/lib/commands/INFO_DEBUG.d.ts | 42 + .../dist/lib/commands/INFO_DEBUG.d.ts.map | 1 + .../dist/lib/commands/INFO_DEBUG.js | 46 + .../dist/lib/commands/INFO_DEBUG.js.map | 1 + .../time-series/dist/lib/commands/MADD.d.ts | 20 + .../dist/lib/commands/MADD.d.ts.map | 1 + .../time-series/dist/lib/commands/MADD.js | 20 + .../time-series/dist/lib/commands/MADD.js.map | 1 + .../time-series/dist/lib/commands/MGET.d.ts | 55 + .../dist/lib/commands/MGET.d.ts.map | 1 + .../time-series/dist/lib/commands/MGET.js | 57 + .../time-series/dist/lib/commands/MGET.js.map | 1 + .../lib/commands/MGET_SELECTED_LABELS.d.ts | 33 + .../commands/MGET_SELECTED_LABELS.d.ts.map | 1 + .../dist/lib/commands/MGET_SELECTED_LABELS.js | 23 + .../lib/commands/MGET_SELECTED_LABELS.js.map | 1 + .../dist/lib/commands/MGET_WITHLABELS.d.ts | 64 + .../lib/commands/MGET_WITHLABELS.d.ts.map | 1 + .../dist/lib/commands/MGET_WITHLABELS.js | 43 + .../dist/lib/commands/MGET_WITHLABELS.js.map | 1 + .../time-series/dist/lib/commands/MRANGE.d.ts | 45 + .../dist/lib/commands/MRANGE.d.ts.map | 1 + .../time-series/dist/lib/commands/MRANGE.js | 44 + .../dist/lib/commands/MRANGE.js.map | 1 + .../dist/lib/commands/MRANGE_GROUPBY.d.ts | 93 + .../dist/lib/commands/MRANGE_GROUPBY.d.ts.map | 1 + .../dist/lib/commands/MRANGE_GROUPBY.js | 96 + .../dist/lib/commands/MRANGE_GROUPBY.js.map | 1 + .../lib/commands/MRANGE_SELECTED_LABELS.d.ts | 54 + .../commands/MRANGE_SELECTED_LABELS.d.ts.map | 1 + .../lib/commands/MRANGE_SELECTED_LABELS.js | 51 + .../commands/MRANGE_SELECTED_LABELS.js.map | 1 + .../MRANGE_SELECTED_LABELS_GROUPBY.d.ts | 50 + .../MRANGE_SELECTED_LABELS_GROUPBY.d.ts.map | 1 + .../MRANGE_SELECTED_LABELS_GROUPBY.js | 52 + .../MRANGE_SELECTED_LABELS_GROUPBY.js.map | 1 + .../dist/lib/commands/MRANGE_WITHLABELS.d.ts | 54 + .../lib/commands/MRANGE_WITHLABELS.d.ts.map | 1 + .../dist/lib/commands/MRANGE_WITHLABELS.js | 59 + .../lib/commands/MRANGE_WITHLABELS.js.map | 1 + .../commands/MRANGE_WITHLABELS_GROUPBY.d.ts | 55 + .../MRANGE_WITHLABELS_GROUPBY.d.ts.map | 1 + .../lib/commands/MRANGE_WITHLABELS_GROUPBY.js | 52 + .../commands/MRANGE_WITHLABELS_GROUPBY.js.map | 1 + .../dist/lib/commands/MREVRANGE.d.ts | 25 + .../dist/lib/commands/MREVRANGE.d.ts.map | 1 + .../dist/lib/commands/MREVRANGE.js | 41 + .../dist/lib/commands/MREVRANGE.js.map | 1 + .../dist/lib/commands/MREVRANGE_GROUPBY.d.ts | 30 + .../lib/commands/MREVRANGE_GROUPBY.d.ts.map | 1 + .../dist/lib/commands/MREVRANGE_GROUPBY.js | 41 + .../lib/commands/MREVRANGE_GROUPBY.js.map | 1 + .../commands/MREVRANGE_SELECTED_LABELS.d.ts | 31 + .../MREVRANGE_SELECTED_LABELS.d.ts.map | 1 + .../lib/commands/MREVRANGE_SELECTED_LABELS.js | 41 + .../commands/MREVRANGE_SELECTED_LABELS.js.map | 1 + .../MREVRANGE_SELECTED_LABELS_GROUPBY.d.ts | 33 + ...MREVRANGE_SELECTED_LABELS_GROUPBY.d.ts.map | 1 + .../MREVRANGE_SELECTED_LABELS_GROUPBY.js | 42 + .../MREVRANGE_SELECTED_LABELS_GROUPBY.js.map | 1 + .../lib/commands/MREVRANGE_WITHLABELS.d.ts | 31 + .../commands/MREVRANGE_WITHLABELS.d.ts.map | 1 + .../dist/lib/commands/MREVRANGE_WITHLABELS.js | 41 + .../lib/commands/MREVRANGE_WITHLABELS.js.map | 1 + .../MREVRANGE_WITHLABELS_GROUPBY.d.ts | 34 + .../MREVRANGE_WITHLABELS_GROUPBY.d.ts.map | 1 + .../commands/MREVRANGE_WITHLABELS_GROUPBY.js | 41 + .../MREVRANGE_WITHLABELS_GROUPBY.js.map | 1 + .../dist/lib/commands/QUERYINDEX.d.ts | 19 + .../dist/lib/commands/QUERYINDEX.d.ts.map | 1 + .../dist/lib/commands/QUERYINDEX.js | 20 + .../dist/lib/commands/QUERYINDEX.js.map | 1 + .../time-series/dist/lib/commands/RANGE.d.ts | 49 + .../dist/lib/commands/RANGE.d.ts.map | 1 + .../time-series/dist/lib/commands/RANGE.js | 66 + .../dist/lib/commands/RANGE.js.map | 1 + .../dist/lib/commands/REVRANGE.d.ts | 20 + .../dist/lib/commands/REVRANGE.d.ts.map | 1 + .../time-series/dist/lib/commands/REVRANGE.js | 40 + .../dist/lib/commands/REVRANGE.js.map | 1 + .../dist/lib/commands/helpers.d.ts | 67 + .../dist/lib/commands/helpers.d.ts.map | 1 + .../time-series/dist/lib/commands/helpers.js | 237 + .../dist/lib/commands/helpers.js.map | 1 + .../time-series/dist/lib/commands/index.d.ts | 824 ++ .../dist/lib/commands/index.d.ts.map | 1 + .../time-series/dist/lib/commands/index.js | 113 + .../dist/lib/commands/index.js.map | 1 + .../@redis/time-series/dist/lib/index.d.ts | 5 + .../time-series/dist/lib/index.d.ts.map | 1 + .../@redis/time-series/dist/lib/index.js | 17 + .../@redis/time-series/dist/lib/index.js.map | 1 + .../@redis/time-series/package.json | 36 + .../node_modules}/accepts/HISTORY.md | 0 .../node_modules}/accepts/LICENSE | 0 .../node_modules}/accepts/README.md | 0 .../node_modules}/accepts/index.js | 0 .../node_modules}/accepts/package.json | 0 .../node_modules}/body-parser/LICENSE | 0 .../node_modules}/body-parser/README.md | 0 .../node_modules}/body-parser/index.js | 0 .../node_modules}/body-parser/lib/read.js | 0 .../body-parser/lib/types/json.js | 0 .../body-parser/lib/types/raw.js | 0 .../body-parser/lib/types/text.js | 0 .../body-parser/lib/types/urlencoded.js | 0 .../node_modules}/body-parser/lib/utils.js | 0 .../node_modules}/body-parser/package.json | 0 .../buffer-equal-constant-time/.npmignore | 2 + .../buffer-equal-constant-time/.travis.yml | 4 + .../buffer-equal-constant-time/LICENSE.txt | 12 + .../buffer-equal-constant-time/README.md | 50 + .../buffer-equal-constant-time/index.js | 41 + .../buffer-equal-constant-time/package.json | 21 + .../buffer-equal-constant-time/test.js | 42 + .../node_modules}/bytes/History.md | 0 .../node_modules}/bytes/LICENSE | 0 .../node_modules}/bytes/Readme.md | 0 .../node_modules}/bytes/index.js | 0 .../node_modules}/bytes/package.json | 0 .../call-bind-apply-helpers/.eslintrc | 0 .../.github/FUNDING.yml | 0 .../call-bind-apply-helpers/.nycrc | 0 .../call-bind-apply-helpers/CHANGELOG.md | 0 .../call-bind-apply-helpers/LICENSE | 0 .../call-bind-apply-helpers/README.md | 0 .../call-bind-apply-helpers/actualApply.d.ts | 0 .../call-bind-apply-helpers/actualApply.js | 0 .../call-bind-apply-helpers/applyBind.d.ts | 0 .../call-bind-apply-helpers/applyBind.js | 0 .../functionApply.d.ts | 0 .../call-bind-apply-helpers/functionApply.js | 0 .../call-bind-apply-helpers/functionCall.d.ts | 0 .../call-bind-apply-helpers/functionCall.js | 0 .../call-bind-apply-helpers/index.d.ts | 0 .../call-bind-apply-helpers/index.js | 0 .../call-bind-apply-helpers/package.json | 0 .../call-bind-apply-helpers/reflectApply.d.ts | 0 .../call-bind-apply-helpers/reflectApply.js | 0 .../call-bind-apply-helpers/test/index.js | 0 .../call-bind-apply-helpers/tsconfig.json | 0 .../node_modules}/call-bound/.eslintrc | 0 .../call-bound/.github/FUNDING.yml | 0 .../node_modules}/call-bound/.nycrc | 0 .../node_modules}/call-bound/CHANGELOG.md | 0 .../node_modules}/call-bound/LICENSE | 0 .../node_modules}/call-bound/README.md | 0 .../node_modules}/call-bound/index.d.ts | 0 .../node_modules}/call-bound/index.js | 0 .../node_modules}/call-bound/package.json | 0 .../node_modules}/call-bound/test/index.js | 0 .../node_modules}/call-bound/tsconfig.json | 0 back/node_modules/cluster-key-slot/.eslintrc | 16 + back/node_modules/cluster-key-slot/LICENSE | 13 + back/node_modules/cluster-key-slot/README.md | 61 + back/node_modules/cluster-key-slot/index.d.ts | 10 + .../cluster-key-slot/lib/index.js | 166 + .../cluster-key-slot/package.json | 56 + .../content-disposition/HISTORY.md | 0 .../node_modules}/content-disposition/LICENSE | 0 .../content-disposition/README.md | 0 .../content-disposition/index.js | 0 .../content-disposition/package.json | 0 .../node_modules}/content-type/HISTORY.md | 0 .../node_modules}/content-type/LICENSE | 0 .../node_modules}/content-type/README.md | 0 .../node_modules}/content-type/index.js | 0 .../node_modules}/content-type/package.json | 0 .../node_modules}/cookie-signature/History.md | 0 .../node_modules}/cookie-signature/LICENSE | 0 .../node_modules}/cookie-signature/Readme.md | 0 .../node_modules}/cookie-signature/index.js | 0 .../cookie-signature/package.json | 0 .../node_modules}/cookie/LICENSE | 0 .../node_modules}/cookie/README.md | 0 .../node_modules}/cookie/SECURITY.md | 0 .../node_modules}/cookie/index.js | 0 .../node_modules}/cookie/package.json | 0 .../node_modules}/debug/LICENSE | 0 .../node_modules}/debug/README.md | 0 .../node_modules}/debug/package.json | 0 .../node_modules}/debug/src/browser.js | 0 .../node_modules}/debug/src/common.js | 0 .../node_modules}/debug/src/index.js | 0 .../node_modules}/debug/src/node.js | 0 .../node_modules}/depd/History.md | 0 .../node_modules}/depd/LICENSE | 0 .../node_modules}/depd/Readme.md | 0 .../node_modules}/depd/index.js | 0 .../node_modules}/depd/lib/browser/index.js | 0 .../node_modules}/depd/package.json | 0 .../node_modules}/dunder-proto/.eslintrc | 0 .../dunder-proto/.github/FUNDING.yml | 0 .../node_modules}/dunder-proto/.nycrc | 0 .../node_modules}/dunder-proto/CHANGELOG.md | 0 .../node_modules}/dunder-proto/LICENSE | 0 .../node_modules}/dunder-proto/README.md | 0 .../node_modules}/dunder-proto/get.d.ts | 0 .../node_modules}/dunder-proto/get.js | 0 .../node_modules}/dunder-proto/package.json | 0 .../node_modules}/dunder-proto/set.d.ts | 0 .../node_modules}/dunder-proto/set.js | 0 .../node_modules}/dunder-proto/test/get.js | 0 .../node_modules}/dunder-proto/test/index.js | 0 .../node_modules}/dunder-proto/test/set.js | 0 .../node_modules}/dunder-proto/tsconfig.json | 0 .../ecdsa-sig-formatter/CODEOWNERS | 1 + back/node_modules/ecdsa-sig-formatter/LICENSE | 201 + .../ecdsa-sig-formatter/README.md | 65 + .../ecdsa-sig-formatter/package.json | 46 + .../src/ecdsa-sig-formatter.d.ts | 17 + .../src/ecdsa-sig-formatter.js | 187 + .../src/param-bytes-for-alg.js | 23 + .../node_modules}/ee-first/LICENSE | 0 .../node_modules}/ee-first/README.md | 0 .../node_modules}/ee-first/index.js | 0 .../node_modules}/ee-first/package.json | 0 .../node_modules}/encodeurl/LICENSE | 0 .../node_modules}/encodeurl/README.md | 0 .../node_modules}/encodeurl/index.js | 0 .../node_modules}/encodeurl/package.json | 0 .../es-define-property/.eslintrc | 0 .../es-define-property/.github/FUNDING.yml | 0 .../node_modules}/es-define-property/.nycrc | 0 .../es-define-property/CHANGELOG.md | 0 .../node_modules}/es-define-property/LICENSE | 0 .../es-define-property/README.md | 0 .../es-define-property/index.d.ts | 0 .../node_modules}/es-define-property/index.js | 0 .../es-define-property/package.json | 0 .../es-define-property/test/index.js | 0 .../es-define-property/tsconfig.json | 0 .../node_modules}/es-errors/.eslintrc | 0 .../es-errors/.github/FUNDING.yml | 0 .../node_modules}/es-errors/CHANGELOG.md | 0 .../node_modules}/es-errors/LICENSE | 0 .../node_modules}/es-errors/README.md | 0 .../node_modules}/es-errors/eval.d.ts | 0 .../node_modules}/es-errors/eval.js | 0 .../node_modules}/es-errors/index.d.ts | 0 .../node_modules}/es-errors/index.js | 0 .../node_modules}/es-errors/package.json | 0 .../node_modules}/es-errors/range.d.ts | 0 .../node_modules}/es-errors/range.js | 0 .../node_modules}/es-errors/ref.d.ts | 0 .../node_modules}/es-errors/ref.js | 0 .../node_modules}/es-errors/syntax.d.ts | 0 .../node_modules}/es-errors/syntax.js | 0 .../node_modules}/es-errors/test/index.js | 0 .../node_modules}/es-errors/tsconfig.json | 0 .../node_modules}/es-errors/type.d.ts | 0 .../node_modules}/es-errors/type.js | 0 .../node_modules}/es-errors/uri.d.ts | 0 .../node_modules}/es-errors/uri.js | 0 .../node_modules}/es-object-atoms/.eslintrc | 0 .../es-object-atoms/.github/FUNDING.yml | 0 .../es-object-atoms/CHANGELOG.md | 0 .../node_modules}/es-object-atoms/LICENSE | 0 .../node_modules}/es-object-atoms/README.md | 0 .../RequireObjectCoercible.d.ts | 0 .../es-object-atoms/RequireObjectCoercible.js | 0 .../es-object-atoms/ToObject.d.ts | 0 .../node_modules}/es-object-atoms/ToObject.js | 0 .../node_modules}/es-object-atoms/index.d.ts | 0 .../node_modules}/es-object-atoms/index.js | 0 .../es-object-atoms/isObject.d.ts | 0 .../node_modules}/es-object-atoms/isObject.js | 0 .../es-object-atoms/package.json | 0 .../es-object-atoms/test/index.js | 0 .../es-object-atoms/tsconfig.json | 0 .../node_modules}/escape-html/LICENSE | 0 .../node_modules}/escape-html/Readme.md | 0 .../node_modules}/escape-html/index.js | 0 .../node_modules}/escape-html/package.json | 0 .../node_modules}/etag/HISTORY.md | 0 .../node_modules}/etag/LICENSE | 0 .../node_modules}/etag/README.md | 0 .../node_modules}/etag/index.js | 0 .../node_modules}/etag/package.json | 0 .../node_modules}/express/LICENSE | 0 .../node_modules}/express/Readme.md | 0 .../node_modules}/express/index.js | 0 .../node_modules}/express/lib/application.js | 0 .../node_modules}/express/lib/express.js | 0 .../node_modules}/express/lib/request.js | 0 .../node_modules}/express/lib/response.js | 0 .../node_modules}/express/lib/utils.js | 0 .../node_modules}/express/lib/view.js | 0 .../node_modules}/express/package.json | 0 .../node_modules}/finalhandler/HISTORY.md | 0 .../node_modules}/finalhandler/LICENSE | 0 .../node_modules}/finalhandler/README.md | 0 .../node_modules}/finalhandler/index.js | 0 .../node_modules}/finalhandler/package.json | 0 .../node_modules}/forwarded/HISTORY.md | 0 .../node_modules}/forwarded/LICENSE | 0 .../node_modules}/forwarded/README.md | 0 .../node_modules}/forwarded/index.js | 0 .../node_modules}/forwarded/package.json | 0 .../node_modules}/fresh/HISTORY.md | 0 .../node_modules}/fresh/LICENSE | 0 .../node_modules}/fresh/README.md | 0 .../node_modules}/fresh/index.js | 0 .../node_modules}/fresh/package.json | 0 .../node_modules}/function-bind/.eslintrc | 0 .../function-bind/.github/FUNDING.yml | 0 .../function-bind/.github/SECURITY.md | 0 .../node_modules}/function-bind/.nycrc | 0 .../node_modules}/function-bind/CHANGELOG.md | 0 .../node_modules}/function-bind/LICENSE | 0 .../node_modules}/function-bind/README.md | 0 .../function-bind/implementation.js | 0 .../node_modules}/function-bind/index.js | 0 .../node_modules}/function-bind/package.json | 0 .../function-bind/test/.eslintrc | 0 .../node_modules}/function-bind/test/index.js | 0 .../node_modules}/get-intrinsic/.eslintrc | 0 .../get-intrinsic/.github/FUNDING.yml | 0 .../node_modules}/get-intrinsic/.nycrc | 0 .../node_modules}/get-intrinsic/CHANGELOG.md | 0 .../node_modules}/get-intrinsic/LICENSE | 0 .../node_modules}/get-intrinsic/README.md | 0 .../node_modules}/get-intrinsic/index.js | 0 .../node_modules}/get-intrinsic/package.json | 0 .../get-intrinsic/test/GetIntrinsic.js | 0 .../node_modules}/get-proto/.eslintrc | 0 .../get-proto/.github/FUNDING.yml | 0 .../node_modules}/get-proto/.nycrc | 0 .../node_modules}/get-proto/CHANGELOG.md | 0 .../node_modules}/get-proto/LICENSE | 0 .../get-proto/Object.getPrototypeOf.d.ts | 0 .../get-proto/Object.getPrototypeOf.js | 0 .../node_modules}/get-proto/README.md | 0 .../get-proto/Reflect.getPrototypeOf.d.ts | 0 .../get-proto/Reflect.getPrototypeOf.js | 0 .../node_modules}/get-proto/index.d.ts | 0 .../node_modules}/get-proto/index.js | 0 .../node_modules}/get-proto/package.json | 0 .../node_modules}/get-proto/test/index.js | 0 .../node_modules}/get-proto/tsconfig.json | 0 .../node_modules}/gopd/.eslintrc | 0 .../node_modules}/gopd/.github/FUNDING.yml | 0 .../node_modules}/gopd/CHANGELOG.md | 0 .../node_modules}/gopd/LICENSE | 0 .../node_modules}/gopd/README.md | 0 .../node_modules}/gopd/gOPD.d.ts | 0 .../node_modules}/gopd/gOPD.js | 0 .../node_modules}/gopd/index.d.ts | 0 .../node_modules}/gopd/index.js | 0 .../node_modules}/gopd/package.json | 0 .../node_modules}/gopd/test/index.js | 0 .../node_modules}/gopd/tsconfig.json | 0 .../node_modules}/has-symbols/.eslintrc | 0 .../has-symbols/.github/FUNDING.yml | 0 .../node_modules}/has-symbols/.nycrc | 0 .../node_modules}/has-symbols/CHANGELOG.md | 0 .../node_modules}/has-symbols/LICENSE | 0 .../node_modules}/has-symbols/README.md | 0 .../node_modules}/has-symbols/index.d.ts | 0 .../node_modules}/has-symbols/index.js | 0 .../node_modules}/has-symbols/package.json | 0 .../node_modules}/has-symbols/shams.d.ts | 0 .../node_modules}/has-symbols/shams.js | 0 .../node_modules}/has-symbols/test/index.js | 0 .../has-symbols/test/shams/core-js.js | 0 .../test/shams/get-own-property-symbols.js | 0 .../node_modules}/has-symbols/test/tests.js | 0 .../node_modules}/has-symbols/tsconfig.json | 0 .../node_modules}/hasown/.eslintrc | 0 .../node_modules}/hasown/.github/FUNDING.yml | 0 .../node_modules}/hasown/.nycrc | 0 .../node_modules}/hasown/CHANGELOG.md | 0 .../node_modules}/hasown/LICENSE | 0 .../node_modules}/hasown/README.md | 0 .../node_modules}/hasown/index.d.ts | 0 .../node_modules}/hasown/index.js | 0 .../node_modules}/hasown/package.json | 0 .../node_modules}/hasown/tsconfig.json | 0 .../node_modules}/http-errors/HISTORY.md | 0 .../node_modules}/http-errors/LICENSE | 0 .../node_modules}/http-errors/README.md | 0 .../node_modules}/http-errors/index.js | 0 .../node_modules}/http-errors/package.json | 0 .../node_modules}/iconv-lite/LICENSE | 0 .../node_modules}/iconv-lite/README.md | 0 .../iconv-lite/encodings/dbcs-codec.js | 0 .../iconv-lite/encodings/dbcs-data.js | 0 .../iconv-lite/encodings/index.js | 0 .../iconv-lite/encodings/internal.js | 0 .../iconv-lite/encodings/sbcs-codec.js | 0 .../encodings/sbcs-data-generated.js | 0 .../iconv-lite/encodings/sbcs-data.js | 0 .../encodings/tables/big5-added.json | 0 .../iconv-lite/encodings/tables/cp936.json | 0 .../iconv-lite/encodings/tables/cp949.json | 0 .../iconv-lite/encodings/tables/cp950.json | 0 .../iconv-lite/encodings/tables/eucjp.json | 0 .../encodings/tables/gb18030-ranges.json | 0 .../encodings/tables/gbk-added.json | 0 .../iconv-lite/encodings/tables/shiftjis.json | 0 .../iconv-lite/encodings/utf16.js | 0 .../iconv-lite/encodings/utf32.js | 0 .../iconv-lite/encodings/utf7.js | 0 .../iconv-lite/lib/bom-handling.js | 0 .../iconv-lite/lib/helpers/merge-exports.js | 0 .../node_modules}/iconv-lite/lib/index.d.ts | 0 .../node_modules}/iconv-lite/lib/index.js | 0 .../node_modules}/iconv-lite/lib/streams.js | 0 .../node_modules}/iconv-lite/package.json | 0 .../iconv-lite/types/encodings.d.ts | 0 .../node_modules}/inherits/LICENSE | 0 .../node_modules}/inherits/README.md | 0 .../node_modules}/inherits/inherits.js | 0 .../inherits/inherits_browser.js | 0 .../node_modules}/inherits/package.json | 0 .../node_modules}/ipaddr.js/LICENSE | 0 .../node_modules}/ipaddr.js/README.md | 0 .../node_modules}/ipaddr.js/ipaddr.min.js | 0 .../node_modules}/ipaddr.js/lib/ipaddr.js | 0 .../ipaddr.js/lib/ipaddr.js.d.ts | 0 .../node_modules}/ipaddr.js/package.json | 0 .../node_modules}/is-promise/LICENSE | 0 .../node_modules}/is-promise/index.d.ts | 0 .../node_modules}/is-promise/index.js | 0 .../node_modules}/is-promise/index.mjs | 0 .../node_modules}/is-promise/package.json | 0 .../node_modules}/is-promise/readme.md | 0 back/node_modules/jsonwebtoken/LICENSE | 21 + back/node_modules/jsonwebtoken/README.md | 396 + back/node_modules/jsonwebtoken/decode.js | 30 + back/node_modules/jsonwebtoken/index.js | 8 + .../jsonwebtoken/lib/JsonWebTokenError.js | 14 + .../jsonwebtoken/lib/NotBeforeError.js | 13 + .../jsonwebtoken/lib/TokenExpiredError.js | 13 + .../lib/asymmetricKeyDetailsSupported.js | 3 + .../jsonwebtoken/lib/psSupported.js | 3 + .../lib/rsaPssKeyDetailsSupported.js | 3 + .../node_modules/jsonwebtoken/lib/timespan.js | 18 + .../jsonwebtoken/lib/validateAsymmetricKey.js | 66 + back/node_modules/jsonwebtoken/package.json | 70 + back/node_modules/jsonwebtoken/sign.js | 253 + back/node_modules/jsonwebtoken/verify.js | 263 + back/node_modules/jwa/LICENSE | 17 + back/node_modules/jwa/README.md | 150 + back/node_modules/jwa/index.js | 266 + back/node_modules/jwa/opslevel.yml | 6 + back/node_modules/jwa/package.json | 37 + back/node_modules/jws/CHANGELOG.md | 56 + back/node_modules/jws/LICENSE | 17 + back/node_modules/jws/index.js | 22 + back/node_modules/jws/lib/data-stream.js | 55 + back/node_modules/jws/lib/sign-stream.js | 83 + back/node_modules/jws/lib/tostring.js | 10 + back/node_modules/jws/lib/verify-stream.js | 125 + back/node_modules/jws/opslevel.yml | 6 + back/node_modules/jws/package.json | 34 + back/node_modules/jws/readme.md | 255 + back/node_modules/lodash.includes/LICENSE | 47 + back/node_modules/lodash.includes/README.md | 18 + back/node_modules/lodash.includes/index.js | 745 ++ .../node_modules/lodash.includes/package.json | 17 + back/node_modules/lodash.isboolean/LICENSE | 22 + back/node_modules/lodash.isboolean/README.md | 18 + back/node_modules/lodash.isboolean/index.js | 70 + .../lodash.isboolean/package.json | 17 + back/node_modules/lodash.isinteger/LICENSE | 47 + back/node_modules/lodash.isinteger/README.md | 18 + back/node_modules/lodash.isinteger/index.js | 265 + .../lodash.isinteger/package.json | 17 + back/node_modules/lodash.isnumber/LICENSE | 22 + back/node_modules/lodash.isnumber/README.md | 18 + back/node_modules/lodash.isnumber/index.js | 79 + .../node_modules/lodash.isnumber/package.json | 17 + .../node_modules/lodash.isplainobject/LICENSE | 47 + .../lodash.isplainobject/README.md | 18 + .../lodash.isplainobject/index.js | 139 + .../lodash.isplainobject/package.json | 17 + back/node_modules/lodash.isstring/LICENSE | 22 + back/node_modules/lodash.isstring/README.md | 18 + back/node_modules/lodash.isstring/index.js | 95 + .../node_modules/lodash.isstring/package.json | 17 + back/node_modules/lodash.once/LICENSE | 47 + back/node_modules/lodash.once/README.md | 18 + back/node_modules/lodash.once/index.js | 294 + back/node_modules/lodash.once/package.json | 17 + .../node_modules}/math-intrinsics/.eslintrc | 0 .../math-intrinsics/.github/FUNDING.yml | 0 .../math-intrinsics/CHANGELOG.md | 0 .../node_modules}/math-intrinsics/LICENSE | 0 .../node_modules}/math-intrinsics/README.md | 0 .../node_modules}/math-intrinsics/abs.d.ts | 0 .../node_modules}/math-intrinsics/abs.js | 0 .../constants/maxArrayLength.d.ts | 0 .../constants/maxArrayLength.js | 0 .../constants/maxSafeInteger.d.ts | 0 .../constants/maxSafeInteger.js | 0 .../math-intrinsics/constants/maxValue.d.ts | 0 .../math-intrinsics/constants/maxValue.js | 0 .../node_modules}/math-intrinsics/floor.d.ts | 0 .../node_modules}/math-intrinsics/floor.js | 0 .../math-intrinsics/isFinite.d.ts | 0 .../node_modules}/math-intrinsics/isFinite.js | 0 .../math-intrinsics/isInteger.d.ts | 0 .../math-intrinsics/isInteger.js | 0 .../node_modules}/math-intrinsics/isNaN.d.ts | 0 .../node_modules}/math-intrinsics/isNaN.js | 0 .../math-intrinsics/isNegativeZero.d.ts | 0 .../math-intrinsics/isNegativeZero.js | 0 .../node_modules}/math-intrinsics/max.d.ts | 0 .../node_modules}/math-intrinsics/max.js | 0 .../node_modules}/math-intrinsics/min.d.ts | 0 .../node_modules}/math-intrinsics/min.js | 0 .../node_modules}/math-intrinsics/mod.d.ts | 0 .../node_modules}/math-intrinsics/mod.js | 0 .../math-intrinsics/package.json | 0 .../node_modules}/math-intrinsics/pow.d.ts | 0 .../node_modules}/math-intrinsics/pow.js | 0 .../node_modules}/math-intrinsics/round.d.ts | 0 .../node_modules}/math-intrinsics/round.js | 0 .../node_modules}/math-intrinsics/sign.d.ts | 0 .../node_modules}/math-intrinsics/sign.js | 0 .../math-intrinsics/test/index.js | 0 .../math-intrinsics/tsconfig.json | 0 .../node_modules}/media-typer/HISTORY.md | 0 .../node_modules}/media-typer/LICENSE | 0 .../node_modules}/media-typer/README.md | 0 .../node_modules}/media-typer/index.js | 0 .../node_modules}/media-typer/package.json | 0 .../merge-descriptors/index.d.ts | 0 .../node_modules}/merge-descriptors/index.js | 0 .../node_modules}/merge-descriptors/license | 0 .../merge-descriptors/package.json | 0 .../node_modules}/merge-descriptors/readme.md | 0 .../node_modules}/mime-db/HISTORY.md | 0 .../node_modules}/mime-db/LICENSE | 0 .../node_modules}/mime-db/README.md | 0 .../node_modules}/mime-db/db.json | 0 .../node_modules}/mime-db/index.js | 0 .../node_modules}/mime-db/package.json | 0 .../node_modules}/mime-types/HISTORY.md | 0 .../node_modules}/mime-types/LICENSE | 0 .../node_modules}/mime-types/README.md | 0 .../node_modules}/mime-types/index.js | 0 .../node_modules}/mime-types/mimeScore.js | 0 .../node_modules}/mime-types/package.json | 0 .../node_modules}/ms/index.js | 0 .../node_modules}/ms/license.md | 0 .../node_modules}/ms/package.json | 0 .../node_modules}/ms/readme.md | 0 .../node_modules}/negotiator/HISTORY.md | 0 .../node_modules}/negotiator/LICENSE | 0 .../node_modules}/negotiator/README.md | 0 .../node_modules}/negotiator/index.js | 8 +- .../node_modules}/negotiator/lib/charset.js | 0 .../node_modules}/negotiator/lib/encoding.js | 0 .../node_modules}/negotiator/lib/language.js | 0 .../node_modules}/negotiator/lib/mediaType.js | 0 .../node_modules}/negotiator/package.json | 0 .../node_modules}/object-inspect/.eslintrc | 0 .../object-inspect/.github/FUNDING.yml | 0 .../node_modules}/object-inspect/.nycrc | 0 .../node_modules}/object-inspect/CHANGELOG.md | 0 .../node_modules}/object-inspect/LICENSE | 0 .../object-inspect/example/all.js | 0 .../object-inspect/example/circular.js | 0 .../object-inspect/example/fn.js | 0 .../object-inspect/example/inspect.js | 0 .../node_modules}/object-inspect/index.js | 0 .../object-inspect/package-support.json | 0 .../node_modules}/object-inspect/package.json | 0 .../object-inspect/readme.markdown | 0 .../object-inspect/test-core-js.js | 0 .../object-inspect/test/bigint.js | 0 .../object-inspect/test/browser/dom.js | 0 .../object-inspect/test/circular.js | 0 .../node_modules}/object-inspect/test/deep.js | 0 .../object-inspect/test/element.js | 0 .../node_modules}/object-inspect/test/err.js | 0 .../object-inspect/test/fakes.js | 0 .../node_modules}/object-inspect/test/fn.js | 0 .../object-inspect/test/global.js | 0 .../node_modules}/object-inspect/test/has.js | 0 .../object-inspect/test/holes.js | 0 .../object-inspect/test/indent-option.js | 0 .../object-inspect/test/inspect.js | 0 .../object-inspect/test/lowbyte.js | 0 .../object-inspect/test/number.js | 0 .../object-inspect/test/quoteStyle.js | 0 .../object-inspect/test/toStringTag.js | 0 .../object-inspect/test/undef.js | 0 .../object-inspect/test/values.js | 0 .../object-inspect/util.inspect.js | 0 .../node_modules}/on-finished/HISTORY.md | 0 .../node_modules}/on-finished/LICENSE | 0 .../node_modules}/on-finished/README.md | 0 .../node_modules}/on-finished/index.js | 0 .../node_modules}/on-finished/package.json | 0 .../node_modules}/once/LICENSE | 0 .../node_modules}/once/README.md | 0 .../node_modules}/once/once.js | 0 .../node_modules}/once/package.json | 0 .../node_modules}/parseurl/HISTORY.md | 0 .../node_modules}/parseurl/LICENSE | 0 .../node_modules}/parseurl/README.md | 0 .../node_modules}/parseurl/index.js | 0 .../node_modules}/parseurl/package.json | 0 .../node_modules}/path-to-regexp/LICENSE | 0 .../node_modules}/path-to-regexp/Readme.md | 0 .../path-to-regexp/dist/index.d.ts | 0 .../path-to-regexp/dist/index.js | 0 .../path-to-regexp/dist/index.js.map | 0 .../node_modules}/path-to-regexp/package.json | 0 .../node_modules}/proxy-addr/HISTORY.md | 0 .../node_modules}/proxy-addr/LICENSE | 0 .../node_modules}/proxy-addr/README.md | 0 .../node_modules}/proxy-addr/index.js | 0 .../node_modules}/proxy-addr/package.json | 0 .../node_modules}/qs/.editorconfig | 0 .../node_modules}/qs/.github/FUNDING.yml | 0 .../node_modules}/qs/.github/SECURITY.md | 0 .../node_modules}/qs/.github/THREAT_MODEL.md | 0 {node_modules => back/node_modules}/qs/.nycrc | 0 .../node_modules}/qs/CHANGELOG.md | 0 .../node_modules}/qs/LICENSE.md | 0 .../node_modules}/qs/README.md | 0 .../node_modules}/qs/dist/qs.js | 0 .../node_modules}/qs/eslint.config.mjs | 0 .../node_modules}/qs/lib/formats.js | 0 .../node_modules}/qs/lib/index.js | 0 .../node_modules}/qs/lib/parse.js | 0 .../node_modules}/qs/lib/stringify.js | 0 .../node_modules}/qs/lib/utils.js | 0 .../node_modules}/qs/package.json | 0 .../node_modules}/qs/test/empty-keys-cases.js | 0 .../node_modules}/qs/test/parse.js | 0 .../node_modules}/qs/test/stringify.js | 0 .../node_modules}/qs/test/utils.js | 0 .../node_modules}/range-parser/HISTORY.md | 0 .../node_modules}/range-parser/LICENSE | 0 .../node_modules}/range-parser/README.md | 0 .../node_modules}/range-parser/index.js | 0 .../node_modules}/range-parser/package.json | 0 .../node_modules}/raw-body/LICENSE | 0 .../node_modules}/raw-body/README.md | 0 .../node_modules}/raw-body/index.d.ts | 0 .../node_modules}/raw-body/index.js | 0 .../node_modules}/raw-body/package.json | 0 back/node_modules/redis/README.md | 330 + back/node_modules/redis/dist/index.d.ts | 2330 ++++ back/node_modules/redis/dist/index.d.ts.map | 1 + back/node_modules/redis/dist/index.js | 77 + back/node_modules/redis/dist/index.js.map | 1 + back/node_modules/redis/package.json | 36 + .../node_modules}/router/HISTORY.md | 0 .../node_modules}/router/LICENSE | 0 .../node_modules}/router/README.md | 0 .../node_modules}/router/index.js | 0 .../node_modules}/router/lib/layer.js | 0 .../node_modules}/router/lib/route.js | 0 .../node_modules}/router/package.json | 0 back/node_modules/safe-buffer/LICENSE | 21 + back/node_modules/safe-buffer/README.md | 584 + back/node_modules/safe-buffer/index.d.ts | 187 + back/node_modules/safe-buffer/index.js | 65 + back/node_modules/safe-buffer/package.json | 51 + .../node_modules}/safer-buffer/LICENSE | 0 .../safer-buffer/Porting-Buffer.md | 0 .../node_modules}/safer-buffer/Readme.md | 0 .../node_modules}/safer-buffer/dangerous.js | 0 .../node_modules}/safer-buffer/package.json | 0 .../node_modules}/safer-buffer/safer.js | 0 .../node_modules}/safer-buffer/tests.js | 0 .../node_modules/semver}/LICENSE | 0 back/node_modules/semver/README.md | 665 ++ back/node_modules/semver/bin/semver.js | 191 + .../node_modules/semver/classes/comparator.js | 143 + back/node_modules/semver/classes/index.js | 7 + back/node_modules/semver/classes/range.js | 557 + back/node_modules/semver/classes/semver.js | 333 + back/node_modules/semver/functions/clean.js | 8 + back/node_modules/semver/functions/cmp.js | 54 + back/node_modules/semver/functions/coerce.js | 62 + .../semver/functions/compare-build.js | 9 + .../semver/functions/compare-loose.js | 5 + back/node_modules/semver/functions/compare.js | 7 + back/node_modules/semver/functions/diff.js | 60 + back/node_modules/semver/functions/eq.js | 5 + back/node_modules/semver/functions/gt.js | 5 + back/node_modules/semver/functions/gte.js | 5 + back/node_modules/semver/functions/inc.js | 21 + back/node_modules/semver/functions/lt.js | 5 + back/node_modules/semver/functions/lte.js | 5 + back/node_modules/semver/functions/major.js | 5 + back/node_modules/semver/functions/minor.js | 5 + back/node_modules/semver/functions/neq.js | 5 + back/node_modules/semver/functions/parse.js | 18 + back/node_modules/semver/functions/patch.js | 5 + .../semver/functions/prerelease.js | 8 + .../node_modules/semver/functions/rcompare.js | 5 + back/node_modules/semver/functions/rsort.js | 5 + .../semver/functions/satisfies.js | 12 + back/node_modules/semver/functions/sort.js | 5 + back/node_modules/semver/functions/valid.js | 8 + back/node_modules/semver/index.js | 91 + .../node_modules/semver/internal/constants.js | 37 + back/node_modules/semver/internal/debug.js | 11 + .../semver/internal/identifiers.js | 29 + back/node_modules/semver/internal/lrucache.js | 42 + .../semver/internal/parse-options.js | 17 + back/node_modules/semver/internal/re.js | 223 + back/node_modules/semver/package.json | 78 + back/node_modules/semver/preload.js | 4 + back/node_modules/semver/range.bnf | 16 + back/node_modules/semver/ranges/gtr.js | 6 + back/node_modules/semver/ranges/intersects.js | 9 + back/node_modules/semver/ranges/ltr.js | 6 + .../semver/ranges/max-satisfying.js | 27 + .../semver/ranges/min-satisfying.js | 26 + .../node_modules/semver/ranges/min-version.js | 63 + back/node_modules/semver/ranges/outside.js | 82 + back/node_modules/semver/ranges/simplify.js | 49 + back/node_modules/semver/ranges/subset.js | 249 + .../semver/ranges/to-comparators.js | 10 + back/node_modules/semver/ranges/valid.js | 13 + .../node_modules}/send/LICENSE | 0 .../node_modules}/send/README.md | 0 .../node_modules}/send/index.js | 0 .../node_modules}/send/package.json | 0 .../node_modules}/serve-static/LICENSE | 0 .../node_modules}/serve-static/README.md | 0 .../node_modules}/serve-static/index.js | 0 .../node_modules}/serve-static/package.json | 0 .../node_modules}/setprototypeof/LICENSE | 0 .../node_modules}/setprototypeof/README.md | 0 .../node_modules}/setprototypeof/index.d.ts | 0 .../node_modules}/setprototypeof/index.js | 0 .../node_modules}/setprototypeof/package.json | 0 .../setprototypeof/test/index.js | 0 .../side-channel-list/.editorconfig | 0 .../node_modules}/side-channel-list/.eslintrc | 0 .../side-channel-list/.github/FUNDING.yml | 0 .../node_modules}/side-channel-list/.nycrc | 0 .../side-channel-list/CHANGELOG.md | 0 .../node_modules}/side-channel-list/LICENSE | 0 .../node_modules}/side-channel-list/README.md | 0 .../side-channel-list/index.d.ts | 0 .../node_modules}/side-channel-list/index.js | 0 .../node_modules}/side-channel-list/list.d.ts | 0 .../side-channel-list/package.json | 0 .../side-channel-list/test/index.js | 0 .../side-channel-list/tsconfig.json | 0 .../side-channel-map/.editorconfig | 0 .../node_modules}/side-channel-map/.eslintrc | 0 .../side-channel-map/.github/FUNDING.yml | 0 .../node_modules}/side-channel-map/.nycrc | 0 .../side-channel-map/CHANGELOG.md | 0 .../node_modules}/side-channel-map/LICENSE | 0 .../node_modules}/side-channel-map/README.md | 0 .../node_modules}/side-channel-map/index.d.ts | 0 .../node_modules}/side-channel-map/index.js | 0 .../side-channel-map/package.json | 0 .../side-channel-map/test/index.js | 0 .../side-channel-map/tsconfig.json | 0 .../side-channel-weakmap/.editorconfig | 0 .../side-channel-weakmap/.eslintrc | 0 .../side-channel-weakmap/.github/FUNDING.yml | 0 .../node_modules}/side-channel-weakmap/.nycrc | 0 .../side-channel-weakmap/CHANGELOG.md | 0 .../side-channel-weakmap/LICENSE | 0 .../side-channel-weakmap/README.md | 0 .../side-channel-weakmap/index.d.ts | 0 .../side-channel-weakmap/index.js | 0 .../side-channel-weakmap/package.json | 0 .../side-channel-weakmap/test/index.js | 0 .../side-channel-weakmap/tsconfig.json | 0 .../node_modules}/side-channel/.editorconfig | 0 .../node_modules}/side-channel/.eslintrc | 0 .../side-channel/.github/FUNDING.yml | 0 .../node_modules}/side-channel/.nycrc | 0 .../node_modules}/side-channel/CHANGELOG.md | 0 .../node_modules}/side-channel/LICENSE | 0 .../node_modules}/side-channel/README.md | 0 .../node_modules}/side-channel/index.d.ts | 0 .../node_modules}/side-channel/index.js | 0 .../node_modules}/side-channel/package.json | 0 .../node_modules}/side-channel/test/index.js | 0 .../node_modules}/side-channel/tsconfig.json | 0 .../node_modules}/statuses/HISTORY.md | 0 .../node_modules}/statuses/LICENSE | 0 .../node_modules}/statuses/README.md | 0 .../node_modules}/statuses/codes.json | 0 .../node_modules}/statuses/index.js | 0 .../node_modules}/statuses/package.json | 0 .../node_modules}/toidentifier/HISTORY.md | 0 .../node_modules}/toidentifier/LICENSE | 0 .../node_modules}/toidentifier/README.md | 0 .../node_modules}/toidentifier/index.js | 0 .../node_modules}/toidentifier/package.json | 0 .../node_modules}/type-is/HISTORY.md | 0 .../node_modules}/type-is/LICENSE | 0 .../node_modules}/type-is/README.md | 0 .../node_modules}/type-is/index.js | 0 .../node_modules}/type-is/package.json | 0 .../node_modules}/unpipe/HISTORY.md | 0 .../node_modules}/unpipe/LICENSE | 0 .../node_modules}/unpipe/README.md | 0 .../node_modules}/unpipe/index.js | 0 .../node_modules}/unpipe/package.json | 0 .../node_modules}/vary/HISTORY.md | 0 .../node_modules}/vary/LICENSE | 0 .../node_modules}/vary/README.md | 0 .../node_modules}/vary/index.js | 0 .../node_modules}/vary/package.json | 0 back/node_modules/wrappy/LICENSE | 15 + .../node_modules}/wrappy/README.md | 0 .../node_modules}/wrappy/package.json | 0 .../node_modules}/wrappy/wrappy.js | 0 package-lock.json => back/package-lock.json | 229 +- package.json => back/package.json | 4 +- 3053 files changed, 69113 insertions(+), 6 deletions(-) create mode 100644 back/node_modules/.bin/semver create mode 100644 back/node_modules/.bin/semver.cmd create mode 100644 back/node_modules/.bin/semver.ps1 rename {node_modules => back/node_modules}/.package-lock.json (77%) create mode 100644 back/node_modules/@redis/bloom/README.md create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/ADD.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/ADD.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/ADD.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/ADD.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/CARD.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/CARD.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/CARD.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/CARD.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/EXISTS.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/EXISTS.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/EXISTS.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/EXISTS.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/INFO.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/INFO.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/INFO.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/INFO.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/INSERT.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/INSERT.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/INSERT.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/INSERT.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/LOADCHUNK.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/LOADCHUNK.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/LOADCHUNK.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/LOADCHUNK.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/MADD.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/MADD.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/MADD.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/MADD.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/MEXISTS.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/MEXISTS.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/MEXISTS.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/MEXISTS.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/RESERVE.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/RESERVE.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/RESERVE.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/RESERVE.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/SCANDUMP.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/SCANDUMP.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/SCANDUMP.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/SCANDUMP.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/helpers.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/helpers.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/helpers.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/helpers.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/index.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/index.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/index.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/bloom/index.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INCRBY.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INCRBY.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INCRBY.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INCRBY.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INFO.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INFO.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INFO.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INFO.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYDIM.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYDIM.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYDIM.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYDIM.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYPROB.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYPROB.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYPROB.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYPROB.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/MERGE.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/MERGE.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/MERGE.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/MERGE.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/QUERY.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/QUERY.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/QUERY.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/QUERY.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/index.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/index.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/index.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/index.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADD.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADD.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADD.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADD.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADDNX.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADDNX.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADDNX.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADDNX.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/COUNT.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/COUNT.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/COUNT.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/COUNT.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/DEL.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/DEL.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/DEL.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/DEL.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/EXISTS.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/EXISTS.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/EXISTS.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/EXISTS.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INFO.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INFO.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INFO.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INFO.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERT.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERT.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERT.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERT.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERTNX.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERTNX.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERTNX.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERTNX.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/LOADCHUNK.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/LOADCHUNK.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/LOADCHUNK.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/LOADCHUNK.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/RESERVE.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/RESERVE.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/RESERVE.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/RESERVE.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/SCANDUMP.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/SCANDUMP.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/SCANDUMP.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/SCANDUMP.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/index.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/index.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/index.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/index.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/index.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/index.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/index.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/index.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/ADD.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/ADD.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/ADD.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/ADD.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYRANK.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYRANK.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYRANK.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYRANK.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYREVRANK.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYREVRANK.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYREVRANK.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYREVRANK.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CDF.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CDF.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CDF.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CDF.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CREATE.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CREATE.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CREATE.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CREATE.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/INFO.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/INFO.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/INFO.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/INFO.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MAX.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MAX.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MAX.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MAX.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MERGE.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MERGE.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MERGE.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MERGE.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MIN.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MIN.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MIN.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MIN.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/QUANTILE.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/QUANTILE.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/QUANTILE.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/QUANTILE.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RANK.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RANK.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RANK.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RANK.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RESET.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RESET.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RESET.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RESET.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/REVRANK.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/REVRANK.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/REVRANK.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/REVRANK.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/TRIMMED_MEAN.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/TRIMMED_MEAN.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/TRIMMED_MEAN.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/TRIMMED_MEAN.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/index.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/index.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/index.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/t-digest/index.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/ADD.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/ADD.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/ADD.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/ADD.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/COUNT.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/COUNT.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/COUNT.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/COUNT.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/INCRBY.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/INCRBY.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/INCRBY.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/INCRBY.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/INFO.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/INFO.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/INFO.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/INFO.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST_WITHCOUNT.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST_WITHCOUNT.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST_WITHCOUNT.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST_WITHCOUNT.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/QUERY.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/QUERY.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/QUERY.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/QUERY.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/RESERVE.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/RESERVE.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/RESERVE.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/RESERVE.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/index.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/index.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/index.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/commands/top-k/index.js.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/index.d.ts create mode 100644 back/node_modules/@redis/bloom/dist/lib/index.d.ts.map create mode 100644 back/node_modules/@redis/bloom/dist/lib/index.js create mode 100644 back/node_modules/@redis/bloom/dist/lib/index.js.map create mode 100644 back/node_modules/@redis/bloom/package.json create mode 100644 back/node_modules/@redis/client/README.md create mode 100644 back/node_modules/@redis/client/dist/index.d.ts create mode 100644 back/node_modules/@redis/client/dist/index.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/index.js create mode 100644 back/node_modules/@redis/client/dist/index.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/RESP/decoder.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/RESP/decoder.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/RESP/decoder.js create mode 100644 back/node_modules/@redis/client/dist/lib/RESP/decoder.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/RESP/encoder.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/RESP/encoder.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/RESP/encoder.js create mode 100644 back/node_modules/@redis/client/dist/lib/RESP/encoder.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/RESP/types.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/RESP/types.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/RESP/types.js create mode 100644 back/node_modules/@redis/client/dist/lib/RESP/types.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/RESP/verbatim-string.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/RESP/verbatim-string.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/RESP/verbatim-string.js create mode 100644 back/node_modules/@redis/client/dist/lib/RESP/verbatim-string.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/authx/credentials-provider.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/authx/credentials-provider.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/authx/credentials-provider.js create mode 100644 back/node_modules/@redis/client/dist/lib/authx/credentials-provider.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/authx/disposable.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/authx/disposable.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/authx/disposable.js create mode 100644 back/node_modules/@redis/client/dist/lib/authx/disposable.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/authx/identity-provider.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/authx/identity-provider.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/authx/identity-provider.js create mode 100644 back/node_modules/@redis/client/dist/lib/authx/identity-provider.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/authx/index.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/authx/index.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/authx/index.js create mode 100644 back/node_modules/@redis/client/dist/lib/authx/index.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/authx/token-manager.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/authx/token-manager.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/authx/token-manager.js create mode 100644 back/node_modules/@redis/client/dist/lib/authx/token-manager.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/authx/token.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/authx/token.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/authx/token.js create mode 100644 back/node_modules/@redis/client/dist/lib/authx/token.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/client/cache.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/client/cache.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/client/cache.js create mode 100644 back/node_modules/@redis/client/dist/lib/client/cache.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/client/commands-queue.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/client/commands-queue.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/client/commands-queue.js create mode 100644 back/node_modules/@redis/client/dist/lib/client/commands-queue.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/client/enterprise-maintenance-manager.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/client/enterprise-maintenance-manager.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/client/enterprise-maintenance-manager.js create mode 100644 back/node_modules/@redis/client/dist/lib/client/enterprise-maintenance-manager.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/client/index.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/client/index.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/client/index.js create mode 100644 back/node_modules/@redis/client/dist/lib/client/index.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/client/legacy-mode.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/client/legacy-mode.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/client/legacy-mode.js create mode 100644 back/node_modules/@redis/client/dist/lib/client/legacy-mode.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/client/linked-list.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/client/linked-list.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/client/linked-list.js create mode 100644 back/node_modules/@redis/client/dist/lib/client/linked-list.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/client/multi-command.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/client/multi-command.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/client/multi-command.js create mode 100644 back/node_modules/@redis/client/dist/lib/client/multi-command.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/client/parser.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/client/parser.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/client/parser.js create mode 100644 back/node_modules/@redis/client/dist/lib/client/parser.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/client/pool.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/client/pool.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/client/pool.js create mode 100644 back/node_modules/@redis/client/dist/lib/client/pool.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/client/pub-sub.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/client/pub-sub.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/client/pub-sub.js create mode 100644 back/node_modules/@redis/client/dist/lib/client/pub-sub.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/client/socket.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/client/socket.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/client/socket.js create mode 100644 back/node_modules/@redis/client/dist/lib/client/socket.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/cluster/cluster-slots.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/cluster/cluster-slots.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/cluster/cluster-slots.js create mode 100644 back/node_modules/@redis/client/dist/lib/cluster/cluster-slots.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/cluster/index.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/cluster/index.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/cluster/index.js create mode 100644 back/node_modules/@redis/client/dist/lib/cluster/index.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/cluster/multi-command.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/cluster/multi-command.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/cluster/multi-command.js create mode 100644 back/node_modules/@redis/client/dist/lib/cluster/multi-command.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commander.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commander.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commander.js create mode 100644 back/node_modules/@redis/client/dist/lib/commander.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_CAT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_CAT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_CAT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_CAT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_DELUSER.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_DELUSER.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_DELUSER.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_DELUSER.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_DRYRUN.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_DRYRUN.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_DRYRUN.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_DRYRUN.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_GENPASS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_GENPASS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_GENPASS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_GENPASS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_GETUSER.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_GETUSER.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_GETUSER.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_GETUSER.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_LIST.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_LIST.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_LIST.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_LIST.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_LOAD.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_LOAD.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_LOAD.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_LOAD.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_LOG.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_LOG.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_LOG.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_LOG.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_LOG_RESET.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_LOG_RESET.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_LOG_RESET.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_LOG_RESET.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_SAVE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_SAVE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_SAVE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_SAVE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_SETUSER.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_SETUSER.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_SETUSER.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_SETUSER.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_USERS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_USERS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_USERS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_USERS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_WHOAMI.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_WHOAMI.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_WHOAMI.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ACL_WHOAMI.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/APPEND.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/APPEND.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/APPEND.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/APPEND.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ASKING.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ASKING.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ASKING.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ASKING.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/AUTH.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/AUTH.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/AUTH.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/AUTH.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BGREWRITEAOF.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BGREWRITEAOF.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BGREWRITEAOF.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BGREWRITEAOF.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BGSAVE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BGSAVE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BGSAVE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BGSAVE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BITCOUNT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BITCOUNT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BITCOUNT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BITCOUNT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BITFIELD.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BITFIELD.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BITFIELD.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BITFIELD.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BITFIELD_RO.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BITFIELD_RO.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BITFIELD_RO.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BITFIELD_RO.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BITOP.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BITOP.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BITOP.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BITOP.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BITPOS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BITPOS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BITPOS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BITPOS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BLMOVE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BLMOVE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BLMOVE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BLMOVE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BLMPOP.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BLMPOP.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BLMPOP.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BLMPOP.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BLPOP.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BLPOP.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BLPOP.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BLPOP.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BRPOP.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BRPOP.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BRPOP.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BRPOP.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BRPOPLPUSH.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BRPOPLPUSH.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BRPOPLPUSH.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BRPOPLPUSH.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BZMPOP.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BZMPOP.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BZMPOP.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BZMPOP.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BZPOPMAX.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BZPOPMAX.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BZPOPMAX.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BZPOPMAX.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BZPOPMIN.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BZPOPMIN.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BZPOPMIN.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/BZPOPMIN.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_CACHING.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_CACHING.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_CACHING.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_CACHING.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETNAME.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETNAME.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETNAME.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETNAME.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETREDIR.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETREDIR.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETREDIR.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETREDIR.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_ID.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_ID.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_ID.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_ID.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_INFO.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_INFO.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_INFO.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_INFO.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_KILL.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_KILL.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_KILL.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_KILL.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_LIST.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_LIST.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_LIST.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_LIST.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-EVICT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-EVICT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-EVICT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-EVICT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-TOUCH.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-TOUCH.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-TOUCH.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-TOUCH.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_PAUSE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_PAUSE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_PAUSE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_PAUSE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_SETNAME.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_SETNAME.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_SETNAME.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_SETNAME.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKING.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKING.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKING.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKING.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKINGINFO.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKINGINFO.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKINGINFO.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKINGINFO.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_UNPAUSE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_UNPAUSE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_UNPAUSE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLIENT_UNPAUSE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTSRANGE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTSRANGE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTSRANGE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTSRANGE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_BUMPEPOCH.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_BUMPEPOCH.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_BUMPEPOCH.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_BUMPEPOCH.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNT-FAILURE-REPORTS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNT-FAILURE-REPORTS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNT-FAILURE-REPORTS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNT-FAILURE-REPORTS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNTKEYSINSLOT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNTKEYSINSLOT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNTKEYSINSLOT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNTKEYSINSLOT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTSRANGE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTSRANGE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTSRANGE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTSRANGE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FAILOVER.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FAILOVER.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FAILOVER.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FAILOVER.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FLUSHSLOTS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FLUSHSLOTS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FLUSHSLOTS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FLUSHSLOTS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FORGET.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FORGET.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FORGET.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FORGET.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_GETKEYSINSLOT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_GETKEYSINSLOT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_GETKEYSINSLOT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_GETKEYSINSLOT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_INFO.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_INFO.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_INFO.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_INFO.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_KEYSLOT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_KEYSLOT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_KEYSLOT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_KEYSLOT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_LINKS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_LINKS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_LINKS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_LINKS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MEET.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MEET.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MEET.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MEET.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYID.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYID.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYID.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYID.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYSHARDID.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYSHARDID.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYSHARDID.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYSHARDID.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_NODES.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_NODES.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_NODES.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_NODES.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICAS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICAS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICAS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICAS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICATE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICATE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICATE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICATE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_RESET.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_RESET.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_RESET.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_RESET.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SAVECONFIG.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SAVECONFIG.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SAVECONFIG.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SAVECONFIG.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SET-CONFIG-EPOCH.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SET-CONFIG-EPOCH.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SET-CONFIG-EPOCH.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SET-CONFIG-EPOCH.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SETSLOT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SETSLOT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SETSLOT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SETSLOT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SLOTS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SLOTS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SLOTS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SLOTS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/COMMAND.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/COMMAND.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/COMMAND.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/COMMAND.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/COMMAND_COUNT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/COMMAND_COUNT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/COMMAND_COUNT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/COMMAND_COUNT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYSANDFLAGS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYSANDFLAGS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYSANDFLAGS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYSANDFLAGS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/COMMAND_INFO.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/COMMAND_INFO.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/COMMAND_INFO.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/COMMAND_INFO.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/COMMAND_LIST.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/COMMAND_LIST.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/COMMAND_LIST.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/COMMAND_LIST.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CONFIG_GET.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CONFIG_GET.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CONFIG_GET.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CONFIG_GET.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CONFIG_RESETSTAT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CONFIG_RESETSTAT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CONFIG_RESETSTAT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CONFIG_RESETSTAT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CONFIG_REWRITE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CONFIG_REWRITE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CONFIG_REWRITE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CONFIG_REWRITE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CONFIG_SET.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CONFIG_SET.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CONFIG_SET.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/CONFIG_SET.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/COPY.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/COPY.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/COPY.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/COPY.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DBSIZE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DBSIZE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DBSIZE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DBSIZE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DECR.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DECR.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DECR.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DECR.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DECRBY.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DECRBY.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DECRBY.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DECRBY.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DEL.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DEL.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DEL.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DEL.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DELEX.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DELEX.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DELEX.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DELEX.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DIGEST.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DIGEST.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DIGEST.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DIGEST.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DISCARD.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DISCARD.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DISCARD.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DISCARD.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DUMP.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DUMP.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DUMP.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/DUMP.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ECHO.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ECHO.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ECHO.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ECHO.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EVAL.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EVAL.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EVAL.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EVAL.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EVALSHA.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EVALSHA.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EVALSHA.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EVALSHA.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EVALSHA_RO.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EVALSHA_RO.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EVALSHA_RO.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EVALSHA_RO.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EVAL_RO.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EVAL_RO.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EVAL_RO.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EVAL_RO.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EXISTS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EXISTS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EXISTS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EXISTS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EXPIRE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EXPIRE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EXPIRE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EXPIRE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EXPIREAT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EXPIREAT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EXPIREAT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EXPIREAT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EXPIRETIME.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EXPIRETIME.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EXPIRETIME.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/EXPIRETIME.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FAILOVER.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FAILOVER.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FAILOVER.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FAILOVER.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FCALL.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FCALL.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FCALL.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FCALL.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FCALL_RO.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FCALL_RO.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FCALL_RO.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FCALL_RO.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FLUSHALL.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FLUSHALL.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FLUSHALL.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FLUSHALL.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FLUSHDB.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FLUSHDB.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FLUSHDB.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FLUSHDB.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DELETE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DELETE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DELETE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DELETE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DUMP.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DUMP.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DUMP.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DUMP.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_FLUSH.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_FLUSH.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_FLUSH.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_FLUSH.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_KILL.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_KILL.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_KILL.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_KILL.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST_WITHCODE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST_WITHCODE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST_WITHCODE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST_WITHCODE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LOAD.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LOAD.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LOAD.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LOAD.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_RESTORE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_RESTORE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_RESTORE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_RESTORE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_STATS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_STATS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_STATS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/FUNCTION_STATS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEOADD.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEOADD.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEOADD.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEOADD.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEODIST.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEODIST.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEODIST.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEODIST.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEOHASH.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEOHASH.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEOHASH.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEOHASH.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEOPOS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEOPOS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEOPOS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEOPOS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO_WITH.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO_WITH.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO_WITH.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO_WITH.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_STORE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_STORE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_STORE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_STORE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_WITH.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_WITH.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_WITH.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_WITH.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO_WITH.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO_WITH.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO_WITH.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO_WITH.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_STORE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_STORE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_STORE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_STORE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_WITH.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_WITH.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_WITH.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_WITH.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEOSEARCHSTORE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEOSEARCHSTORE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEOSEARCHSTORE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEOSEARCHSTORE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH_WITH.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH_WITH.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH_WITH.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH_WITH.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GET.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GET.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GET.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GET.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GETBIT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GETBIT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GETBIT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GETBIT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GETDEL.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GETDEL.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GETDEL.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GETDEL.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GETEX.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GETEX.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GETEX.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GETEX.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GETRANGE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GETRANGE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GETRANGE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GETRANGE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GETSET.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GETSET.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GETSET.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/GETSET.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HDEL.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HDEL.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HDEL.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HDEL.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HELLO.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HELLO.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HELLO.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HELLO.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HEXISTS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HEXISTS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HEXISTS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HEXISTS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HEXPIRE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HEXPIRE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HEXPIRE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HEXPIRE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HEXPIREAT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HEXPIREAT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HEXPIREAT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HEXPIREAT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HEXPIRETIME.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HEXPIRETIME.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HEXPIRETIME.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HEXPIRETIME.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HGET.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HGET.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HGET.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HGET.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HGETALL.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HGETALL.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HGETALL.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HGETALL.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HGETDEL.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HGETDEL.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HGETDEL.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HGETDEL.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HGETEX.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HGETEX.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HGETEX.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HGETEX.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HINCRBY.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HINCRBY.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HINCRBY.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HINCRBY.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HINCRBYFLOAT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HINCRBYFLOAT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HINCRBYFLOAT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HINCRBYFLOAT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HKEYS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HKEYS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HKEYS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HKEYS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HLEN.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HLEN.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HLEN.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HLEN.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HMGET.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HMGET.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HMGET.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HMGET.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_GET.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_GET.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_GET.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_GET.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_RESET.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_RESET.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_RESET.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_RESET.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_START.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_START.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_START.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_START.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_STOP.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_STOP.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_STOP.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_STOP.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HPERSIST.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HPERSIST.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HPERSIST.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HPERSIST.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HPEXPIRE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HPEXPIRE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HPEXPIRE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HPEXPIRE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HPEXPIREAT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HPEXPIREAT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HPEXPIREAT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HPEXPIREAT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HPEXPIRETIME.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HPEXPIRETIME.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HPEXPIRETIME.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HPEXPIRETIME.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HPTTL.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HPTTL.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HPTTL.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HPTTL.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT_WITHVALUES.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT_WITHVALUES.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT_WITHVALUES.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT_WITHVALUES.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HSCAN.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HSCAN.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HSCAN.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HSCAN.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HSCAN_NOVALUES.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HSCAN_NOVALUES.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HSCAN_NOVALUES.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HSCAN_NOVALUES.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HSET.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HSET.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HSET.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HSET.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HSETEX.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HSETEX.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HSETEX.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HSETEX.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HSETNX.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HSETNX.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HSETNX.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HSETNX.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HSTRLEN.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HSTRLEN.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HSTRLEN.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HSTRLEN.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HTTL.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HTTL.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HTTL.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HTTL.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HVALS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HVALS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HVALS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/HVALS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/INCR.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/INCR.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/INCR.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/INCR.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/INCRBY.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/INCRBY.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/INCRBY.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/INCRBY.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/INCRBYFLOAT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/INCRBYFLOAT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/INCRBYFLOAT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/INCRBYFLOAT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/INFO.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/INFO.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/INFO.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/INFO.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/KEYS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/KEYS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/KEYS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/KEYS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LASTSAVE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LASTSAVE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LASTSAVE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LASTSAVE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LATENCY_DOCTOR.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LATENCY_DOCTOR.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LATENCY_DOCTOR.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LATENCY_DOCTOR.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LATENCY_GRAPH.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LATENCY_GRAPH.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LATENCY_GRAPH.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LATENCY_GRAPH.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTOGRAM.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTOGRAM.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTOGRAM.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTOGRAM.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTORY.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTORY.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTORY.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTORY.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LATENCY_LATEST.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LATENCY_LATEST.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LATENCY_LATEST.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LATENCY_LATEST.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LATENCY_RESET.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LATENCY_RESET.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LATENCY_RESET.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LATENCY_RESET.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LCS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LCS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LCS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LCS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LCS_IDX.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LCS_IDX.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LCS_IDX.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LCS_IDX.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LCS_IDX_WITHMATCHLEN.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LCS_IDX_WITHMATCHLEN.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LCS_IDX_WITHMATCHLEN.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LCS_IDX_WITHMATCHLEN.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LCS_LEN.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LCS_LEN.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LCS_LEN.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LCS_LEN.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LINDEX.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LINDEX.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LINDEX.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LINDEX.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LINSERT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LINSERT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LINSERT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LINSERT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LLEN.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LLEN.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LLEN.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LLEN.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LMOVE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LMOVE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LMOVE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LMOVE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LMPOP.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LMPOP.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LMPOP.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LMPOP.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LOLWUT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LOLWUT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LOLWUT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LOLWUT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LPOP.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LPOP.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LPOP.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LPOP.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LPOP_COUNT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LPOP_COUNT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LPOP_COUNT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LPOP_COUNT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LPOS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LPOS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LPOS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LPOS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LPOS_COUNT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LPOS_COUNT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LPOS_COUNT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LPOS_COUNT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LPUSH.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LPUSH.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LPUSH.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LPUSH.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LPUSHX.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LPUSHX.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LPUSHX.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LPUSHX.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LRANGE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LRANGE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LRANGE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LRANGE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LREM.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LREM.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LREM.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LREM.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LSET.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LSET.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LSET.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LSET.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LTRIM.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LTRIM.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LTRIM.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/LTRIM.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MEMORY_DOCTOR.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MEMORY_DOCTOR.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MEMORY_DOCTOR.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MEMORY_DOCTOR.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MEMORY_MALLOC-STATS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MEMORY_MALLOC-STATS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MEMORY_MALLOC-STATS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MEMORY_MALLOC-STATS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MEMORY_PURGE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MEMORY_PURGE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MEMORY_PURGE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MEMORY_PURGE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MEMORY_STATS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MEMORY_STATS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MEMORY_STATS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MEMORY_STATS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MEMORY_USAGE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MEMORY_USAGE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MEMORY_USAGE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MEMORY_USAGE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MGET.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MGET.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MGET.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MGET.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MIGRATE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MIGRATE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MIGRATE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MIGRATE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MODULE_LIST.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MODULE_LIST.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MODULE_LIST.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MODULE_LIST.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MODULE_LOAD.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MODULE_LOAD.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MODULE_LOAD.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MODULE_LOAD.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MODULE_UNLOAD.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MODULE_UNLOAD.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MODULE_UNLOAD.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MODULE_UNLOAD.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MOVE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MOVE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MOVE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MOVE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MSET.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MSET.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MSET.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MSET.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MSETEX.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MSETEX.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MSETEX.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MSETEX.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MSETNX.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MSETNX.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MSETNX.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/MSETNX.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/OBJECT_ENCODING.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/OBJECT_ENCODING.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/OBJECT_ENCODING.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/OBJECT_ENCODING.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/OBJECT_FREQ.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/OBJECT_FREQ.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/OBJECT_FREQ.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/OBJECT_FREQ.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/OBJECT_IDLETIME.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/OBJECT_IDLETIME.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/OBJECT_IDLETIME.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/OBJECT_IDLETIME.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/OBJECT_REFCOUNT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/OBJECT_REFCOUNT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/OBJECT_REFCOUNT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/OBJECT_REFCOUNT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PERSIST.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PERSIST.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PERSIST.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PERSIST.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PEXPIRE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PEXPIRE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PEXPIRE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PEXPIRE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PEXPIREAT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PEXPIREAT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PEXPIREAT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PEXPIREAT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PEXPIRETIME.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PEXPIRETIME.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PEXPIRETIME.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PEXPIRETIME.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PFADD.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PFADD.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PFADD.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PFADD.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PFCOUNT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PFCOUNT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PFCOUNT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PFCOUNT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PFMERGE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PFMERGE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PFMERGE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PFMERGE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PING.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PING.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PING.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PING.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PSETEX.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PSETEX.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PSETEX.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PSETEX.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PTTL.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PTTL.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PTTL.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PTTL.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PUBLISH.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PUBLISH.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PUBLISH.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PUBLISH.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PUBSUB_CHANNELS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PUBSUB_CHANNELS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PUBSUB_CHANNELS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PUBSUB_CHANNELS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMPAT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMPAT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMPAT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMPAT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMSUB.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMSUB.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMSUB.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMSUB.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDCHANNELS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDCHANNELS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDCHANNELS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDCHANNELS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDNUMSUB.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDNUMSUB.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDNUMSUB.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDNUMSUB.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RANDOMKEY.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RANDOMKEY.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RANDOMKEY.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RANDOMKEY.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/READONLY.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/READONLY.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/READONLY.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/READONLY.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/READWRITE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/READWRITE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/READWRITE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/READWRITE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RENAME.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RENAME.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RENAME.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RENAME.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RENAMENX.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RENAMENX.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RENAMENX.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RENAMENX.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/REPLICAOF.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/REPLICAOF.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/REPLICAOF.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/REPLICAOF.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RESTORE-ASKING.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RESTORE-ASKING.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RESTORE-ASKING.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RESTORE-ASKING.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RESTORE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RESTORE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RESTORE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RESTORE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ROLE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ROLE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ROLE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ROLE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RPOP.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RPOP.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RPOP.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RPOP.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RPOPLPUSH.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RPOPLPUSH.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RPOPLPUSH.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RPOPLPUSH.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RPOP_COUNT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RPOP_COUNT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RPOP_COUNT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RPOP_COUNT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RPUSH.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RPUSH.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RPUSH.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RPUSH.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RPUSHX.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RPUSHX.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RPUSHX.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/RPUSHX.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SADD.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SADD.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SADD.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SADD.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SAVE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SAVE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SAVE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SAVE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SCAN.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SCAN.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SCAN.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SCAN.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SCARD.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SCARD.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SCARD.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SCARD.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SCRIPT_DEBUG.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SCRIPT_DEBUG.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SCRIPT_DEBUG.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SCRIPT_DEBUG.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SCRIPT_EXISTS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SCRIPT_EXISTS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SCRIPT_EXISTS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SCRIPT_EXISTS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SCRIPT_FLUSH.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SCRIPT_FLUSH.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SCRIPT_FLUSH.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SCRIPT_FLUSH.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SCRIPT_KILL.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SCRIPT_KILL.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SCRIPT_KILL.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SCRIPT_KILL.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SCRIPT_LOAD.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SCRIPT_LOAD.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SCRIPT_LOAD.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SCRIPT_LOAD.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SDIFF.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SDIFF.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SDIFF.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SDIFF.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SDIFFSTORE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SDIFFSTORE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SDIFFSTORE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SDIFFSTORE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SET.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SET.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SET.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SET.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SETBIT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SETBIT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SETBIT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SETBIT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SETEX.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SETEX.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SETEX.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SETEX.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SETNX.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SETNX.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SETNX.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SETNX.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SETRANGE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SETRANGE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SETRANGE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SETRANGE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SHUTDOWN.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SHUTDOWN.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SHUTDOWN.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SHUTDOWN.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SINTER.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SINTER.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SINTER.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SINTER.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SINTERCARD.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SINTERCARD.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SINTERCARD.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SINTERCARD.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SINTERSTORE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SINTERSTORE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SINTERSTORE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SINTERSTORE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SISMEMBER.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SISMEMBER.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SISMEMBER.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SISMEMBER.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SMEMBERS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SMEMBERS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SMEMBERS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SMEMBERS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SMISMEMBER.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SMISMEMBER.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SMISMEMBER.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SMISMEMBER.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SMOVE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SMOVE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SMOVE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SMOVE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SORT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SORT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SORT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SORT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SORT_RO.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SORT_RO.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SORT_RO.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SORT_RO.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SORT_STORE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SORT_STORE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SORT_STORE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SORT_STORE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SPOP.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SPOP.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SPOP.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SPOP.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SPOP_COUNT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SPOP_COUNT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SPOP_COUNT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SPOP_COUNT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SPUBLISH.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SPUBLISH.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SPUBLISH.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SPUBLISH.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER_COUNT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER_COUNT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER_COUNT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER_COUNT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SREM.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SREM.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SREM.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SREM.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SSCAN.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SSCAN.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SSCAN.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SSCAN.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/STRLEN.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/STRLEN.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/STRLEN.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/STRLEN.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SUNION.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SUNION.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SUNION.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SUNION.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SUNIONSTORE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SUNIONSTORE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SUNIONSTORE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SUNIONSTORE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SWAPDB.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SWAPDB.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SWAPDB.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/SWAPDB.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/TIME.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/TIME.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/TIME.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/TIME.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/TOUCH.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/TOUCH.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/TOUCH.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/TOUCH.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/TTL.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/TTL.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/TTL.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/TTL.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/TYPE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/TYPE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/TYPE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/TYPE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/UNLINK.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/UNLINK.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/UNLINK.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/UNLINK.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VADD.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VADD.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VADD.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VADD.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VCARD.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VCARD.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VCARD.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VCARD.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VDIM.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VDIM.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VDIM.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VDIM.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VEMB.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VEMB.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VEMB.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VEMB.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VEMB_RAW.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VEMB_RAW.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VEMB_RAW.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VEMB_RAW.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VGETATTR.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VGETATTR.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VGETATTR.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VGETATTR.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VINFO.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VINFO.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VINFO.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VINFO.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VLINKS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VLINKS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VLINKS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VLINKS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VLINKS_WITHSCORES.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VLINKS_WITHSCORES.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VLINKS_WITHSCORES.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VLINKS_WITHSCORES.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VRANDMEMBER.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VRANDMEMBER.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VRANDMEMBER.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VRANDMEMBER.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VRANGE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VRANGE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VRANGE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VRANGE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VREM.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VREM.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VREM.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VREM.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VSETATTR.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VSETATTR.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VSETATTR.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VSETATTR.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VSIM.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VSIM.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VSIM.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VSIM.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VSIM_WITHSCORES.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VSIM_WITHSCORES.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VSIM_WITHSCORES.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/VSIM_WITHSCORES.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/WAIT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/WAIT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/WAIT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/WAIT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XACK.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XACK.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XACK.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XACK.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XACKDEL.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XACKDEL.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XACKDEL.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XACKDEL.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XADD.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XADD.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XADD.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XADD.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XADD_NOMKSTREAM.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XADD_NOMKSTREAM.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XADD_NOMKSTREAM.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XADD_NOMKSTREAM.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM_JUSTID.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM_JUSTID.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM_JUSTID.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM_JUSTID.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XCFGSET.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XCFGSET.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XCFGSET.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XCFGSET.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XCLAIM.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XCLAIM.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XCLAIM.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XCLAIM.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XCLAIM_JUSTID.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XCLAIM_JUSTID.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XCLAIM_JUSTID.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XCLAIM_JUSTID.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XDEL.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XDEL.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XDEL.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XDEL.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XDELEX.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XDELEX.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XDELEX.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XDELEX.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATECONSUMER.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATECONSUMER.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATECONSUMER.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATECONSUMER.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XGROUP_DELCONSUMER.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XGROUP_DELCONSUMER.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XGROUP_DELCONSUMER.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XGROUP_DELCONSUMER.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XGROUP_DESTROY.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XGROUP_DESTROY.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XGROUP_DESTROY.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XGROUP_DESTROY.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XGROUP_SETID.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XGROUP_SETID.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XGROUP_SETID.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XGROUP_SETID.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XINFO_CONSUMERS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XINFO_CONSUMERS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XINFO_CONSUMERS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XINFO_CONSUMERS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XINFO_GROUPS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XINFO_GROUPS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XINFO_GROUPS.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XINFO_GROUPS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XINFO_STREAM.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XINFO_STREAM.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XINFO_STREAM.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XINFO_STREAM.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XLEN.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XLEN.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XLEN.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XLEN.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XPENDING.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XPENDING.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XPENDING.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XPENDING.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XPENDING_RANGE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XPENDING_RANGE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XPENDING_RANGE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XPENDING_RANGE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XRANGE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XRANGE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XRANGE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XRANGE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XREAD.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XREAD.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XREAD.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XREAD.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XREADGROUP.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XREADGROUP.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XREADGROUP.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XREADGROUP.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XREVRANGE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XREVRANGE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XREVRANGE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XREVRANGE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XSETID.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XSETID.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XSETID.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XSETID.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XTRIM.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XTRIM.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XTRIM.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/XTRIM.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZADD.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZADD.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZADD.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZADD.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZADD_INCR.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZADD_INCR.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZADD_INCR.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZADD_INCR.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZCARD.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZCARD.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZCARD.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZCARD.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZCOUNT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZCOUNT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZCOUNT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZCOUNT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZDIFF.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZDIFF.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZDIFF.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZDIFF.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZDIFFSTORE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZDIFFSTORE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZDIFFSTORE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZDIFFSTORE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZDIFF_WITHSCORES.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZDIFF_WITHSCORES.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZDIFF_WITHSCORES.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZDIFF_WITHSCORES.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZINCRBY.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZINCRBY.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZINCRBY.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZINCRBY.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZINTER.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZINTER.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZINTER.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZINTER.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZINTERCARD.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZINTERCARD.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZINTERCARD.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZINTERCARD.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZINTERSTORE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZINTERSTORE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZINTERSTORE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZINTERSTORE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZINTER_WITHSCORES.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZINTER_WITHSCORES.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZINTER_WITHSCORES.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZINTER_WITHSCORES.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZLEXCOUNT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZLEXCOUNT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZLEXCOUNT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZLEXCOUNT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZMPOP.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZMPOP.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZMPOP.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZMPOP.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZMSCORE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZMSCORE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZMSCORE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZMSCORE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX_COUNT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX_COUNT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX_COUNT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX_COUNT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN_COUNT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN_COUNT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN_COUNT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN_COUNT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT_WITHSCORES.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT_WITHSCORES.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT_WITHSCORES.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT_WITHSCORES.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANGE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANGE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANGE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANGE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYLEX.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYLEX.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYLEX.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYLEX.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE_WITHSCORES.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE_WITHSCORES.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE_WITHSCORES.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE_WITHSCORES.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANGESTORE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANGESTORE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANGESTORE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANGESTORE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANGE_WITHSCORES.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANGE_WITHSCORES.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANGE_WITHSCORES.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANGE_WITHSCORES.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANK.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANK.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANK.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANK.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANK_WITHSCORE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANK_WITHSCORE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANK_WITHSCORE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZRANK_WITHSCORE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZREM.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZREM.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZREM.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZREM.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYLEX.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYLEX.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYLEX.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYLEX.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYRANK.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYRANK.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYRANK.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYRANK.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYSCORE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYSCORE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYSCORE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYSCORE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZREVRANK.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZREVRANK.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZREVRANK.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZREVRANK.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZSCAN.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZSCAN.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZSCAN.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZSCAN.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZSCORE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZSCORE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZSCORE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZSCORE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZUNION.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZUNION.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZUNION.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZUNION.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZUNIONSTORE.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZUNIONSTORE.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZUNIONSTORE.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZUNIONSTORE.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZUNION_WITHSCORES.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZUNION_WITHSCORES.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZUNION_WITHSCORES.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/ZUNION_WITHSCORES.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/common-stream.types.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/common-stream.types.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/common-stream.types.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/common-stream.types.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/generic-transformers.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/generic-transformers.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/generic-transformers.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/generic-transformers.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/index.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/commands/index.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/commands/index.js create mode 100644 back/node_modules/@redis/client/dist/lib/commands/index.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/errors.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/errors.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/errors.js create mode 100644 back/node_modules/@redis/client/dist/lib/errors.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/lua-script.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/lua-script.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/lua-script.js create mode 100644 back/node_modules/@redis/client/dist/lib/lua-script.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/multi-command.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/multi-command.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/multi-command.js create mode 100644 back/node_modules/@redis/client/dist/lib/multi-command.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MASTER.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MASTER.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MASTER.js create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MASTER.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MONITOR.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MONITOR.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MONITOR.js create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MONITOR.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_REPLICAS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_REPLICAS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_REPLICAS.js create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_REPLICAS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SENTINELS.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SENTINELS.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SENTINELS.js create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SENTINELS.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SET.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SET.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SET.js create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SET.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/commands/index.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/commands/index.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/commands/index.js create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/commands/index.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/index.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/index.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/index.js create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/index.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/module.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/module.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/module.js create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/module.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/multi-commands.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/multi-commands.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/multi-commands.js create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/multi-commands.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/pub-sub-proxy.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/pub-sub-proxy.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/pub-sub-proxy.js create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/pub-sub-proxy.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/types.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/types.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/types.js create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/types.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/utils.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/utils.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/utils.js create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/utils.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/wait-queue.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/wait-queue.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/wait-queue.js create mode 100644 back/node_modules/@redis/client/dist/lib/sentinel/wait-queue.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/single-entry-cache.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/single-entry-cache.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/single-entry-cache.js create mode 100644 back/node_modules/@redis/client/dist/lib/single-entry-cache.js.map create mode 100644 back/node_modules/@redis/client/dist/lib/utils/digest.d.ts create mode 100644 back/node_modules/@redis/client/dist/lib/utils/digest.d.ts.map create mode 100644 back/node_modules/@redis/client/dist/lib/utils/digest.js create mode 100644 back/node_modules/@redis/client/dist/lib/utils/digest.js.map create mode 100644 back/node_modules/@redis/client/dist/package.json create mode 100644 back/node_modules/@redis/client/package.json create mode 100644 back/node_modules/@redis/json/README.md create mode 100644 back/node_modules/@redis/json/dist/lib/commands/ARRAPPEND.d.ts create mode 100644 back/node_modules/@redis/json/dist/lib/commands/ARRAPPEND.d.ts.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/ARRAPPEND.js create mode 100644 back/node_modules/@redis/json/dist/lib/commands/ARRAPPEND.js.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/ARRINDEX.d.ts create mode 100644 back/node_modules/@redis/json/dist/lib/commands/ARRINDEX.d.ts.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/ARRINDEX.js create mode 100644 back/node_modules/@redis/json/dist/lib/commands/ARRINDEX.js.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/ARRINSERT.d.ts create mode 100644 back/node_modules/@redis/json/dist/lib/commands/ARRINSERT.d.ts.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/ARRINSERT.js create mode 100644 back/node_modules/@redis/json/dist/lib/commands/ARRINSERT.js.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/ARRLEN.d.ts create mode 100644 back/node_modules/@redis/json/dist/lib/commands/ARRLEN.d.ts.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/ARRLEN.js create mode 100644 back/node_modules/@redis/json/dist/lib/commands/ARRLEN.js.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/ARRPOP.d.ts create mode 100644 back/node_modules/@redis/json/dist/lib/commands/ARRPOP.d.ts.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/ARRPOP.js create mode 100644 back/node_modules/@redis/json/dist/lib/commands/ARRPOP.js.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/ARRTRIM.d.ts create mode 100644 back/node_modules/@redis/json/dist/lib/commands/ARRTRIM.d.ts.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/ARRTRIM.js create mode 100644 back/node_modules/@redis/json/dist/lib/commands/ARRTRIM.js.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/CLEAR.d.ts create mode 100644 back/node_modules/@redis/json/dist/lib/commands/CLEAR.d.ts.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/CLEAR.js create mode 100644 back/node_modules/@redis/json/dist/lib/commands/CLEAR.js.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/DEBUG_MEMORY.d.ts create mode 100644 back/node_modules/@redis/json/dist/lib/commands/DEBUG_MEMORY.d.ts.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/DEBUG_MEMORY.js create mode 100644 back/node_modules/@redis/json/dist/lib/commands/DEBUG_MEMORY.js.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/DEL.d.ts create mode 100644 back/node_modules/@redis/json/dist/lib/commands/DEL.d.ts.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/DEL.js create mode 100644 back/node_modules/@redis/json/dist/lib/commands/DEL.js.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/FORGET.d.ts create mode 100644 back/node_modules/@redis/json/dist/lib/commands/FORGET.d.ts.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/FORGET.js create mode 100644 back/node_modules/@redis/json/dist/lib/commands/FORGET.js.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/GET.d.ts create mode 100644 back/node_modules/@redis/json/dist/lib/commands/GET.d.ts.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/GET.js create mode 100644 back/node_modules/@redis/json/dist/lib/commands/GET.js.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/MERGE.d.ts create mode 100644 back/node_modules/@redis/json/dist/lib/commands/MERGE.d.ts.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/MERGE.js create mode 100644 back/node_modules/@redis/json/dist/lib/commands/MERGE.js.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/MGET.d.ts create mode 100644 back/node_modules/@redis/json/dist/lib/commands/MGET.d.ts.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/MGET.js create mode 100644 back/node_modules/@redis/json/dist/lib/commands/MGET.js.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/MSET.d.ts create mode 100644 back/node_modules/@redis/json/dist/lib/commands/MSET.d.ts.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/MSET.js create mode 100644 back/node_modules/@redis/json/dist/lib/commands/MSET.js.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/NUMINCRBY.d.ts create mode 100644 back/node_modules/@redis/json/dist/lib/commands/NUMINCRBY.d.ts.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/NUMINCRBY.js create mode 100644 back/node_modules/@redis/json/dist/lib/commands/NUMINCRBY.js.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/NUMMULTBY.d.ts create mode 100644 back/node_modules/@redis/json/dist/lib/commands/NUMMULTBY.d.ts.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/NUMMULTBY.js create mode 100644 back/node_modules/@redis/json/dist/lib/commands/NUMMULTBY.js.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/OBJKEYS.d.ts create mode 100644 back/node_modules/@redis/json/dist/lib/commands/OBJKEYS.d.ts.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/OBJKEYS.js create mode 100644 back/node_modules/@redis/json/dist/lib/commands/OBJKEYS.js.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/OBJLEN.d.ts create mode 100644 back/node_modules/@redis/json/dist/lib/commands/OBJLEN.d.ts.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/OBJLEN.js create mode 100644 back/node_modules/@redis/json/dist/lib/commands/OBJLEN.js.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/RESP.d.ts create mode 100644 back/node_modules/@redis/json/dist/lib/commands/RESP.d.ts.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/RESP.js create mode 100644 back/node_modules/@redis/json/dist/lib/commands/RESP.js.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/SET.d.ts create mode 100644 back/node_modules/@redis/json/dist/lib/commands/SET.d.ts.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/SET.js create mode 100644 back/node_modules/@redis/json/dist/lib/commands/SET.js.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/STRAPPEND.d.ts create mode 100644 back/node_modules/@redis/json/dist/lib/commands/STRAPPEND.d.ts.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/STRAPPEND.js create mode 100644 back/node_modules/@redis/json/dist/lib/commands/STRAPPEND.js.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/STRLEN.d.ts create mode 100644 back/node_modules/@redis/json/dist/lib/commands/STRLEN.d.ts.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/STRLEN.js create mode 100644 back/node_modules/@redis/json/dist/lib/commands/STRLEN.js.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/TOGGLE.d.ts create mode 100644 back/node_modules/@redis/json/dist/lib/commands/TOGGLE.d.ts.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/TOGGLE.js create mode 100644 back/node_modules/@redis/json/dist/lib/commands/TOGGLE.js.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/TYPE.d.ts create mode 100644 back/node_modules/@redis/json/dist/lib/commands/TYPE.d.ts.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/TYPE.js create mode 100644 back/node_modules/@redis/json/dist/lib/commands/TYPE.js.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/index.d.ts create mode 100644 back/node_modules/@redis/json/dist/lib/commands/index.d.ts.map create mode 100644 back/node_modules/@redis/json/dist/lib/commands/index.js create mode 100644 back/node_modules/@redis/json/dist/lib/commands/index.js.map create mode 100644 back/node_modules/@redis/json/dist/lib/index.d.ts create mode 100644 back/node_modules/@redis/json/dist/lib/index.d.ts.map create mode 100644 back/node_modules/@redis/json/dist/lib/index.js create mode 100644 back/node_modules/@redis/json/dist/lib/index.js.map create mode 100644 back/node_modules/@redis/json/package.json create mode 100644 back/node_modules/@redis/search/README.md create mode 100644 back/node_modules/@redis/search/dist/lib/commands/AGGREGATE.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/AGGREGATE.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/AGGREGATE.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/AGGREGATE.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/AGGREGATE_WITHCURSOR.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/AGGREGATE_WITHCURSOR.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/AGGREGATE_WITHCURSOR.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/AGGREGATE_WITHCURSOR.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/ALIASADD.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/ALIASADD.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/ALIASADD.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/ALIASADD.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/ALIASDEL.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/ALIASDEL.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/ALIASDEL.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/ALIASDEL.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/ALIASUPDATE.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/ALIASUPDATE.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/ALIASUPDATE.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/ALIASUPDATE.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/ALTER.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/ALTER.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/ALTER.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/ALTER.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/CONFIG_GET.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/CONFIG_GET.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/CONFIG_GET.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/CONFIG_GET.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/CONFIG_SET.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/CONFIG_SET.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/CONFIG_SET.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/CONFIG_SET.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/CREATE.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/CREATE.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/CREATE.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/CREATE.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/CURSOR_DEL.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/CURSOR_DEL.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/CURSOR_DEL.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/CURSOR_DEL.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/CURSOR_READ.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/CURSOR_READ.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/CURSOR_READ.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/CURSOR_READ.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/DICTADD.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/DICTADD.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/DICTADD.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/DICTADD.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/DICTDEL.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/DICTDEL.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/DICTDEL.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/DICTDEL.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/DICTDUMP.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/DICTDUMP.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/DICTDUMP.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/DICTDUMP.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/DROPINDEX.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/DROPINDEX.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/DROPINDEX.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/DROPINDEX.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/EXPLAIN.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/EXPLAIN.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/EXPLAIN.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/EXPLAIN.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/EXPLAINCLI.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/EXPLAINCLI.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/EXPLAINCLI.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/EXPLAINCLI.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/HYBRID.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/HYBRID.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/HYBRID.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/HYBRID.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/INFO.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/INFO.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/INFO.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/INFO.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/PROFILE_AGGREGATE.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/PROFILE_AGGREGATE.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/PROFILE_AGGREGATE.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/PROFILE_AGGREGATE.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/PROFILE_SEARCH.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/PROFILE_SEARCH.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/PROFILE_SEARCH.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/PROFILE_SEARCH.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SEARCH.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SEARCH.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SEARCH.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SEARCH.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SEARCH_NOCONTENT.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SEARCH_NOCONTENT.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SEARCH_NOCONTENT.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SEARCH_NOCONTENT.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SPELLCHECK.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SPELLCHECK.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SPELLCHECK.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SPELLCHECK.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SUGADD.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SUGADD.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SUGADD.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SUGADD.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SUGDEL.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SUGDEL.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SUGDEL.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SUGDEL.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SUGGET.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SUGGET.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SUGGET.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SUGGET.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHPAYLOADS.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHPAYLOADS.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHPAYLOADS.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHPAYLOADS.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES_WITHPAYLOADS.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES_WITHPAYLOADS.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES_WITHPAYLOADS.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES_WITHPAYLOADS.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SUGLEN.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SUGLEN.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SUGLEN.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SUGLEN.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SYNDUMP.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SYNDUMP.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SYNDUMP.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SYNDUMP.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SYNUPDATE.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SYNUPDATE.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SYNUPDATE.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/SYNUPDATE.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/TAGVALS.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/TAGVALS.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/TAGVALS.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/TAGVALS.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/_LIST.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/_LIST.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/_LIST.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/_LIST.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/index.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/commands/index.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/commands/index.js create mode 100644 back/node_modules/@redis/search/dist/lib/commands/index.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/dialect/default.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/dialect/default.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/dialect/default.js create mode 100644 back/node_modules/@redis/search/dist/lib/dialect/default.js.map create mode 100644 back/node_modules/@redis/search/dist/lib/index.d.ts create mode 100644 back/node_modules/@redis/search/dist/lib/index.d.ts.map create mode 100644 back/node_modules/@redis/search/dist/lib/index.js create mode 100644 back/node_modules/@redis/search/dist/lib/index.js.map create mode 100644 back/node_modules/@redis/search/package.json create mode 100644 back/node_modules/@redis/time-series/README.md create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/ADD.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/ADD.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/ADD.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/ADD.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/ALTER.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/ALTER.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/ALTER.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/ALTER.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/CREATE.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/CREATE.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/CREATE.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/CREATE.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/CREATERULE.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/CREATERULE.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/CREATERULE.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/CREATERULE.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/DECRBY.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/DECRBY.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/DECRBY.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/DECRBY.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/DEL.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/DEL.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/DEL.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/DEL.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/DELETERULE.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/DELETERULE.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/DELETERULE.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/DELETERULE.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/GET.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/GET.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/GET.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/GET.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/INCRBY.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/INCRBY.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/INCRBY.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/INCRBY.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/INFO.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/INFO.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/INFO.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/INFO.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/INFO_DEBUG.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/INFO_DEBUG.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/INFO_DEBUG.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/INFO_DEBUG.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MADD.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MADD.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MADD.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MADD.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MGET.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MGET.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MGET.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MGET.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MGET_SELECTED_LABELS.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MGET_SELECTED_LABELS.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MGET_SELECTED_LABELS.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MGET_SELECTED_LABELS.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MGET_WITHLABELS.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MGET_WITHLABELS.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MGET_WITHLABELS.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MGET_WITHLABELS.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MRANGE.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MRANGE.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MRANGE.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MRANGE.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_GROUPBY.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_GROUPBY.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_GROUPBY.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_GROUPBY.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS_GROUPBY.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS_GROUPBY.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS_GROUPBY.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS_GROUPBY.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS_GROUPBY.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS_GROUPBY.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS_GROUPBY.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS_GROUPBY.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_GROUPBY.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_GROUPBY.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_GROUPBY.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_GROUPBY.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS_GROUPBY.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS_GROUPBY.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS_GROUPBY.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS_GROUPBY.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS_GROUPBY.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS_GROUPBY.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS_GROUPBY.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS_GROUPBY.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/QUERYINDEX.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/QUERYINDEX.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/QUERYINDEX.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/QUERYINDEX.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/RANGE.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/RANGE.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/RANGE.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/RANGE.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/REVRANGE.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/REVRANGE.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/REVRANGE.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/REVRANGE.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/helpers.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/helpers.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/helpers.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/helpers.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/index.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/index.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/index.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/commands/index.js.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/index.d.ts create mode 100644 back/node_modules/@redis/time-series/dist/lib/index.d.ts.map create mode 100644 back/node_modules/@redis/time-series/dist/lib/index.js create mode 100644 back/node_modules/@redis/time-series/dist/lib/index.js.map create mode 100644 back/node_modules/@redis/time-series/package.json rename {node_modules => back/node_modules}/accepts/HISTORY.md (100%) rename {node_modules => back/node_modules}/accepts/LICENSE (100%) rename {node_modules => back/node_modules}/accepts/README.md (100%) rename {node_modules => back/node_modules}/accepts/index.js (100%) rename {node_modules => back/node_modules}/accepts/package.json (100%) rename {node_modules => back/node_modules}/body-parser/LICENSE (100%) rename {node_modules => back/node_modules}/body-parser/README.md (100%) rename {node_modules => back/node_modules}/body-parser/index.js (100%) rename {node_modules => back/node_modules}/body-parser/lib/read.js (100%) rename {node_modules => back/node_modules}/body-parser/lib/types/json.js (100%) rename {node_modules => back/node_modules}/body-parser/lib/types/raw.js (100%) rename {node_modules => back/node_modules}/body-parser/lib/types/text.js (100%) rename {node_modules => back/node_modules}/body-parser/lib/types/urlencoded.js (100%) rename {node_modules => back/node_modules}/body-parser/lib/utils.js (100%) rename {node_modules => back/node_modules}/body-parser/package.json (100%) create mode 100644 back/node_modules/buffer-equal-constant-time/.npmignore create mode 100644 back/node_modules/buffer-equal-constant-time/.travis.yml create mode 100644 back/node_modules/buffer-equal-constant-time/LICENSE.txt create mode 100644 back/node_modules/buffer-equal-constant-time/README.md create mode 100644 back/node_modules/buffer-equal-constant-time/index.js create mode 100644 back/node_modules/buffer-equal-constant-time/package.json create mode 100644 back/node_modules/buffer-equal-constant-time/test.js rename {node_modules => back/node_modules}/bytes/History.md (100%) rename {node_modules => back/node_modules}/bytes/LICENSE (100%) rename {node_modules => back/node_modules}/bytes/Readme.md (100%) rename {node_modules => back/node_modules}/bytes/index.js (100%) rename {node_modules => back/node_modules}/bytes/package.json (100%) rename {node_modules => back/node_modules}/call-bind-apply-helpers/.eslintrc (100%) rename {node_modules => back/node_modules}/call-bind-apply-helpers/.github/FUNDING.yml (100%) rename {node_modules => back/node_modules}/call-bind-apply-helpers/.nycrc (100%) rename {node_modules => back/node_modules}/call-bind-apply-helpers/CHANGELOG.md (100%) rename {node_modules => back/node_modules}/call-bind-apply-helpers/LICENSE (100%) rename {node_modules => back/node_modules}/call-bind-apply-helpers/README.md (100%) rename {node_modules => back/node_modules}/call-bind-apply-helpers/actualApply.d.ts (100%) rename {node_modules => back/node_modules}/call-bind-apply-helpers/actualApply.js (100%) rename {node_modules => back/node_modules}/call-bind-apply-helpers/applyBind.d.ts (100%) rename {node_modules => back/node_modules}/call-bind-apply-helpers/applyBind.js (100%) rename {node_modules => back/node_modules}/call-bind-apply-helpers/functionApply.d.ts (100%) rename {node_modules => back/node_modules}/call-bind-apply-helpers/functionApply.js (100%) rename {node_modules => back/node_modules}/call-bind-apply-helpers/functionCall.d.ts (100%) rename {node_modules => back/node_modules}/call-bind-apply-helpers/functionCall.js (100%) rename {node_modules => back/node_modules}/call-bind-apply-helpers/index.d.ts (100%) rename {node_modules => back/node_modules}/call-bind-apply-helpers/index.js (100%) rename {node_modules => back/node_modules}/call-bind-apply-helpers/package.json (100%) rename {node_modules => back/node_modules}/call-bind-apply-helpers/reflectApply.d.ts (100%) rename {node_modules => back/node_modules}/call-bind-apply-helpers/reflectApply.js (100%) rename {node_modules => back/node_modules}/call-bind-apply-helpers/test/index.js (100%) rename {node_modules => back/node_modules}/call-bind-apply-helpers/tsconfig.json (100%) rename {node_modules => back/node_modules}/call-bound/.eslintrc (100%) rename {node_modules => back/node_modules}/call-bound/.github/FUNDING.yml (100%) rename {node_modules => back/node_modules}/call-bound/.nycrc (100%) rename {node_modules => back/node_modules}/call-bound/CHANGELOG.md (100%) rename {node_modules => back/node_modules}/call-bound/LICENSE (100%) rename {node_modules => back/node_modules}/call-bound/README.md (100%) rename {node_modules => back/node_modules}/call-bound/index.d.ts (100%) rename {node_modules => back/node_modules}/call-bound/index.js (100%) rename {node_modules => back/node_modules}/call-bound/package.json (100%) rename {node_modules => back/node_modules}/call-bound/test/index.js (100%) rename {node_modules => back/node_modules}/call-bound/tsconfig.json (100%) create mode 100644 back/node_modules/cluster-key-slot/.eslintrc create mode 100644 back/node_modules/cluster-key-slot/LICENSE create mode 100644 back/node_modules/cluster-key-slot/README.md create mode 100644 back/node_modules/cluster-key-slot/index.d.ts create mode 100644 back/node_modules/cluster-key-slot/lib/index.js create mode 100644 back/node_modules/cluster-key-slot/package.json rename {node_modules => back/node_modules}/content-disposition/HISTORY.md (100%) rename {node_modules => back/node_modules}/content-disposition/LICENSE (100%) rename {node_modules => back/node_modules}/content-disposition/README.md (100%) rename {node_modules => back/node_modules}/content-disposition/index.js (100%) rename {node_modules => back/node_modules}/content-disposition/package.json (100%) rename {node_modules => back/node_modules}/content-type/HISTORY.md (100%) rename {node_modules => back/node_modules}/content-type/LICENSE (100%) rename {node_modules => back/node_modules}/content-type/README.md (100%) rename {node_modules => back/node_modules}/content-type/index.js (100%) rename {node_modules => back/node_modules}/content-type/package.json (100%) rename {node_modules => back/node_modules}/cookie-signature/History.md (100%) rename {node_modules => back/node_modules}/cookie-signature/LICENSE (100%) rename {node_modules => back/node_modules}/cookie-signature/Readme.md (100%) rename {node_modules => back/node_modules}/cookie-signature/index.js (100%) rename {node_modules => back/node_modules}/cookie-signature/package.json (100%) rename {node_modules => back/node_modules}/cookie/LICENSE (100%) rename {node_modules => back/node_modules}/cookie/README.md (100%) rename {node_modules => back/node_modules}/cookie/SECURITY.md (100%) rename {node_modules => back/node_modules}/cookie/index.js (100%) rename {node_modules => back/node_modules}/cookie/package.json (100%) rename {node_modules => back/node_modules}/debug/LICENSE (100%) rename {node_modules => back/node_modules}/debug/README.md (100%) rename {node_modules => back/node_modules}/debug/package.json (100%) rename {node_modules => back/node_modules}/debug/src/browser.js (100%) rename {node_modules => back/node_modules}/debug/src/common.js (100%) rename {node_modules => back/node_modules}/debug/src/index.js (100%) rename {node_modules => back/node_modules}/debug/src/node.js (100%) rename {node_modules => back/node_modules}/depd/History.md (100%) rename {node_modules => back/node_modules}/depd/LICENSE (100%) rename {node_modules => back/node_modules}/depd/Readme.md (100%) rename {node_modules => back/node_modules}/depd/index.js (100%) rename {node_modules => back/node_modules}/depd/lib/browser/index.js (100%) rename {node_modules => back/node_modules}/depd/package.json (100%) rename {node_modules => back/node_modules}/dunder-proto/.eslintrc (100%) rename {node_modules => back/node_modules}/dunder-proto/.github/FUNDING.yml (100%) rename {node_modules => back/node_modules}/dunder-proto/.nycrc (100%) rename {node_modules => back/node_modules}/dunder-proto/CHANGELOG.md (100%) rename {node_modules => back/node_modules}/dunder-proto/LICENSE (100%) rename {node_modules => back/node_modules}/dunder-proto/README.md (100%) rename {node_modules => back/node_modules}/dunder-proto/get.d.ts (100%) rename {node_modules => back/node_modules}/dunder-proto/get.js (100%) rename {node_modules => back/node_modules}/dunder-proto/package.json (100%) rename {node_modules => back/node_modules}/dunder-proto/set.d.ts (100%) rename {node_modules => back/node_modules}/dunder-proto/set.js (100%) rename {node_modules => back/node_modules}/dunder-proto/test/get.js (100%) rename {node_modules => back/node_modules}/dunder-proto/test/index.js (100%) rename {node_modules => back/node_modules}/dunder-proto/test/set.js (100%) rename {node_modules => back/node_modules}/dunder-proto/tsconfig.json (100%) create mode 100644 back/node_modules/ecdsa-sig-formatter/CODEOWNERS create mode 100644 back/node_modules/ecdsa-sig-formatter/LICENSE create mode 100644 back/node_modules/ecdsa-sig-formatter/README.md create mode 100644 back/node_modules/ecdsa-sig-formatter/package.json create mode 100644 back/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.d.ts create mode 100644 back/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js create mode 100644 back/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js rename {node_modules => back/node_modules}/ee-first/LICENSE (100%) rename {node_modules => back/node_modules}/ee-first/README.md (100%) rename {node_modules => back/node_modules}/ee-first/index.js (100%) rename {node_modules => back/node_modules}/ee-first/package.json (100%) rename {node_modules => back/node_modules}/encodeurl/LICENSE (100%) rename {node_modules => back/node_modules}/encodeurl/README.md (100%) rename {node_modules => back/node_modules}/encodeurl/index.js (100%) rename {node_modules => back/node_modules}/encodeurl/package.json (100%) rename {node_modules => back/node_modules}/es-define-property/.eslintrc (100%) rename {node_modules => back/node_modules}/es-define-property/.github/FUNDING.yml (100%) rename {node_modules => back/node_modules}/es-define-property/.nycrc (100%) rename {node_modules => back/node_modules}/es-define-property/CHANGELOG.md (100%) rename {node_modules => back/node_modules}/es-define-property/LICENSE (100%) rename {node_modules => back/node_modules}/es-define-property/README.md (100%) rename {node_modules => back/node_modules}/es-define-property/index.d.ts (100%) rename {node_modules => back/node_modules}/es-define-property/index.js (100%) rename {node_modules => back/node_modules}/es-define-property/package.json (100%) rename {node_modules => back/node_modules}/es-define-property/test/index.js (100%) rename {node_modules => back/node_modules}/es-define-property/tsconfig.json (100%) rename {node_modules => back/node_modules}/es-errors/.eslintrc (100%) rename {node_modules => back/node_modules}/es-errors/.github/FUNDING.yml (100%) rename {node_modules => back/node_modules}/es-errors/CHANGELOG.md (100%) rename {node_modules => back/node_modules}/es-errors/LICENSE (100%) rename {node_modules => back/node_modules}/es-errors/README.md (100%) rename {node_modules => back/node_modules}/es-errors/eval.d.ts (100%) rename {node_modules => back/node_modules}/es-errors/eval.js (100%) rename {node_modules => back/node_modules}/es-errors/index.d.ts (100%) rename {node_modules => back/node_modules}/es-errors/index.js (100%) rename {node_modules => back/node_modules}/es-errors/package.json (100%) rename {node_modules => back/node_modules}/es-errors/range.d.ts (100%) rename {node_modules => back/node_modules}/es-errors/range.js (100%) rename {node_modules => back/node_modules}/es-errors/ref.d.ts (100%) rename {node_modules => back/node_modules}/es-errors/ref.js (100%) rename {node_modules => back/node_modules}/es-errors/syntax.d.ts (100%) rename {node_modules => back/node_modules}/es-errors/syntax.js (100%) rename {node_modules => back/node_modules}/es-errors/test/index.js (100%) rename {node_modules => back/node_modules}/es-errors/tsconfig.json (100%) rename {node_modules => back/node_modules}/es-errors/type.d.ts (100%) rename {node_modules => back/node_modules}/es-errors/type.js (100%) rename {node_modules => back/node_modules}/es-errors/uri.d.ts (100%) rename {node_modules => back/node_modules}/es-errors/uri.js (100%) rename {node_modules => back/node_modules}/es-object-atoms/.eslintrc (100%) rename {node_modules => back/node_modules}/es-object-atoms/.github/FUNDING.yml (100%) rename {node_modules => back/node_modules}/es-object-atoms/CHANGELOG.md (100%) rename {node_modules => back/node_modules}/es-object-atoms/LICENSE (100%) rename {node_modules => back/node_modules}/es-object-atoms/README.md (100%) rename {node_modules => back/node_modules}/es-object-atoms/RequireObjectCoercible.d.ts (100%) rename {node_modules => back/node_modules}/es-object-atoms/RequireObjectCoercible.js (100%) rename {node_modules => back/node_modules}/es-object-atoms/ToObject.d.ts (100%) rename {node_modules => back/node_modules}/es-object-atoms/ToObject.js (100%) rename {node_modules => back/node_modules}/es-object-atoms/index.d.ts (100%) rename {node_modules => back/node_modules}/es-object-atoms/index.js (100%) rename {node_modules => back/node_modules}/es-object-atoms/isObject.d.ts (100%) rename {node_modules => back/node_modules}/es-object-atoms/isObject.js (100%) rename {node_modules => back/node_modules}/es-object-atoms/package.json (100%) rename {node_modules => back/node_modules}/es-object-atoms/test/index.js (100%) rename {node_modules => back/node_modules}/es-object-atoms/tsconfig.json (100%) rename {node_modules => back/node_modules}/escape-html/LICENSE (100%) rename {node_modules => back/node_modules}/escape-html/Readme.md (100%) rename {node_modules => back/node_modules}/escape-html/index.js (100%) rename {node_modules => back/node_modules}/escape-html/package.json (100%) rename {node_modules => back/node_modules}/etag/HISTORY.md (100%) rename {node_modules => back/node_modules}/etag/LICENSE (100%) rename {node_modules => back/node_modules}/etag/README.md (100%) rename {node_modules => back/node_modules}/etag/index.js (100%) rename {node_modules => back/node_modules}/etag/package.json (100%) rename {node_modules => back/node_modules}/express/LICENSE (100%) rename {node_modules => back/node_modules}/express/Readme.md (100%) rename {node_modules => back/node_modules}/express/index.js (100%) rename {node_modules => back/node_modules}/express/lib/application.js (100%) rename {node_modules => back/node_modules}/express/lib/express.js (100%) rename {node_modules => back/node_modules}/express/lib/request.js (100%) rename {node_modules => back/node_modules}/express/lib/response.js (100%) rename {node_modules => back/node_modules}/express/lib/utils.js (100%) rename {node_modules => back/node_modules}/express/lib/view.js (100%) rename {node_modules => back/node_modules}/express/package.json (100%) rename {node_modules => back/node_modules}/finalhandler/HISTORY.md (100%) rename {node_modules => back/node_modules}/finalhandler/LICENSE (100%) rename {node_modules => back/node_modules}/finalhandler/README.md (100%) rename {node_modules => back/node_modules}/finalhandler/index.js (100%) rename {node_modules => back/node_modules}/finalhandler/package.json (100%) rename {node_modules => back/node_modules}/forwarded/HISTORY.md (100%) rename {node_modules => back/node_modules}/forwarded/LICENSE (100%) rename {node_modules => back/node_modules}/forwarded/README.md (100%) rename {node_modules => back/node_modules}/forwarded/index.js (100%) rename {node_modules => back/node_modules}/forwarded/package.json (100%) rename {node_modules => back/node_modules}/fresh/HISTORY.md (100%) rename {node_modules => back/node_modules}/fresh/LICENSE (100%) rename {node_modules => back/node_modules}/fresh/README.md (100%) rename {node_modules => back/node_modules}/fresh/index.js (100%) rename {node_modules => back/node_modules}/fresh/package.json (100%) rename {node_modules => back/node_modules}/function-bind/.eslintrc (100%) rename {node_modules => back/node_modules}/function-bind/.github/FUNDING.yml (100%) rename {node_modules => back/node_modules}/function-bind/.github/SECURITY.md (100%) rename {node_modules => back/node_modules}/function-bind/.nycrc (100%) rename {node_modules => back/node_modules}/function-bind/CHANGELOG.md (100%) rename {node_modules => back/node_modules}/function-bind/LICENSE (100%) rename {node_modules => back/node_modules}/function-bind/README.md (100%) rename {node_modules => back/node_modules}/function-bind/implementation.js (100%) rename {node_modules => back/node_modules}/function-bind/index.js (100%) rename {node_modules => back/node_modules}/function-bind/package.json (100%) rename {node_modules => back/node_modules}/function-bind/test/.eslintrc (100%) rename {node_modules => back/node_modules}/function-bind/test/index.js (100%) rename {node_modules => back/node_modules}/get-intrinsic/.eslintrc (100%) rename {node_modules => back/node_modules}/get-intrinsic/.github/FUNDING.yml (100%) rename {node_modules => back/node_modules}/get-intrinsic/.nycrc (100%) rename {node_modules => back/node_modules}/get-intrinsic/CHANGELOG.md (100%) rename {node_modules => back/node_modules}/get-intrinsic/LICENSE (100%) rename {node_modules => back/node_modules}/get-intrinsic/README.md (100%) rename {node_modules => back/node_modules}/get-intrinsic/index.js (100%) rename {node_modules => back/node_modules}/get-intrinsic/package.json (100%) rename {node_modules => back/node_modules}/get-intrinsic/test/GetIntrinsic.js (100%) rename {node_modules => back/node_modules}/get-proto/.eslintrc (100%) rename {node_modules => back/node_modules}/get-proto/.github/FUNDING.yml (100%) rename {node_modules => back/node_modules}/get-proto/.nycrc (100%) rename {node_modules => back/node_modules}/get-proto/CHANGELOG.md (100%) rename {node_modules => back/node_modules}/get-proto/LICENSE (100%) rename {node_modules => back/node_modules}/get-proto/Object.getPrototypeOf.d.ts (100%) rename {node_modules => back/node_modules}/get-proto/Object.getPrototypeOf.js (100%) rename {node_modules => back/node_modules}/get-proto/README.md (100%) rename {node_modules => back/node_modules}/get-proto/Reflect.getPrototypeOf.d.ts (100%) rename {node_modules => back/node_modules}/get-proto/Reflect.getPrototypeOf.js (100%) rename {node_modules => back/node_modules}/get-proto/index.d.ts (100%) rename {node_modules => back/node_modules}/get-proto/index.js (100%) rename {node_modules => back/node_modules}/get-proto/package.json (100%) rename {node_modules => back/node_modules}/get-proto/test/index.js (100%) rename {node_modules => back/node_modules}/get-proto/tsconfig.json (100%) rename {node_modules => back/node_modules}/gopd/.eslintrc (100%) rename {node_modules => back/node_modules}/gopd/.github/FUNDING.yml (100%) rename {node_modules => back/node_modules}/gopd/CHANGELOG.md (100%) rename {node_modules => back/node_modules}/gopd/LICENSE (100%) rename {node_modules => back/node_modules}/gopd/README.md (100%) rename {node_modules => back/node_modules}/gopd/gOPD.d.ts (100%) rename {node_modules => back/node_modules}/gopd/gOPD.js (100%) rename {node_modules => back/node_modules}/gopd/index.d.ts (100%) rename {node_modules => back/node_modules}/gopd/index.js (100%) rename {node_modules => back/node_modules}/gopd/package.json (100%) rename {node_modules => back/node_modules}/gopd/test/index.js (100%) rename {node_modules => back/node_modules}/gopd/tsconfig.json (100%) rename {node_modules => back/node_modules}/has-symbols/.eslintrc (100%) rename {node_modules => back/node_modules}/has-symbols/.github/FUNDING.yml (100%) rename {node_modules => back/node_modules}/has-symbols/.nycrc (100%) rename {node_modules => back/node_modules}/has-symbols/CHANGELOG.md (100%) rename {node_modules => back/node_modules}/has-symbols/LICENSE (100%) rename {node_modules => back/node_modules}/has-symbols/README.md (100%) rename {node_modules => back/node_modules}/has-symbols/index.d.ts (100%) rename {node_modules => back/node_modules}/has-symbols/index.js (100%) rename {node_modules => back/node_modules}/has-symbols/package.json (100%) rename {node_modules => back/node_modules}/has-symbols/shams.d.ts (100%) rename {node_modules => back/node_modules}/has-symbols/shams.js (100%) rename {node_modules => back/node_modules}/has-symbols/test/index.js (100%) rename {node_modules => back/node_modules}/has-symbols/test/shams/core-js.js (100%) rename {node_modules => back/node_modules}/has-symbols/test/shams/get-own-property-symbols.js (100%) rename {node_modules => back/node_modules}/has-symbols/test/tests.js (100%) rename {node_modules => back/node_modules}/has-symbols/tsconfig.json (100%) rename {node_modules => back/node_modules}/hasown/.eslintrc (100%) rename {node_modules => back/node_modules}/hasown/.github/FUNDING.yml (100%) rename {node_modules => back/node_modules}/hasown/.nycrc (100%) rename {node_modules => back/node_modules}/hasown/CHANGELOG.md (100%) rename {node_modules => back/node_modules}/hasown/LICENSE (100%) rename {node_modules => back/node_modules}/hasown/README.md (100%) rename {node_modules => back/node_modules}/hasown/index.d.ts (100%) rename {node_modules => back/node_modules}/hasown/index.js (100%) rename {node_modules => back/node_modules}/hasown/package.json (100%) rename {node_modules => back/node_modules}/hasown/tsconfig.json (100%) rename {node_modules => back/node_modules}/http-errors/HISTORY.md (100%) rename {node_modules => back/node_modules}/http-errors/LICENSE (100%) rename {node_modules => back/node_modules}/http-errors/README.md (100%) rename {node_modules => back/node_modules}/http-errors/index.js (100%) rename {node_modules => back/node_modules}/http-errors/package.json (100%) rename {node_modules => back/node_modules}/iconv-lite/LICENSE (100%) rename {node_modules => back/node_modules}/iconv-lite/README.md (100%) rename {node_modules => back/node_modules}/iconv-lite/encodings/dbcs-codec.js (100%) rename {node_modules => back/node_modules}/iconv-lite/encodings/dbcs-data.js (100%) rename {node_modules => back/node_modules}/iconv-lite/encodings/index.js (100%) rename {node_modules => back/node_modules}/iconv-lite/encodings/internal.js (100%) rename {node_modules => back/node_modules}/iconv-lite/encodings/sbcs-codec.js (100%) rename {node_modules => back/node_modules}/iconv-lite/encodings/sbcs-data-generated.js (100%) rename {node_modules => back/node_modules}/iconv-lite/encodings/sbcs-data.js (100%) rename {node_modules => back/node_modules}/iconv-lite/encodings/tables/big5-added.json (100%) rename {node_modules => back/node_modules}/iconv-lite/encodings/tables/cp936.json (100%) rename {node_modules => back/node_modules}/iconv-lite/encodings/tables/cp949.json (100%) rename {node_modules => back/node_modules}/iconv-lite/encodings/tables/cp950.json (100%) rename {node_modules => back/node_modules}/iconv-lite/encodings/tables/eucjp.json (100%) rename {node_modules => back/node_modules}/iconv-lite/encodings/tables/gb18030-ranges.json (100%) rename {node_modules => back/node_modules}/iconv-lite/encodings/tables/gbk-added.json (100%) rename {node_modules => back/node_modules}/iconv-lite/encodings/tables/shiftjis.json (100%) rename {node_modules => back/node_modules}/iconv-lite/encodings/utf16.js (100%) rename {node_modules => back/node_modules}/iconv-lite/encodings/utf32.js (100%) rename {node_modules => back/node_modules}/iconv-lite/encodings/utf7.js (100%) rename {node_modules => back/node_modules}/iconv-lite/lib/bom-handling.js (100%) rename {node_modules => back/node_modules}/iconv-lite/lib/helpers/merge-exports.js (100%) rename {node_modules => back/node_modules}/iconv-lite/lib/index.d.ts (100%) rename {node_modules => back/node_modules}/iconv-lite/lib/index.js (100%) rename {node_modules => back/node_modules}/iconv-lite/lib/streams.js (100%) rename {node_modules => back/node_modules}/iconv-lite/package.json (100%) rename {node_modules => back/node_modules}/iconv-lite/types/encodings.d.ts (100%) rename {node_modules => back/node_modules}/inherits/LICENSE (100%) rename {node_modules => back/node_modules}/inherits/README.md (100%) rename {node_modules => back/node_modules}/inherits/inherits.js (100%) rename {node_modules => back/node_modules}/inherits/inherits_browser.js (100%) rename {node_modules => back/node_modules}/inherits/package.json (100%) rename {node_modules => back/node_modules}/ipaddr.js/LICENSE (100%) rename {node_modules => back/node_modules}/ipaddr.js/README.md (100%) rename {node_modules => back/node_modules}/ipaddr.js/ipaddr.min.js (100%) rename {node_modules => back/node_modules}/ipaddr.js/lib/ipaddr.js (100%) rename {node_modules => back/node_modules}/ipaddr.js/lib/ipaddr.js.d.ts (100%) rename {node_modules => back/node_modules}/ipaddr.js/package.json (100%) rename {node_modules => back/node_modules}/is-promise/LICENSE (100%) rename {node_modules => back/node_modules}/is-promise/index.d.ts (100%) rename {node_modules => back/node_modules}/is-promise/index.js (100%) rename {node_modules => back/node_modules}/is-promise/index.mjs (100%) rename {node_modules => back/node_modules}/is-promise/package.json (100%) rename {node_modules => back/node_modules}/is-promise/readme.md (100%) create mode 100644 back/node_modules/jsonwebtoken/LICENSE create mode 100644 back/node_modules/jsonwebtoken/README.md create mode 100644 back/node_modules/jsonwebtoken/decode.js create mode 100644 back/node_modules/jsonwebtoken/index.js create mode 100644 back/node_modules/jsonwebtoken/lib/JsonWebTokenError.js create mode 100644 back/node_modules/jsonwebtoken/lib/NotBeforeError.js create mode 100644 back/node_modules/jsonwebtoken/lib/TokenExpiredError.js create mode 100644 back/node_modules/jsonwebtoken/lib/asymmetricKeyDetailsSupported.js create mode 100644 back/node_modules/jsonwebtoken/lib/psSupported.js create mode 100644 back/node_modules/jsonwebtoken/lib/rsaPssKeyDetailsSupported.js create mode 100644 back/node_modules/jsonwebtoken/lib/timespan.js create mode 100644 back/node_modules/jsonwebtoken/lib/validateAsymmetricKey.js create mode 100644 back/node_modules/jsonwebtoken/package.json create mode 100644 back/node_modules/jsonwebtoken/sign.js create mode 100644 back/node_modules/jsonwebtoken/verify.js create mode 100644 back/node_modules/jwa/LICENSE create mode 100644 back/node_modules/jwa/README.md create mode 100644 back/node_modules/jwa/index.js create mode 100644 back/node_modules/jwa/opslevel.yml create mode 100644 back/node_modules/jwa/package.json create mode 100644 back/node_modules/jws/CHANGELOG.md create mode 100644 back/node_modules/jws/LICENSE create mode 100644 back/node_modules/jws/index.js create mode 100644 back/node_modules/jws/lib/data-stream.js create mode 100644 back/node_modules/jws/lib/sign-stream.js create mode 100644 back/node_modules/jws/lib/tostring.js create mode 100644 back/node_modules/jws/lib/verify-stream.js create mode 100644 back/node_modules/jws/opslevel.yml create mode 100644 back/node_modules/jws/package.json create mode 100644 back/node_modules/jws/readme.md create mode 100644 back/node_modules/lodash.includes/LICENSE create mode 100644 back/node_modules/lodash.includes/README.md create mode 100644 back/node_modules/lodash.includes/index.js create mode 100644 back/node_modules/lodash.includes/package.json create mode 100644 back/node_modules/lodash.isboolean/LICENSE create mode 100644 back/node_modules/lodash.isboolean/README.md create mode 100644 back/node_modules/lodash.isboolean/index.js create mode 100644 back/node_modules/lodash.isboolean/package.json create mode 100644 back/node_modules/lodash.isinteger/LICENSE create mode 100644 back/node_modules/lodash.isinteger/README.md create mode 100644 back/node_modules/lodash.isinteger/index.js create mode 100644 back/node_modules/lodash.isinteger/package.json create mode 100644 back/node_modules/lodash.isnumber/LICENSE create mode 100644 back/node_modules/lodash.isnumber/README.md create mode 100644 back/node_modules/lodash.isnumber/index.js create mode 100644 back/node_modules/lodash.isnumber/package.json create mode 100644 back/node_modules/lodash.isplainobject/LICENSE create mode 100644 back/node_modules/lodash.isplainobject/README.md create mode 100644 back/node_modules/lodash.isplainobject/index.js create mode 100644 back/node_modules/lodash.isplainobject/package.json create mode 100644 back/node_modules/lodash.isstring/LICENSE create mode 100644 back/node_modules/lodash.isstring/README.md create mode 100644 back/node_modules/lodash.isstring/index.js create mode 100644 back/node_modules/lodash.isstring/package.json create mode 100644 back/node_modules/lodash.once/LICENSE create mode 100644 back/node_modules/lodash.once/README.md create mode 100644 back/node_modules/lodash.once/index.js create mode 100644 back/node_modules/lodash.once/package.json rename {node_modules => back/node_modules}/math-intrinsics/.eslintrc (100%) rename {node_modules => back/node_modules}/math-intrinsics/.github/FUNDING.yml (100%) rename {node_modules => back/node_modules}/math-intrinsics/CHANGELOG.md (100%) rename {node_modules => back/node_modules}/math-intrinsics/LICENSE (100%) rename {node_modules => back/node_modules}/math-intrinsics/README.md (100%) rename {node_modules => back/node_modules}/math-intrinsics/abs.d.ts (100%) rename {node_modules => back/node_modules}/math-intrinsics/abs.js (100%) rename {node_modules => back/node_modules}/math-intrinsics/constants/maxArrayLength.d.ts (100%) rename {node_modules => back/node_modules}/math-intrinsics/constants/maxArrayLength.js (100%) rename {node_modules => back/node_modules}/math-intrinsics/constants/maxSafeInteger.d.ts (100%) rename {node_modules => back/node_modules}/math-intrinsics/constants/maxSafeInteger.js (100%) rename {node_modules => back/node_modules}/math-intrinsics/constants/maxValue.d.ts (100%) rename {node_modules => back/node_modules}/math-intrinsics/constants/maxValue.js (100%) rename {node_modules => back/node_modules}/math-intrinsics/floor.d.ts (100%) rename {node_modules => back/node_modules}/math-intrinsics/floor.js (100%) rename {node_modules => back/node_modules}/math-intrinsics/isFinite.d.ts (100%) rename {node_modules => back/node_modules}/math-intrinsics/isFinite.js (100%) rename {node_modules => back/node_modules}/math-intrinsics/isInteger.d.ts (100%) rename {node_modules => back/node_modules}/math-intrinsics/isInteger.js (100%) rename {node_modules => back/node_modules}/math-intrinsics/isNaN.d.ts (100%) rename {node_modules => back/node_modules}/math-intrinsics/isNaN.js (100%) rename {node_modules => back/node_modules}/math-intrinsics/isNegativeZero.d.ts (100%) rename {node_modules => back/node_modules}/math-intrinsics/isNegativeZero.js (100%) rename {node_modules => back/node_modules}/math-intrinsics/max.d.ts (100%) rename {node_modules => back/node_modules}/math-intrinsics/max.js (100%) rename {node_modules => back/node_modules}/math-intrinsics/min.d.ts (100%) rename {node_modules => back/node_modules}/math-intrinsics/min.js (100%) rename {node_modules => back/node_modules}/math-intrinsics/mod.d.ts (100%) rename {node_modules => back/node_modules}/math-intrinsics/mod.js (100%) rename {node_modules => back/node_modules}/math-intrinsics/package.json (100%) rename {node_modules => back/node_modules}/math-intrinsics/pow.d.ts (100%) rename {node_modules => back/node_modules}/math-intrinsics/pow.js (100%) rename {node_modules => back/node_modules}/math-intrinsics/round.d.ts (100%) rename {node_modules => back/node_modules}/math-intrinsics/round.js (100%) rename {node_modules => back/node_modules}/math-intrinsics/sign.d.ts (100%) rename {node_modules => back/node_modules}/math-intrinsics/sign.js (100%) rename {node_modules => back/node_modules}/math-intrinsics/test/index.js (100%) rename {node_modules => back/node_modules}/math-intrinsics/tsconfig.json (100%) rename {node_modules => back/node_modules}/media-typer/HISTORY.md (100%) rename {node_modules => back/node_modules}/media-typer/LICENSE (100%) rename {node_modules => back/node_modules}/media-typer/README.md (100%) rename {node_modules => back/node_modules}/media-typer/index.js (100%) rename {node_modules => back/node_modules}/media-typer/package.json (100%) rename {node_modules => back/node_modules}/merge-descriptors/index.d.ts (100%) rename {node_modules => back/node_modules}/merge-descriptors/index.js (100%) rename {node_modules => back/node_modules}/merge-descriptors/license (100%) rename {node_modules => back/node_modules}/merge-descriptors/package.json (100%) rename {node_modules => back/node_modules}/merge-descriptors/readme.md (100%) rename {node_modules => back/node_modules}/mime-db/HISTORY.md (100%) rename {node_modules => back/node_modules}/mime-db/LICENSE (100%) rename {node_modules => back/node_modules}/mime-db/README.md (100%) rename {node_modules => back/node_modules}/mime-db/db.json (100%) rename {node_modules => back/node_modules}/mime-db/index.js (100%) rename {node_modules => back/node_modules}/mime-db/package.json (100%) rename {node_modules => back/node_modules}/mime-types/HISTORY.md (100%) rename {node_modules => back/node_modules}/mime-types/LICENSE (100%) rename {node_modules => back/node_modules}/mime-types/README.md (100%) rename {node_modules => back/node_modules}/mime-types/index.js (100%) rename {node_modules => back/node_modules}/mime-types/mimeScore.js (100%) rename {node_modules => back/node_modules}/mime-types/package.json (100%) rename {node_modules => back/node_modules}/ms/index.js (100%) rename {node_modules => back/node_modules}/ms/license.md (100%) rename {node_modules => back/node_modules}/ms/package.json (100%) rename {node_modules => back/node_modules}/ms/readme.md (100%) rename {node_modules => back/node_modules}/negotiator/HISTORY.md (100%) rename {node_modules => back/node_modules}/negotiator/LICENSE (100%) rename {node_modules => back/node_modules}/negotiator/README.md (100%) rename {node_modules => back/node_modules}/negotiator/index.js (90%) rename {node_modules => back/node_modules}/negotiator/lib/charset.js (100%) rename {node_modules => back/node_modules}/negotiator/lib/encoding.js (100%) rename {node_modules => back/node_modules}/negotiator/lib/language.js (100%) rename {node_modules => back/node_modules}/negotiator/lib/mediaType.js (100%) rename {node_modules => back/node_modules}/negotiator/package.json (100%) rename {node_modules => back/node_modules}/object-inspect/.eslintrc (100%) rename {node_modules => back/node_modules}/object-inspect/.github/FUNDING.yml (100%) rename {node_modules => back/node_modules}/object-inspect/.nycrc (100%) rename {node_modules => back/node_modules}/object-inspect/CHANGELOG.md (100%) rename {node_modules => back/node_modules}/object-inspect/LICENSE (100%) rename {node_modules => back/node_modules}/object-inspect/example/all.js (100%) rename {node_modules => back/node_modules}/object-inspect/example/circular.js (100%) rename {node_modules => back/node_modules}/object-inspect/example/fn.js (100%) rename {node_modules => back/node_modules}/object-inspect/example/inspect.js (100%) rename {node_modules => back/node_modules}/object-inspect/index.js (100%) rename {node_modules => back/node_modules}/object-inspect/package-support.json (100%) rename {node_modules => back/node_modules}/object-inspect/package.json (100%) rename {node_modules => back/node_modules}/object-inspect/readme.markdown (100%) rename {node_modules => back/node_modules}/object-inspect/test-core-js.js (100%) rename {node_modules => back/node_modules}/object-inspect/test/bigint.js (100%) rename {node_modules => back/node_modules}/object-inspect/test/browser/dom.js (100%) rename {node_modules => back/node_modules}/object-inspect/test/circular.js (100%) rename {node_modules => back/node_modules}/object-inspect/test/deep.js (100%) rename {node_modules => back/node_modules}/object-inspect/test/element.js (100%) rename {node_modules => back/node_modules}/object-inspect/test/err.js (100%) rename {node_modules => back/node_modules}/object-inspect/test/fakes.js (100%) rename {node_modules => back/node_modules}/object-inspect/test/fn.js (100%) rename {node_modules => back/node_modules}/object-inspect/test/global.js (100%) rename {node_modules => back/node_modules}/object-inspect/test/has.js (100%) rename {node_modules => back/node_modules}/object-inspect/test/holes.js (100%) rename {node_modules => back/node_modules}/object-inspect/test/indent-option.js (100%) rename {node_modules => back/node_modules}/object-inspect/test/inspect.js (100%) rename {node_modules => back/node_modules}/object-inspect/test/lowbyte.js (100%) rename {node_modules => back/node_modules}/object-inspect/test/number.js (100%) rename {node_modules => back/node_modules}/object-inspect/test/quoteStyle.js (100%) rename {node_modules => back/node_modules}/object-inspect/test/toStringTag.js (100%) rename {node_modules => back/node_modules}/object-inspect/test/undef.js (100%) rename {node_modules => back/node_modules}/object-inspect/test/values.js (100%) rename {node_modules => back/node_modules}/object-inspect/util.inspect.js (100%) rename {node_modules => back/node_modules}/on-finished/HISTORY.md (100%) rename {node_modules => back/node_modules}/on-finished/LICENSE (100%) rename {node_modules => back/node_modules}/on-finished/README.md (100%) rename {node_modules => back/node_modules}/on-finished/index.js (100%) rename {node_modules => back/node_modules}/on-finished/package.json (100%) rename {node_modules => back/node_modules}/once/LICENSE (100%) rename {node_modules => back/node_modules}/once/README.md (100%) rename {node_modules => back/node_modules}/once/once.js (100%) rename {node_modules => back/node_modules}/once/package.json (100%) rename {node_modules => back/node_modules}/parseurl/HISTORY.md (100%) rename {node_modules => back/node_modules}/parseurl/LICENSE (100%) rename {node_modules => back/node_modules}/parseurl/README.md (100%) rename {node_modules => back/node_modules}/parseurl/index.js (100%) rename {node_modules => back/node_modules}/parseurl/package.json (100%) rename {node_modules => back/node_modules}/path-to-regexp/LICENSE (100%) rename {node_modules => back/node_modules}/path-to-regexp/Readme.md (100%) rename {node_modules => back/node_modules}/path-to-regexp/dist/index.d.ts (100%) rename {node_modules => back/node_modules}/path-to-regexp/dist/index.js (100%) rename {node_modules => back/node_modules}/path-to-regexp/dist/index.js.map (100%) rename {node_modules => back/node_modules}/path-to-regexp/package.json (100%) rename {node_modules => back/node_modules}/proxy-addr/HISTORY.md (100%) rename {node_modules => back/node_modules}/proxy-addr/LICENSE (100%) rename {node_modules => back/node_modules}/proxy-addr/README.md (100%) rename {node_modules => back/node_modules}/proxy-addr/index.js (100%) rename {node_modules => back/node_modules}/proxy-addr/package.json (100%) rename {node_modules => back/node_modules}/qs/.editorconfig (100%) rename {node_modules => back/node_modules}/qs/.github/FUNDING.yml (100%) rename {node_modules => back/node_modules}/qs/.github/SECURITY.md (100%) rename {node_modules => back/node_modules}/qs/.github/THREAT_MODEL.md (100%) rename {node_modules => back/node_modules}/qs/.nycrc (100%) rename {node_modules => back/node_modules}/qs/CHANGELOG.md (100%) rename {node_modules => back/node_modules}/qs/LICENSE.md (100%) rename {node_modules => back/node_modules}/qs/README.md (100%) rename {node_modules => back/node_modules}/qs/dist/qs.js (100%) rename {node_modules => back/node_modules}/qs/eslint.config.mjs (100%) rename {node_modules => back/node_modules}/qs/lib/formats.js (100%) rename {node_modules => back/node_modules}/qs/lib/index.js (100%) rename {node_modules => back/node_modules}/qs/lib/parse.js (100%) rename {node_modules => back/node_modules}/qs/lib/stringify.js (100%) rename {node_modules => back/node_modules}/qs/lib/utils.js (100%) rename {node_modules => back/node_modules}/qs/package.json (100%) rename {node_modules => back/node_modules}/qs/test/empty-keys-cases.js (100%) rename {node_modules => back/node_modules}/qs/test/parse.js (100%) rename {node_modules => back/node_modules}/qs/test/stringify.js (100%) rename {node_modules => back/node_modules}/qs/test/utils.js (100%) rename {node_modules => back/node_modules}/range-parser/HISTORY.md (100%) rename {node_modules => back/node_modules}/range-parser/LICENSE (100%) rename {node_modules => back/node_modules}/range-parser/README.md (100%) rename {node_modules => back/node_modules}/range-parser/index.js (100%) rename {node_modules => back/node_modules}/range-parser/package.json (100%) rename {node_modules => back/node_modules}/raw-body/LICENSE (100%) rename {node_modules => back/node_modules}/raw-body/README.md (100%) rename {node_modules => back/node_modules}/raw-body/index.d.ts (100%) rename {node_modules => back/node_modules}/raw-body/index.js (100%) rename {node_modules => back/node_modules}/raw-body/package.json (100%) create mode 100644 back/node_modules/redis/README.md create mode 100644 back/node_modules/redis/dist/index.d.ts create mode 100644 back/node_modules/redis/dist/index.d.ts.map create mode 100644 back/node_modules/redis/dist/index.js create mode 100644 back/node_modules/redis/dist/index.js.map create mode 100644 back/node_modules/redis/package.json rename {node_modules => back/node_modules}/router/HISTORY.md (100%) rename {node_modules => back/node_modules}/router/LICENSE (100%) rename {node_modules => back/node_modules}/router/README.md (100%) rename {node_modules => back/node_modules}/router/index.js (100%) rename {node_modules => back/node_modules}/router/lib/layer.js (100%) rename {node_modules => back/node_modules}/router/lib/route.js (100%) rename {node_modules => back/node_modules}/router/package.json (100%) create mode 100644 back/node_modules/safe-buffer/LICENSE create mode 100644 back/node_modules/safe-buffer/README.md create mode 100644 back/node_modules/safe-buffer/index.d.ts create mode 100644 back/node_modules/safe-buffer/index.js create mode 100644 back/node_modules/safe-buffer/package.json rename {node_modules => back/node_modules}/safer-buffer/LICENSE (100%) rename {node_modules => back/node_modules}/safer-buffer/Porting-Buffer.md (100%) rename {node_modules => back/node_modules}/safer-buffer/Readme.md (100%) rename {node_modules => back/node_modules}/safer-buffer/dangerous.js (100%) rename {node_modules => back/node_modules}/safer-buffer/package.json (100%) rename {node_modules => back/node_modules}/safer-buffer/safer.js (100%) rename {node_modules => back/node_modules}/safer-buffer/tests.js (100%) rename {node_modules/wrappy => back/node_modules/semver}/LICENSE (100%) create mode 100644 back/node_modules/semver/README.md create mode 100644 back/node_modules/semver/bin/semver.js create mode 100644 back/node_modules/semver/classes/comparator.js create mode 100644 back/node_modules/semver/classes/index.js create mode 100644 back/node_modules/semver/classes/range.js create mode 100644 back/node_modules/semver/classes/semver.js create mode 100644 back/node_modules/semver/functions/clean.js create mode 100644 back/node_modules/semver/functions/cmp.js create mode 100644 back/node_modules/semver/functions/coerce.js create mode 100644 back/node_modules/semver/functions/compare-build.js create mode 100644 back/node_modules/semver/functions/compare-loose.js create mode 100644 back/node_modules/semver/functions/compare.js create mode 100644 back/node_modules/semver/functions/diff.js create mode 100644 back/node_modules/semver/functions/eq.js create mode 100644 back/node_modules/semver/functions/gt.js create mode 100644 back/node_modules/semver/functions/gte.js create mode 100644 back/node_modules/semver/functions/inc.js create mode 100644 back/node_modules/semver/functions/lt.js create mode 100644 back/node_modules/semver/functions/lte.js create mode 100644 back/node_modules/semver/functions/major.js create mode 100644 back/node_modules/semver/functions/minor.js create mode 100644 back/node_modules/semver/functions/neq.js create mode 100644 back/node_modules/semver/functions/parse.js create mode 100644 back/node_modules/semver/functions/patch.js create mode 100644 back/node_modules/semver/functions/prerelease.js create mode 100644 back/node_modules/semver/functions/rcompare.js create mode 100644 back/node_modules/semver/functions/rsort.js create mode 100644 back/node_modules/semver/functions/satisfies.js create mode 100644 back/node_modules/semver/functions/sort.js create mode 100644 back/node_modules/semver/functions/valid.js create mode 100644 back/node_modules/semver/index.js create mode 100644 back/node_modules/semver/internal/constants.js create mode 100644 back/node_modules/semver/internal/debug.js create mode 100644 back/node_modules/semver/internal/identifiers.js create mode 100644 back/node_modules/semver/internal/lrucache.js create mode 100644 back/node_modules/semver/internal/parse-options.js create mode 100644 back/node_modules/semver/internal/re.js create mode 100644 back/node_modules/semver/package.json create mode 100644 back/node_modules/semver/preload.js create mode 100644 back/node_modules/semver/range.bnf create mode 100644 back/node_modules/semver/ranges/gtr.js create mode 100644 back/node_modules/semver/ranges/intersects.js create mode 100644 back/node_modules/semver/ranges/ltr.js create mode 100644 back/node_modules/semver/ranges/max-satisfying.js create mode 100644 back/node_modules/semver/ranges/min-satisfying.js create mode 100644 back/node_modules/semver/ranges/min-version.js create mode 100644 back/node_modules/semver/ranges/outside.js create mode 100644 back/node_modules/semver/ranges/simplify.js create mode 100644 back/node_modules/semver/ranges/subset.js create mode 100644 back/node_modules/semver/ranges/to-comparators.js create mode 100644 back/node_modules/semver/ranges/valid.js rename {node_modules => back/node_modules}/send/LICENSE (100%) rename {node_modules => back/node_modules}/send/README.md (100%) rename {node_modules => back/node_modules}/send/index.js (100%) rename {node_modules => back/node_modules}/send/package.json (100%) rename {node_modules => back/node_modules}/serve-static/LICENSE (100%) rename {node_modules => back/node_modules}/serve-static/README.md (100%) rename {node_modules => back/node_modules}/serve-static/index.js (100%) rename {node_modules => back/node_modules}/serve-static/package.json (100%) rename {node_modules => back/node_modules}/setprototypeof/LICENSE (100%) rename {node_modules => back/node_modules}/setprototypeof/README.md (100%) rename {node_modules => back/node_modules}/setprototypeof/index.d.ts (100%) rename {node_modules => back/node_modules}/setprototypeof/index.js (100%) rename {node_modules => back/node_modules}/setprototypeof/package.json (100%) rename {node_modules => back/node_modules}/setprototypeof/test/index.js (100%) rename {node_modules => back/node_modules}/side-channel-list/.editorconfig (100%) rename {node_modules => back/node_modules}/side-channel-list/.eslintrc (100%) rename {node_modules => back/node_modules}/side-channel-list/.github/FUNDING.yml (100%) rename {node_modules => back/node_modules}/side-channel-list/.nycrc (100%) rename {node_modules => back/node_modules}/side-channel-list/CHANGELOG.md (100%) rename {node_modules => back/node_modules}/side-channel-list/LICENSE (100%) rename {node_modules => back/node_modules}/side-channel-list/README.md (100%) rename {node_modules => back/node_modules}/side-channel-list/index.d.ts (100%) rename {node_modules => back/node_modules}/side-channel-list/index.js (100%) rename {node_modules => back/node_modules}/side-channel-list/list.d.ts (100%) rename {node_modules => back/node_modules}/side-channel-list/package.json (100%) rename {node_modules => back/node_modules}/side-channel-list/test/index.js (100%) rename {node_modules => back/node_modules}/side-channel-list/tsconfig.json (100%) rename {node_modules => back/node_modules}/side-channel-map/.editorconfig (100%) rename {node_modules => back/node_modules}/side-channel-map/.eslintrc (100%) rename {node_modules => back/node_modules}/side-channel-map/.github/FUNDING.yml (100%) rename {node_modules => back/node_modules}/side-channel-map/.nycrc (100%) rename {node_modules => back/node_modules}/side-channel-map/CHANGELOG.md (100%) rename {node_modules => back/node_modules}/side-channel-map/LICENSE (100%) rename {node_modules => back/node_modules}/side-channel-map/README.md (100%) rename {node_modules => back/node_modules}/side-channel-map/index.d.ts (100%) rename {node_modules => back/node_modules}/side-channel-map/index.js (100%) rename {node_modules => back/node_modules}/side-channel-map/package.json (100%) rename {node_modules => back/node_modules}/side-channel-map/test/index.js (100%) rename {node_modules => back/node_modules}/side-channel-map/tsconfig.json (100%) rename {node_modules => back/node_modules}/side-channel-weakmap/.editorconfig (100%) rename {node_modules => back/node_modules}/side-channel-weakmap/.eslintrc (100%) rename {node_modules => back/node_modules}/side-channel-weakmap/.github/FUNDING.yml (100%) rename {node_modules => back/node_modules}/side-channel-weakmap/.nycrc (100%) rename {node_modules => back/node_modules}/side-channel-weakmap/CHANGELOG.md (100%) rename {node_modules => back/node_modules}/side-channel-weakmap/LICENSE (100%) rename {node_modules => back/node_modules}/side-channel-weakmap/README.md (100%) rename {node_modules => back/node_modules}/side-channel-weakmap/index.d.ts (100%) rename {node_modules => back/node_modules}/side-channel-weakmap/index.js (100%) rename {node_modules => back/node_modules}/side-channel-weakmap/package.json (100%) rename {node_modules => back/node_modules}/side-channel-weakmap/test/index.js (100%) rename {node_modules => back/node_modules}/side-channel-weakmap/tsconfig.json (100%) rename {node_modules => back/node_modules}/side-channel/.editorconfig (100%) rename {node_modules => back/node_modules}/side-channel/.eslintrc (100%) rename {node_modules => back/node_modules}/side-channel/.github/FUNDING.yml (100%) rename {node_modules => back/node_modules}/side-channel/.nycrc (100%) rename {node_modules => back/node_modules}/side-channel/CHANGELOG.md (100%) rename {node_modules => back/node_modules}/side-channel/LICENSE (100%) rename {node_modules => back/node_modules}/side-channel/README.md (100%) rename {node_modules => back/node_modules}/side-channel/index.d.ts (100%) rename {node_modules => back/node_modules}/side-channel/index.js (100%) rename {node_modules => back/node_modules}/side-channel/package.json (100%) rename {node_modules => back/node_modules}/side-channel/test/index.js (100%) rename {node_modules => back/node_modules}/side-channel/tsconfig.json (100%) rename {node_modules => back/node_modules}/statuses/HISTORY.md (100%) rename {node_modules => back/node_modules}/statuses/LICENSE (100%) rename {node_modules => back/node_modules}/statuses/README.md (100%) rename {node_modules => back/node_modules}/statuses/codes.json (100%) rename {node_modules => back/node_modules}/statuses/index.js (100%) rename {node_modules => back/node_modules}/statuses/package.json (100%) rename {node_modules => back/node_modules}/toidentifier/HISTORY.md (100%) rename {node_modules => back/node_modules}/toidentifier/LICENSE (100%) rename {node_modules => back/node_modules}/toidentifier/README.md (100%) rename {node_modules => back/node_modules}/toidentifier/index.js (100%) rename {node_modules => back/node_modules}/toidentifier/package.json (100%) rename {node_modules => back/node_modules}/type-is/HISTORY.md (100%) rename {node_modules => back/node_modules}/type-is/LICENSE (100%) rename {node_modules => back/node_modules}/type-is/README.md (100%) rename {node_modules => back/node_modules}/type-is/index.js (100%) rename {node_modules => back/node_modules}/type-is/package.json (100%) rename {node_modules => back/node_modules}/unpipe/HISTORY.md (100%) rename {node_modules => back/node_modules}/unpipe/LICENSE (100%) rename {node_modules => back/node_modules}/unpipe/README.md (100%) rename {node_modules => back/node_modules}/unpipe/index.js (100%) rename {node_modules => back/node_modules}/unpipe/package.json (100%) rename {node_modules => back/node_modules}/vary/HISTORY.md (100%) rename {node_modules => back/node_modules}/vary/LICENSE (100%) rename {node_modules => back/node_modules}/vary/README.md (100%) rename {node_modules => back/node_modules}/vary/index.js (100%) rename {node_modules => back/node_modules}/vary/package.json (100%) create mode 100644 back/node_modules/wrappy/LICENSE rename {node_modules => back/node_modules}/wrappy/README.md (100%) rename {node_modules => back/node_modules}/wrappy/package.json (100%) rename {node_modules => back/node_modules}/wrappy/wrappy.js (100%) rename package-lock.json => back/package-lock.json (76%) rename package.json => back/package.json (77%) diff --git a/back/node_modules/.bin/semver b/back/node_modules/.bin/semver new file mode 100644 index 0000000..97c5327 --- /dev/null +++ b/back/node_modules/.bin/semver @@ -0,0 +1,16 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../semver/bin/semver.js" "$@" +else + exec node "$basedir/../semver/bin/semver.js" "$@" +fi diff --git a/back/node_modules/.bin/semver.cmd b/back/node_modules/.bin/semver.cmd new file mode 100644 index 0000000..9913fa9 --- /dev/null +++ b/back/node_modules/.bin/semver.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\semver\bin\semver.js" %* diff --git a/back/node_modules/.bin/semver.ps1 b/back/node_modules/.bin/semver.ps1 new file mode 100644 index 0000000..314717a --- /dev/null +++ b/back/node_modules/.bin/semver.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../semver/bin/semver.js" $args + } else { + & "$basedir/node$exe" "$basedir/../semver/bin/semver.js" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../semver/bin/semver.js" $args + } else { + & "node$exe" "$basedir/../semver/bin/semver.js" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/node_modules/.package-lock.json b/back/node_modules/.package-lock.json similarity index 77% rename from node_modules/.package-lock.json rename to back/node_modules/.package-lock.json index 8d2e0cc..20e85fe 100644 --- a/node_modules/.package-lock.json +++ b/back/node_modules/.package-lock.json @@ -4,6 +4,74 @@ "lockfileVersion": 3, "requires": true, "packages": { + "node_modules/@redis/bloom": { + "version": "5.11.0", + "resolved": "https://registry.npmmirror.com/@redis/bloom/-/bloom-5.11.0.tgz", + "integrity": "sha512-KYiVilAhAFN3057afUb/tfYJpsEyTkQB+tQcn5gVVA7DgcNOAj8lLxe4j8ov8BF6I9C1Fe/kwlbuAICcTMX8Lw==", + "license": "MIT", + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@redis/client": "^5.11.0" + } + }, + "node_modules/@redis/client": { + "version": "5.11.0", + "resolved": "https://registry.npmmirror.com/@redis/client/-/client-5.11.0.tgz", + "integrity": "sha512-GHoprlNQD51Xq2Ztd94HHV94MdFZQ3CVrpA04Fz8MVoHM0B7SlbmPEVIjwTbcv58z8QyjnrOuikS0rWF03k5dQ==", + "license": "MIT", + "dependencies": { + "cluster-key-slot": "1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@node-rs/xxhash": "^1.1.0" + }, + "peerDependenciesMeta": { + "@node-rs/xxhash": { + "optional": true + } + } + }, + "node_modules/@redis/json": { + "version": "5.11.0", + "resolved": "https://registry.npmmirror.com/@redis/json/-/json-5.11.0.tgz", + "integrity": "sha512-1iAy9kAtcD0quB21RbPTbUqqy+T2Uu2JxucwE+B4A+VaDbIRvpZR6DMqV8Iqaws2YxJYB3GC5JVNzPYio2ErUg==", + "license": "MIT", + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@redis/client": "^5.11.0" + } + }, + "node_modules/@redis/search": { + "version": "5.11.0", + "resolved": "https://registry.npmmirror.com/@redis/search/-/search-5.11.0.tgz", + "integrity": "sha512-g1l7f3Rnyk/xI99oGHIgWHSKFl45Re5YTIcO8j/JE8olz389yUFyz2+A6nqVy/Zi031VgPDWscbbgOk8hlhZ3g==", + "license": "MIT", + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@redis/client": "^5.11.0" + } + }, + "node_modules/@redis/time-series": { + "version": "5.11.0", + "resolved": "https://registry.npmmirror.com/@redis/time-series/-/time-series-5.11.0.tgz", + "integrity": "sha512-TWFeOcU4xkj0DkndnOyhtxvX1KWD+78UHT3XX3x3XRBUGWeQrKo3jqzDsZwxbggUgf9yLJr/akFHXru66X5UQA==", + "license": "MIT", + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@redis/client": "^5.11.0" + } + }, "node_modules/accepts": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/accepts/-/accepts-2.0.0.tgz", @@ -41,6 +109,12 @@ "url": "https://opencollective.com/express" } }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "license": "BSD-3-Clause" + }, "node_modules/bytes": { "version": "3.1.2", "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz", @@ -79,6 +153,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/cluster-key-slot": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz", + "integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/content-disposition": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/content-disposition/-/content-disposition-1.0.1.tgz", @@ -159,6 +242,15 @@ "node": ">= 0.4" } }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmmirror.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz", @@ -440,6 +532,91 @@ "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", "license": "MIT" }, + "node_modules/jsonwebtoken": { + "version": "9.0.3", + "resolved": "https://registry.npmmirror.com/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz", + "integrity": "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==", + "license": "MIT", + "dependencies": { + "jws": "^4.0.1", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jwa": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/jwa/-/jwa-2.0.1.tgz", + "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==", + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "^1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/jws/-/jws-4.0.1.tgz", + "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==", + "license": "MIT", + "dependencies": { + "jwa": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", + "license": "MIT" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "license": "MIT" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", + "license": "MIT" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "license": "MIT" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "license": "MIT" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "license": "MIT" + }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz", @@ -614,6 +791,22 @@ "node": ">= 0.10" } }, + "node_modules/redis": { + "version": "5.11.0", + "resolved": "https://registry.npmmirror.com/redis/-/redis-5.11.0.tgz", + "integrity": "sha512-YwXjATVDT+AuxcyfOwZn046aml9jMlQPvU1VXIlLDVAExe0u93aTfPYSeRgG4p9Q/Jlkj+LXJ1XEoFV+j2JKcQ==", + "license": "MIT", + "dependencies": { + "@redis/bloom": "5.11.0", + "@redis/client": "5.11.0", + "@redis/json": "5.11.0", + "@redis/search": "5.11.0", + "@redis/time-series": "5.11.0" + }, + "engines": { + "node": ">= 18" + } + }, "node_modules/router": { "version": "2.2.0", "resolved": "https://registry.npmmirror.com/router/-/router-2.2.0.tgz", @@ -630,12 +823,44 @@ "node": ">= 18" } }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "license": "MIT" }, + "node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/send": { "version": "1.2.1", "resolved": "https://registry.npmmirror.com/send/-/send-1.2.1.tgz", diff --git a/back/node_modules/@redis/bloom/README.md b/back/node_modules/@redis/bloom/README.md new file mode 100644 index 0000000..e527ff5 --- /dev/null +++ b/back/node_modules/@redis/bloom/README.md @@ -0,0 +1,17 @@ +# @redis/bloom + +This package provides support for the [RedisBloom](https://redis.io/docs/data-types/probabilistic/) module, which adds additional probabilistic data structures to Redis. + +Should be used with [`redis`/`@redis/client`](https://github.com/redis/node-redis). + +:warning: To use these extra commands, your Redis server must have the RedisBloom module installed. + +RedisBloom provides the following probabilistic data structures: + +* Bloom Filter: for checking set membership with a high degree of certainty. +* Cuckoo Filter: for checking set membership with a high degree of certainty. +* T-Digest: for estimating the quantiles of a stream of data. +* Top-K: Maintain a list of k most frequently seen items. +* Count-Min Sketch: Determine the frequency of events in a stream. + +For some examples, see [`bloom-filter.js`](https://github.com/redis/node-redis/tree/master/examples/bloom-filter.js), [`cuckoo-filter.js`](https://github.com/redis/node-redis/tree/master/examples/cuckoo-filter.js), [`count-min-sketch.js`](https://github.com/redis/node-redis/tree/master/examples/count-min-sketch.js) and [`topk.js`](https://github.com/redis/node-redis/tree/master/examples/topk.js) in the [examples folder](https://github.com/redis/node-redis/tree/master/examples). diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/ADD.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/ADD.d.ts new file mode 100644 index 0000000..67653cc --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/ADD.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Adds an item to a Bloom Filter + * @param parser - The command parser + * @param key - The name of the Bloom filter + * @param item - The item to add to the filter + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, item: RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; +}; +export default _default; +//# sourceMappingURL=ADD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/ADD.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/ADD.d.ts.map new file mode 100644 index 0000000..c1819e2 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/ADD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ADD.d.ts","sourceRoot":"","sources":["../../../../lib/commands/bloom/ADD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAW,MAAM,mCAAmC,CAAC;;;IAKzE;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,QAAQ,aAAa;;;;;;AAR7E,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/ADD.js b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/ADD.js new file mode 100644 index 0000000..b76e757 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/ADD.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Adds an item to a Bloom Filter + * @param parser - The command parser + * @param key - The name of the Bloom filter + * @param item - The item to add to the filter + */ + parseCommand(parser, key, item) { + parser.push('BF.ADD'); + parser.pushKey(key); + parser.push(item); + }, + transformReply: generic_transformers_1.transformBooleanReply +}; +//# sourceMappingURL=ADD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/ADD.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/ADD.js.map new file mode 100644 index 0000000..0496925 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/ADD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ADD.js","sourceRoot":"","sources":["../../../../lib/commands/bloom/ADD.ts"],"names":[],"mappings":";;AAEA,+FAA6F;AAE7F,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,IAAmB;QACzE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,cAAc,EAAE,4CAAqB;CACX,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/CARD.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/CARD.d.ts new file mode 100644 index 0000000..610daa8 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/CARD.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, NumberReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns the cardinality (number of items) in a Bloom Filter + * @param parser - The command parser + * @param key - The name of the Bloom filter to query + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=CARD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/CARD.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/CARD.d.ts.map new file mode 100644 index 0000000..12c4cb9 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/CARD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CARD.d.ts","sourceRoot":"","sources":["../../../../lib/commands/bloom/CARD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,mCAAmC,CAAC;;;IAItF;;;;OAIG;gDACkB,aAAa,OAAO,aAAa;mCAIR,WAAW;;AAX3D,wBAY6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/CARD.js b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/CARD.js new file mode 100644 index 0000000..0c5e695 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/CARD.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns the cardinality (number of items) in a Bloom Filter + * @param parser - The command parser + * @param key - The name of the Bloom filter to query + */ + parseCommand(parser, key) { + parser.push('BF.CARD'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=CARD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/CARD.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/CARD.js.map new file mode 100644 index 0000000..f7001db --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/CARD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CARD.js","sourceRoot":"","sources":["../../../../lib/commands/bloom/CARD.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/EXISTS.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/EXISTS.d.ts new file mode 100644 index 0000000..4cd3baf --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/EXISTS.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Checks if an item exists in a Bloom Filter + * @param parser - The command parser + * @param key - The name of the Bloom filter + * @param item - The item to check for existence + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, item: RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; +}; +export default _default; +//# sourceMappingURL=EXISTS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/EXISTS.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/EXISTS.d.ts.map new file mode 100644 index 0000000..3b99671 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/EXISTS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"EXISTS.d.ts","sourceRoot":"","sources":["../../../../lib/commands/bloom/EXISTS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAW,MAAM,mCAAmC,CAAC;;;IAKzE;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,QAAQ,aAAa;;;;;;AAR7E,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/EXISTS.js b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/EXISTS.js new file mode 100644 index 0000000..07f2190 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/EXISTS.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +exports.default = { + IS_READ_ONLY: true, + /** + * Checks if an item exists in a Bloom Filter + * @param parser - The command parser + * @param key - The name of the Bloom filter + * @param item - The item to check for existence + */ + parseCommand(parser, key, item) { + parser.push('BF.EXISTS'); + parser.pushKey(key); + parser.push(item); + }, + transformReply: generic_transformers_1.transformBooleanReply +}; +//# sourceMappingURL=EXISTS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/EXISTS.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/EXISTS.js.map new file mode 100644 index 0000000..cc95329 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/EXISTS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"EXISTS.js","sourceRoot":"","sources":["../../../../lib/commands/bloom/EXISTS.ts"],"names":[],"mappings":";;AAEA,+FAA6F;AAE7F,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,IAAmB;QACzE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,cAAc,EAAE,4CAAqB;CACX,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/INFO.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/INFO.d.ts new file mode 100644 index 0000000..7080134 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/INFO.d.ts @@ -0,0 +1,39 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, NullReply, NumberReply, TuplesToMapReply, SimpleStringReply, TypeMapping } from '@redis/client/dist/lib/RESP/types'; +export type BfInfoReplyMap = TuplesToMapReply<[ + [ + SimpleStringReply<'Capacity'>, + NumberReply + ], + [ + SimpleStringReply<'Size'>, + NumberReply + ], + [ + SimpleStringReply<'Number of filters'>, + NumberReply + ], + [ + SimpleStringReply<'Number of items inserted'>, + NumberReply + ], + [ + SimpleStringReply<'Expansion rate'>, + NullReply | NumberReply + ] +]>; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns information about a Bloom Filter, including capacity, size, number of filters, items inserted, and expansion rate + * @param parser - The command parser + * @param key - The name of the Bloom filter to get information about + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [SimpleStringReply<"Capacity">, NumberReply, SimpleStringReply<"Size">, NumberReply, SimpleStringReply<"Number of filters">, NumberReply, SimpleStringReply<"Number of items inserted">, NumberReply, SimpleStringReply<"Expansion rate">, NullReply | NumberReply], _: any, typeMapping?: TypeMapping) => BfInfoReplyMap; + readonly 3: () => BfInfoReplyMap; + }; +}; +export default _default; +//# sourceMappingURL=INFO.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/INFO.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/INFO.d.ts.map new file mode 100644 index 0000000..fba4de9 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/INFO.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"INFO.d.ts","sourceRoot":"","sources":["../../../../lib/commands/bloom/INFO.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAwB,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAc,iBAAiB,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAG9K,MAAM,MAAM,cAAc,GAAG,gBAAgB,CAAC;IAC5C;QAAC,iBAAiB,CAAC,UAAU,CAAC;QAAE,WAAW;KAAC;IAC5C;QAAC,iBAAiB,CAAC,MAAM,CAAC;QAAE,WAAW;KAAC;IACxC;QAAC,iBAAiB,CAAC,mBAAmB,CAAC;QAAE,WAAW;KAAC;IACrD;QAAC,iBAAiB,CAAC,0BAA0B,CAAC;QAAE,WAAW;KAAC;IAC5D;QAAC,iBAAiB,CAAC,gBAAgB,CAAC;QAAE,SAAS,GAAG,WAAW;KAAC;CAC/D,CAAC,CAAC;;;IAID;;;;OAIG;gDACkB,aAAa,OAAO,aAAa;;2WAKiB,WAAW;;;;AAZpF,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/INFO.js b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/INFO.js new file mode 100644 index 0000000..7b4c935 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/INFO.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const helpers_1 = require("./helpers"); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns information about a Bloom Filter, including capacity, size, number of filters, items inserted, and expansion rate + * @param parser - The command parser + * @param key - The name of the Bloom filter to get information about + */ + parseCommand(parser, key) { + parser.push('BF.INFO'); + parser.pushKey(key); + }, + transformReply: { + 2: (reply, _, typeMapping) => { + return (0, helpers_1.transformInfoV2Reply)(reply, typeMapping); + }, + 3: undefined + } +}; +//# sourceMappingURL=INFO.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/INFO.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/INFO.js.map new file mode 100644 index 0000000..bbcab2c --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/INFO.js.map @@ -0,0 +1 @@ +{"version":3,"file":"INFO.js","sourceRoot":"","sources":["../../../../lib/commands/bloom/INFO.ts"],"names":[],"mappings":";;AAEA,uCAAiD;AAUjD,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAA8C,EAAE,CAAC,EAAE,WAAyB,EAAkB,EAAE;YAClG,OAAO,IAAA,8BAAoB,EAAiB,KAAK,EAAE,WAAW,CAAC,CAAC;QAClE,CAAC;QACD,CAAC,EAAE,SAA4C;KAChD;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/INSERT.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/INSERT.d.ts new file mode 100644 index 0000000..d45ee63 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/INSERT.d.ts @@ -0,0 +1,32 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument } from '@redis/client/dist/lib/RESP/types'; +import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers'; +export interface BfInsertOptions { + CAPACITY?: number; + ERROR?: number; + EXPANSION?: number; + NOCREATE?: boolean; + NONSCALING?: boolean; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Adds one or more items to a Bloom Filter, creating it if it does not exist + * @param parser - The command parser + * @param key - The name of the Bloom filter + * @param items - One or more items to add to the filter + * @param options - Optional parameters for filter creation + * @param options.CAPACITY - Desired capacity for a new filter + * @param options.ERROR - Desired error rate for a new filter + * @param options.EXPANSION - Expansion rate for a new filter + * @param options.NOCREATE - If true, prevents automatic filter creation + * @param options.NONSCALING - Prevents the filter from creating additional sub-filters + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, items: RedisVariadicArgument, options?: BfInsertOptions) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; +}; +export default _default; +//# sourceMappingURL=INSERT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/INSERT.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/INSERT.d.ts.map new file mode 100644 index 0000000..69cb5f6 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/INSERT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"INSERT.d.ts","sourceRoot":"","sources":["../../../../lib/commands/bloom/INSERT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAW,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAG7F,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;;;IAIC;;;;;;;;;;;OAWG;gDAEO,aAAa,OAChB,aAAa,SACX,qBAAqB,YAClB,eAAe;;;;;;AAlB7B,wBA+C6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/INSERT.js b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/INSERT.js new file mode 100644 index 0000000..542747c --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/INSERT.js @@ -0,0 +1,41 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Adds one or more items to a Bloom Filter, creating it if it does not exist + * @param parser - The command parser + * @param key - The name of the Bloom filter + * @param items - One or more items to add to the filter + * @param options - Optional parameters for filter creation + * @param options.CAPACITY - Desired capacity for a new filter + * @param options.ERROR - Desired error rate for a new filter + * @param options.EXPANSION - Expansion rate for a new filter + * @param options.NOCREATE - If true, prevents automatic filter creation + * @param options.NONSCALING - Prevents the filter from creating additional sub-filters + */ + parseCommand(parser, key, items, options) { + parser.push('BF.INSERT'); + parser.pushKey(key); + if (options?.CAPACITY !== undefined) { + parser.push('CAPACITY', options.CAPACITY.toString()); + } + if (options?.ERROR !== undefined) { + parser.push('ERROR', options.ERROR.toString()); + } + if (options?.EXPANSION !== undefined) { + parser.push('EXPANSION', options.EXPANSION.toString()); + } + if (options?.NOCREATE) { + parser.push('NOCREATE'); + } + if (options?.NONSCALING) { + parser.push('NONSCALING'); + } + parser.push('ITEMS'); + parser.pushVariadic(items); + }, + transformReply: generic_transformers_1.transformBooleanArrayReply +}; +//# sourceMappingURL=INSERT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/INSERT.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/INSERT.js.map new file mode 100644 index 0000000..8c2eff4 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/INSERT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"INSERT.js","sourceRoot":"","sources":["../../../../lib/commands/bloom/INSERT.ts"],"names":[],"mappings":";;AAGA,+FAAkG;AAUlG,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;;;;OAWG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,KAA4B,EAC5B,OAAyB;QAEzB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,OAAO,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,OAAO,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IACD,cAAc,EAAE,iDAA0B;CAChB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/LOADCHUNK.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/LOADCHUNK.d.ts new file mode 100644 index 0000000..7cb77b5 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/LOADCHUNK.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, SimpleStringReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Restores a Bloom Filter chunk previously saved using SCANDUMP + * @param parser - The command parser + * @param key - The name of the Bloom filter to restore + * @param iterator - Iterator value from the SCANDUMP command + * @param chunk - Data chunk from the SCANDUMP command + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, iterator: number, chunk: RedisArgument) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=LOADCHUNK.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/LOADCHUNK.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/LOADCHUNK.d.ts.map new file mode 100644 index 0000000..1b74862 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/LOADCHUNK.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LOADCHUNK.d.ts","sourceRoot":"","sources":["../../../../lib/commands/bloom/LOADCHUNK.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,mCAAmC,CAAC;;;IAI5F;;;;;;OAMG;gDACkB,aAAa,OAAO,aAAa,YAAY,MAAM,SAAS,aAAa;mCAKhD,kBAAkB,IAAI,CAAC;;AAdvE,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/LOADCHUNK.js b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/LOADCHUNK.js new file mode 100644 index 0000000..69a193b --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/LOADCHUNK.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Restores a Bloom Filter chunk previously saved using SCANDUMP + * @param parser - The command parser + * @param key - The name of the Bloom filter to restore + * @param iterator - Iterator value from the SCANDUMP command + * @param chunk - Data chunk from the SCANDUMP command + */ + parseCommand(parser, key, iterator, chunk) { + parser.push('BF.LOADCHUNK'); + parser.pushKey(key); + parser.push(iterator.toString(), chunk); + }, + transformReply: undefined +}; +//# sourceMappingURL=LOADCHUNK.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/LOADCHUNK.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/LOADCHUNK.js.map new file mode 100644 index 0000000..ee2b3d7 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/LOADCHUNK.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LOADCHUNK.js","sourceRoot":"","sources":["../../../../lib/commands/bloom/LOADCHUNK.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,QAAgB,EAAE,KAAoB;QAC5F,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/MADD.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/MADD.d.ts new file mode 100644 index 0000000..abac6e6 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/MADD.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument } from '@redis/client/dist/lib/RESP/types'; +import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Adds multiple items to a Bloom Filter in a single call + * @param parser - The command parser + * @param key - The name of the Bloom filter + * @param items - One or more items to add to the filter + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, items: RedisVariadicArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; +}; +export default _default; +//# sourceMappingURL=MADD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/MADD.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/MADD.d.ts.map new file mode 100644 index 0000000..5e9e363 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/MADD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MADD.d.ts","sourceRoot":"","sources":["../../../../lib/commands/bloom/MADD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAW,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;;;IAK3F;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,SAAS,qBAAqB;;;;;;AARtF,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/MADD.js b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/MADD.js new file mode 100644 index 0000000..30029f6 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/MADD.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Adds multiple items to a Bloom Filter in a single call + * @param parser - The command parser + * @param key - The name of the Bloom filter + * @param items - One or more items to add to the filter + */ + parseCommand(parser, key, items) { + parser.push('BF.MADD'); + parser.pushKey(key); + parser.pushVariadic(items); + }, + transformReply: generic_transformers_1.transformBooleanArrayReply +}; +//# sourceMappingURL=MADD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/MADD.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/MADD.js.map new file mode 100644 index 0000000..8173787 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/MADD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MADD.js","sourceRoot":"","sources":["../../../../lib/commands/bloom/MADD.ts"],"names":[],"mappings":";;AAGA,+FAAkG;AAElG,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAA4B;QAClF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IACD,cAAc,EAAE,iDAA0B;CAChB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/MEXISTS.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/MEXISTS.d.ts new file mode 100644 index 0000000..2dab4ea --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/MEXISTS.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument } from '@redis/client/dist/lib/RESP/types'; +import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Checks if multiple items exist in a Bloom Filter in a single call + * @param parser - The command parser + * @param key - The name of the Bloom filter + * @param items - One or more items to check for existence + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, items: RedisVariadicArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; +}; +export default _default; +//# sourceMappingURL=MEXISTS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/MEXISTS.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/MEXISTS.d.ts.map new file mode 100644 index 0000000..977962e --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/MEXISTS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MEXISTS.d.ts","sourceRoot":"","sources":["../../../../lib/commands/bloom/MEXISTS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAW,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;;;IAK3F;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,SAAS,qBAAqB;;;;;;AARtF,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/MEXISTS.js b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/MEXISTS.js new file mode 100644 index 0000000..9dcd004 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/MEXISTS.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +exports.default = { + IS_READ_ONLY: true, + /** + * Checks if multiple items exist in a Bloom Filter in a single call + * @param parser - The command parser + * @param key - The name of the Bloom filter + * @param items - One or more items to check for existence + */ + parseCommand(parser, key, items) { + parser.push('BF.MEXISTS'); + parser.pushKey(key); + parser.pushVariadic(items); + }, + transformReply: generic_transformers_1.transformBooleanArrayReply +}; +//# sourceMappingURL=MEXISTS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/MEXISTS.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/MEXISTS.js.map new file mode 100644 index 0000000..d01ed7d --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/MEXISTS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MEXISTS.js","sourceRoot":"","sources":["../../../../lib/commands/bloom/MEXISTS.ts"],"names":[],"mappings":";;AAGA,+FAAkG;AAElG,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAA4B;QAClF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IACD,cAAc,EAAE,iDAA0B;CAChB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/RESERVE.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/RESERVE.d.ts new file mode 100644 index 0000000..b024e61 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/RESERVE.d.ts @@ -0,0 +1,23 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, SimpleStringReply } from '@redis/client/dist/lib/RESP/types'; +export interface BfReserveOptions { + EXPANSION?: number; + NONSCALING?: boolean; +} +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Creates an empty Bloom Filter with a given desired error ratio and initial capacity + * @param parser - The command parser + * @param key - The name of the Bloom filter to create + * @param errorRate - The desired probability for false positives (between 0 and 1) + * @param capacity - The number of entries intended to be added to the filter + * @param options - Optional parameters to tune the filter + * @param options.EXPANSION - Expansion rate for the filter + * @param options.NONSCALING - Prevents the filter from creating additional sub-filters + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, errorRate: number, capacity: number, options?: BfReserveOptions) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=RESERVE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/RESERVE.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/RESERVE.d.ts.map new file mode 100644 index 0000000..0d79f6e --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/RESERVE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"RESERVE.d.ts","sourceRoot":"","sources":["../../../../lib/commands/bloom/RESERVE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,mCAAmC,CAAC;AAE9F,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;;;IAIC;;;;;;;;;OASG;gDAEO,aAAa,OAChB,aAAa,aACP,MAAM,YACP,MAAM,YACN,gBAAgB;mCAckB,kBAAkB,IAAI,CAAC;;AA/BvE,wBAgC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/RESERVE.js b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/RESERVE.js new file mode 100644 index 0000000..677f9ae --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/RESERVE.js @@ -0,0 +1,28 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Creates an empty Bloom Filter with a given desired error ratio and initial capacity + * @param parser - The command parser + * @param key - The name of the Bloom filter to create + * @param errorRate - The desired probability for false positives (between 0 and 1) + * @param capacity - The number of entries intended to be added to the filter + * @param options - Optional parameters to tune the filter + * @param options.EXPANSION - Expansion rate for the filter + * @param options.NONSCALING - Prevents the filter from creating additional sub-filters + */ + parseCommand(parser, key, errorRate, capacity, options) { + parser.push('BF.RESERVE'); + parser.pushKey(key); + parser.push(errorRate.toString(), capacity.toString()); + if (options?.EXPANSION) { + parser.push('EXPANSION', options.EXPANSION.toString()); + } + if (options?.NONSCALING) { + parser.push('NONSCALING'); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=RESERVE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/RESERVE.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/RESERVE.js.map new file mode 100644 index 0000000..569d8e5 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/RESERVE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RESERVE.js","sourceRoot":"","sources":["../../../../lib/commands/bloom/RESERVE.ts"],"names":[],"mappings":";;AAQA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;;;OASG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,SAAiB,EACjB,QAAgB,EAChB,OAA0B;QAE1B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEvD,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/SCANDUMP.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/SCANDUMP.d.ts new file mode 100644 index 0000000..1488215 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/SCANDUMP.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, NumberReply, BlobStringReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Begins an incremental save of a Bloom Filter. This is useful for large filters that can't be saved at once + * @param parser - The command parser + * @param key - The name of the Bloom filter to save + * @param iterator - Iterator value; Start at 0, and use the iterator from the response for the next chunk + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, iterator: number) => void; + readonly transformReply: (this: void, reply: [NumberReply, BlobStringReply]) => { + iterator: NumberReply; + chunk: BlobStringReply; + }; +}; +export default _default; +//# sourceMappingURL=SCANDUMP.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/SCANDUMP.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/SCANDUMP.d.ts.map new file mode 100644 index 0000000..d9226dd --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/SCANDUMP.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SCANDUMP.d.ts","sourceRoot":"","sources":["../../../../lib/commands/bloom/SCANDUMP.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAe,WAAW,EAAE,eAAe,EAAwB,MAAM,mCAAmC,CAAC;;;IAIjI;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,YAAY,MAAM;;;;;;AAR1E,wBAmB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/SCANDUMP.js b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/SCANDUMP.js new file mode 100644 index 0000000..9720d5a --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/SCANDUMP.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Begins an incremental save of a Bloom Filter. This is useful for large filters that can't be saved at once + * @param parser - The command parser + * @param key - The name of the Bloom filter to save + * @param iterator - Iterator value; Start at 0, and use the iterator from the response for the next chunk + */ + parseCommand(parser, key, iterator) { + parser.push('BF.SCANDUMP'); + parser.pushKey(key); + parser.push(iterator.toString()); + }, + transformReply(reply) { + return { + iterator: reply[0], + chunk: reply[1] + }; + } +}; +//# sourceMappingURL=SCANDUMP.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/SCANDUMP.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/SCANDUMP.js.map new file mode 100644 index 0000000..4daa486 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/SCANDUMP.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SCANDUMP.js","sourceRoot":"","sources":["../../../../lib/commands/bloom/SCANDUMP.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,QAAgB;QACtE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnC,CAAC;IACD,cAAc,CAAC,KAA+D;QAC5E,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;YAClB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;SAChB,CAAC;IACJ,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/helpers.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/helpers.d.ts new file mode 100644 index 0000000..b39dbd1 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/helpers.d.ts @@ -0,0 +1,3 @@ +import { TypeMapping } from "@redis/client"; +export declare function transformInfoV2Reply(reply: Array, typeMapping?: TypeMapping): T; +//# sourceMappingURL=helpers.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/helpers.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/helpers.d.ts.map new file mode 100644 index 0000000..ea9e4c4 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/helpers.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../lib/commands/bloom/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,WAAW,EAAE,MAAM,eAAe,CAAC;AAExD,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,CAAC,CA0BvF"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/helpers.js b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/helpers.js new file mode 100644 index 0000000..ddd540a --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/helpers.js @@ -0,0 +1,28 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.transformInfoV2Reply = void 0; +const client_1 = require("@redis/client"); +function transformInfoV2Reply(reply, typeMapping) { + const mapType = typeMapping ? typeMapping[client_1.RESP_TYPES.MAP] : undefined; + switch (mapType) { + case Array: { + return reply; + } + case Map: { + const ret = new Map(); + for (let i = 0; i < reply.length; i += 2) { + ret.set(reply[i].toString(), reply[i + 1]); + } + return ret; + } + default: { + const ret = Object.create(null); + for (let i = 0; i < reply.length; i += 2) { + ret[reply[i].toString()] = reply[i + 1]; + } + return ret; + } + } +} +exports.transformInfoV2Reply = transformInfoV2Reply; +//# sourceMappingURL=helpers.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/helpers.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/helpers.js.map new file mode 100644 index 0000000..9704da7 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/helpers.js.map @@ -0,0 +1 @@ +{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../lib/commands/bloom/helpers.ts"],"names":[],"mappings":";;;AAAA,0CAAwD;AAExD,SAAgB,oBAAoB,CAAI,KAAiB,EAAE,WAAyB;IAClF,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,mBAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtE,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,OAAO,KAAqB,CAAC;QAC/B,CAAC;QACD,KAAK,GAAG,CAAC,CAAC,CAAC;YACT,MAAM,GAAG,GAAG,IAAI,GAAG,EAAe,CAAC;YAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC;YAED,OAAO,GAAmB,CAAC;QAC7B,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,CAAC;YAED,OAAO,GAAmB,CAAC;QAC7B,CAAC;IACH,CAAC;AACH,CAAC;AA1BD,oDA0BC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/index.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/index.d.ts new file mode 100644 index 0000000..cbfb092 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/index.d.ts @@ -0,0 +1,147 @@ +export * from './helpers'; +declare const _default: { + readonly ADD: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, item: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly add: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, item: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly CARD: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + readonly card: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + readonly EXISTS: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, item: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly exists: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, item: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly INFO: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Capacity">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Size">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of filters">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of items inserted">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Expansion rate">, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").NumberReply], _: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("./INFO").BfInfoReplyMap; + readonly 3: () => import("./INFO").BfInfoReplyMap; + }; + }; + readonly info: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Capacity">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Size">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of filters">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of items inserted">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Expansion rate">, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").NumberReply], _: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("./INFO").BfInfoReplyMap; + readonly 3: () => import("./INFO").BfInfoReplyMap; + }; + }; + readonly INSERT: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./INSERT").BfInsertOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly insert: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./INSERT").BfInsertOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly LOADCHUNK: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, iterator: number, chunk: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly loadChunk: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, iterator: number, chunk: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly MADD: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly mAdd: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly MEXISTS: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly mExists: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly RESERVE: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, errorRate: number, capacity: number, options?: import("./RESERVE").BfReserveOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly reserve: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, errorRate: number, capacity: number, options?: import("./RESERVE").BfReserveOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly SCANDUMP: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, iterator: number) => void; + readonly transformReply: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply]) => { + iterator: import("@redis/client/dist/lib/RESP/types").NumberReply; + chunk: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + }; + }; + readonly scanDump: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, iterator: number) => void; + readonly transformReply: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply]) => { + iterator: import("@redis/client/dist/lib/RESP/types").NumberReply; + chunk: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + }; + }; +}; +export default _default; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/index.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/index.d.ts.map new file mode 100644 index 0000000..5a7ba08 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/commands/bloom/index.ts"],"names":[],"mappings":"AAaA,cAAc,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE1B,wBAqBmC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/index.js b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/index.js new file mode 100644 index 0000000..c015156 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/index.js @@ -0,0 +1,53 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const ADD_1 = __importDefault(require("./ADD")); +const CARD_1 = __importDefault(require("./CARD")); +const EXISTS_1 = __importDefault(require("./EXISTS")); +const INFO_1 = __importDefault(require("./INFO")); +const INSERT_1 = __importDefault(require("./INSERT")); +const LOADCHUNK_1 = __importDefault(require("./LOADCHUNK")); +const MADD_1 = __importDefault(require("./MADD")); +const MEXISTS_1 = __importDefault(require("./MEXISTS")); +const RESERVE_1 = __importDefault(require("./RESERVE")); +const SCANDUMP_1 = __importDefault(require("./SCANDUMP")); +__exportStar(require("./helpers"), exports); +exports.default = { + ADD: ADD_1.default, + add: ADD_1.default, + CARD: CARD_1.default, + card: CARD_1.default, + EXISTS: EXISTS_1.default, + exists: EXISTS_1.default, + INFO: INFO_1.default, + info: INFO_1.default, + INSERT: INSERT_1.default, + insert: INSERT_1.default, + LOADCHUNK: LOADCHUNK_1.default, + loadChunk: LOADCHUNK_1.default, + MADD: MADD_1.default, + mAdd: MADD_1.default, + MEXISTS: MEXISTS_1.default, + mExists: MEXISTS_1.default, + RESERVE: RESERVE_1.default, + reserve: RESERVE_1.default, + SCANDUMP: SCANDUMP_1.default, + scanDump: SCANDUMP_1.default +}; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/bloom/index.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/index.js.map new file mode 100644 index 0000000..ffcc79a --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/bloom/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/commands/bloom/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAEA,gDAAwB;AACxB,kDAA0B;AAC1B,sDAA8B;AAC9B,kDAA0B;AAC1B,sDAA8B;AAC9B,4DAAoC;AACpC,kDAA0B;AAC1B,wDAAgC;AAChC,wDAAgC;AAChC,0DAAkC;AAElC,4CAA0B;AAE1B,kBAAe;IACb,GAAG,EAAH,aAAG;IACH,GAAG,EAAE,aAAG;IACR,IAAI,EAAJ,cAAI;IACJ,IAAI,EAAE,cAAI;IACV,MAAM,EAAN,gBAAM;IACN,MAAM,EAAE,gBAAM;IACd,IAAI,EAAJ,cAAI;IACJ,IAAI,EAAE,cAAI;IACV,MAAM,EAAN,gBAAM;IACN,MAAM,EAAE,gBAAM;IACd,SAAS,EAAT,mBAAS;IACT,SAAS,EAAE,mBAAS;IACpB,IAAI,EAAJ,cAAI;IACJ,IAAI,EAAE,cAAI;IACV,OAAO,EAAP,iBAAO;IACP,OAAO,EAAE,iBAAO;IAChB,OAAO,EAAP,iBAAO;IACP,OAAO,EAAE,iBAAO;IAChB,QAAQ,EAAR,kBAAQ;IACR,QAAQ,EAAE,kBAAQ;CACc,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INCRBY.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INCRBY.d.ts new file mode 100644 index 0000000..15862f4 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INCRBY.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, ArrayReply, NumberReply } from '@redis/client/dist/lib/RESP/types'; +export interface BfIncrByItem { + item: RedisArgument; + incrementBy: number; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Increases the count of one or more items in a Count-Min Sketch + * @param parser - The command parser + * @param key - The name of the sketch + * @param items - A single item or array of items to increment, each with an item and increment value + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, items: BfIncrByItem | Array) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=INCRBY.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INCRBY.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INCRBY.d.ts.map new file mode 100644 index 0000000..4bc5049 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INCRBY.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"INCRBY.d.ts","sourceRoot":"","sources":["../../../../lib/commands/count-min-sketch/INCRBY.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAW,MAAM,mCAAmC,CAAC;AAEpG,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;;;IAIC;;;;;OAKG;gDAEO,aAAa,OAChB,aAAa,SACX,YAAY,GAAG,MAAM,YAAY,CAAC;mCAaG,WAAW,WAAW,CAAC;;AAxBvE,wBAyB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INCRBY.js b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INCRBY.js new file mode 100644 index 0000000..0061283 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INCRBY.js @@ -0,0 +1,28 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Increases the count of one or more items in a Count-Min Sketch + * @param parser - The command parser + * @param key - The name of the sketch + * @param items - A single item or array of items to increment, each with an item and increment value + */ + parseCommand(parser, key, items) { + parser.push('CMS.INCRBY'); + parser.pushKey(key); + if (Array.isArray(items)) { + for (const item of items) { + pushIncrByItem(parser, item); + } + } + else { + pushIncrByItem(parser, items); + } + }, + transformReply: undefined +}; +function pushIncrByItem(parser, { item, incrementBy }) { + parser.push(item, incrementBy.toString()); +} +//# sourceMappingURL=INCRBY.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INCRBY.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INCRBY.js.map new file mode 100644 index 0000000..b6495fa --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INCRBY.js.map @@ -0,0 +1 @@ +{"version":3,"file":"INCRBY.js","sourceRoot":"","sources":["../../../../lib/commands/count-min-sketch/INCRBY.ts"],"names":[],"mappings":";;AAQA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,KAAyC;QAEzC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC;AAE7B,SAAS,cAAc,CAAC,MAAqB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAgB;IAChF,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC5C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INFO.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INFO.d.ts new file mode 100644 index 0000000..2826f39 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INFO.d.ts @@ -0,0 +1,36 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, TuplesToMapReply, NumberReply, SimpleStringReply, TypeMapping } from '@redis/client/dist/lib/RESP/types'; +export type CmsInfoReplyMap = TuplesToMapReply<[ + [ + SimpleStringReply<'width'>, + NumberReply + ], + [ + SimpleStringReply<'depth'>, + NumberReply + ], + [ + SimpleStringReply<'count'>, + NumberReply + ] +]>; +export interface CmsInfoReply { + width: NumberReply; + depth: NumberReply; + count: NumberReply; +} +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns width, depth, and total count of items in a Count-Min Sketch + * @param parser - The command parser + * @param key - The name of the sketch to get information about + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [SimpleStringReply<"width">, NumberReply, SimpleStringReply<"depth">, NumberReply, SimpleStringReply<"count">, NumberReply], _: any, typeMapping?: TypeMapping) => CmsInfoReply; + readonly 3: () => CmsInfoReply; + }; +}; +export default _default; +//# sourceMappingURL=INFO.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INFO.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INFO.d.ts.map new file mode 100644 index 0000000..950f95c --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INFO.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"INFO.d.ts","sourceRoot":"","sources":["../../../../lib/commands/count-min-sketch/INFO.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAoC,iBAAiB,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAGnK,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC;IAC7C;QAAC,iBAAiB,CAAC,OAAO,CAAC;QAAE,WAAW;KAAC;IACzC;QAAC,iBAAiB,CAAC,OAAO,CAAC;QAAE,WAAW;KAAC;IACzC;QAAC,iBAAiB,CAAC,OAAO,CAAC;QAAE,WAAW;KAAC;CAC1C,CAAC,CAAC;AAEH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,WAAW,CAAC;CACpB;;;IAIC;;;;OAIG;gDACkB,aAAa,OAAO,aAAa;;mNAKkB,WAAW,KAAG,YAAY;0BAG/D,YAAY;;;AAfjD,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INFO.js b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INFO.js new file mode 100644 index 0000000..5f187c1 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INFO.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const bloom_1 = require("../bloom"); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns width, depth, and total count of items in a Count-Min Sketch + * @param parser - The command parser + * @param key - The name of the sketch to get information about + */ + parseCommand(parser, key) { + parser.push('CMS.INFO'); + parser.pushKey(key); + }, + transformReply: { + 2: (reply, _, typeMapping) => { + return (0, bloom_1.transformInfoV2Reply)(reply, typeMapping); + }, + 3: undefined + } +}; +//# sourceMappingURL=INFO.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INFO.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INFO.js.map new file mode 100644 index 0000000..a973466 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INFO.js.map @@ -0,0 +1 @@ +{"version":3,"file":"INFO.js","sourceRoot":"","sources":["../../../../lib/commands/count-min-sketch/INFO.ts"],"names":[],"mappings":";;AAEA,oCAAgD;AAchD,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAA+C,EAAE,CAAC,EAAE,WAAyB,EAAgB,EAAE;YACjG,OAAO,IAAA,4BAAoB,EAAe,KAAK,EAAE,WAAW,CAAC,CAAC;QAChE,CAAC;QACD,CAAC,EAAE,SAA0C;KAC9C;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYDIM.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYDIM.d.ts new file mode 100644 index 0000000..3578f9c --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYDIM.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, SimpleStringReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Initialize a Count-Min Sketch using width and depth parameters + * @param parser - The command parser + * @param key - The name of the sketch + * @param width - Number of counters in each array (must be a multiple of 2) + * @param depth - Number of counter arrays (determines accuracy of estimates) + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, width: number, depth: number) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=INITBYDIM.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYDIM.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYDIM.d.ts.map new file mode 100644 index 0000000..2db1aa7 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYDIM.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"INITBYDIM.d.ts","sourceRoot":"","sources":["../../../../lib/commands/count-min-sketch/INITBYDIM.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,mCAAmC,CAAC;;;IAI5F;;;;;;OAMG;gDACkB,aAAa,OAAO,aAAa,SAAS,MAAM,SAAS,MAAM;mCAKtC,kBAAkB,IAAI,CAAC;;AAdvE,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYDIM.js b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYDIM.js new file mode 100644 index 0000000..50b81aa --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYDIM.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Initialize a Count-Min Sketch using width and depth parameters + * @param parser - The command parser + * @param key - The name of the sketch + * @param width - Number of counters in each array (must be a multiple of 2) + * @param depth - Number of counter arrays (determines accuracy of estimates) + */ + parseCommand(parser, key, width, depth) { + parser.push('CMS.INITBYDIM'); + parser.pushKey(key); + parser.push(width.toString(), depth.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=INITBYDIM.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYDIM.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYDIM.js.map new file mode 100644 index 0000000..868390c --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYDIM.js.map @@ -0,0 +1 @@ +{"version":3,"file":"INITBYDIM.js","sourceRoot":"","sources":["../../../../lib/commands/count-min-sketch/INITBYDIM.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAa,EAAE,KAAa;QAClF,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYPROB.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYPROB.d.ts new file mode 100644 index 0000000..d23afdd --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYPROB.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, SimpleStringReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Initialize a Count-Min Sketch using error rate and probability parameters + * @param parser - The command parser + * @param key - The name of the sketch + * @param error - Estimate error, as a decimal between 0 and 1 + * @param probability - The desired probability for inflated count, as a decimal between 0 and 1 + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, error: number, probability: number) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=INITBYPROB.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYPROB.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYPROB.d.ts.map new file mode 100644 index 0000000..f5f40fa --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYPROB.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"INITBYPROB.d.ts","sourceRoot":"","sources":["../../../../lib/commands/count-min-sketch/INITBYPROB.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,mCAAmC,CAAC;;;IAI5F;;;;;;OAMG;gDACkB,aAAa,OAAO,aAAa,SAAS,MAAM,eAAe,MAAM;mCAK5C,kBAAkB,IAAI,CAAC;;AAdvE,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYPROB.js b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYPROB.js new file mode 100644 index 0000000..3494813 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYPROB.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Initialize a Count-Min Sketch using error rate and probability parameters + * @param parser - The command parser + * @param key - The name of the sketch + * @param error - Estimate error, as a decimal between 0 and 1 + * @param probability - The desired probability for inflated count, as a decimal between 0 and 1 + */ + parseCommand(parser, key, error, probability) { + parser.push('CMS.INITBYPROB'); + parser.pushKey(key); + parser.push(error.toString(), probability.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=INITBYPROB.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYPROB.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYPROB.js.map new file mode 100644 index 0000000..f655c78 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/INITBYPROB.js.map @@ -0,0 +1 @@ +{"version":3,"file":"INITBYPROB.js","sourceRoot":"","sources":["../../../../lib/commands/count-min-sketch/INITBYPROB.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAa,EAAE,WAAmB;QACxF,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/MERGE.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/MERGE.d.ts new file mode 100644 index 0000000..39bad48 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/MERGE.d.ts @@ -0,0 +1,20 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, SimpleStringReply } from '@redis/client/dist/lib/RESP/types'; +interface BfMergeSketch { + name: RedisArgument; + weight: number; +} +export type BfMergeSketches = Array | Array; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Merges multiple Count-Min Sketches into a single sketch, with optional weights + * @param parser - The command parser + * @param destination - The name of the destination sketch + * @param source - Array of sketch names or array of sketches with weights + */ + readonly parseCommand: (this: void, parser: CommandParser, destination: RedisArgument, source: BfMergeSketches) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=MERGE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/MERGE.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/MERGE.d.ts.map new file mode 100644 index 0000000..e217c6c --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/MERGE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MERGE.d.ts","sourceRoot":"","sources":["../../../../lib/commands/count-min-sketch/MERGE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,mCAAmC,CAAC;AAE9F,UAAU,aAAa;IACrB,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;;;IAIxE;;;;;OAKG;gDAEO,aAAa,eACR,aAAa,UAClB,eAAe;mCAkBqB,kBAAkB,IAAI,CAAC;;AA7BvE,wBA8B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/MERGE.js b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/MERGE.js new file mode 100644 index 0000000..2601ea9 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/MERGE.js @@ -0,0 +1,33 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Merges multiple Count-Min Sketches into a single sketch, with optional weights + * @param parser - The command parser + * @param destination - The name of the destination sketch + * @param source - Array of sketch names or array of sketches with weights + */ + parseCommand(parser, destination, source) { + parser.push('CMS.MERGE'); + parser.pushKey(destination); + parser.push(source.length.toString()); + if (isPlainSketches(source)) { + parser.pushVariadic(source); + } + else { + for (let i = 0; i < source.length; i++) { + parser.push(source[i].name); + } + parser.push('WEIGHTS'); + for (let i = 0; i < source.length; i++) { + parser.push(source[i].weight.toString()); + } + } + }, + transformReply: undefined +}; +function isPlainSketches(src) { + return typeof src[0] === 'string' || src[0] instanceof Buffer; +} +//# sourceMappingURL=MERGE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/MERGE.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/MERGE.js.map new file mode 100644 index 0000000..e74996c --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/MERGE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MERGE.js","sourceRoot":"","sources":["../../../../lib/commands/count-min-sketch/MERGE.ts"],"names":[],"mappings":";;AAUA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CACV,MAAqB,EACrB,WAA0B,EAC1B,MAAuB;QAEvB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEtC,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC;AAE7B,SAAS,eAAe,CAAC,GAAoB;IAC3C,OAAO,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC;AAChE,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/QUERY.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/QUERY.d.ts new file mode 100644 index 0000000..1e1fdeb --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/QUERY.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { ArrayReply, NumberReply, RedisArgument } from '@redis/client/dist/lib/RESP/types'; +import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns the count for one or more items in a Count-Min Sketch + * @param parser - The command parser + * @param key - The name of the sketch + * @param items - One or more items to get counts for + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, items: RedisVariadicArgument) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=QUERY.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/QUERY.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/QUERY.d.ts.map new file mode 100644 index 0000000..906afbd --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/QUERY.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"QUERY.d.ts","sourceRoot":"","sources":["../../../../lib/commands/count-min-sketch/QUERY.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAW,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACpG,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;;;IAI3F;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,SAAS,qBAAqB;mCAKtC,WAAW,WAAW,CAAC;;AAbvE,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/QUERY.js b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/QUERY.js new file mode 100644 index 0000000..28ba917 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/QUERY.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns the count for one or more items in a Count-Min Sketch + * @param parser - The command parser + * @param key - The name of the sketch + * @param items - One or more items to get counts for + */ + parseCommand(parser, key, items) { + parser.push('CMS.QUERY'); + parser.pushKey(key); + parser.pushVariadic(items); + }, + transformReply: undefined +}; +//# sourceMappingURL=QUERY.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/QUERY.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/QUERY.js.map new file mode 100644 index 0000000..7a8a7d2 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/QUERY.js.map @@ -0,0 +1 @@ +{"version":3,"file":"QUERY.js","sourceRoot":"","sources":["../../../../lib/commands/count-min-sketch/QUERY.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAA4B;QAClF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/index.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/index.d.ts new file mode 100644 index 0000000..5050f99 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/index.d.ts @@ -0,0 +1,70 @@ +declare const _default: { + readonly INCRBY: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, items: import("./INCRBY").BfIncrByItem | import("./INCRBY").BfIncrByItem[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly incrBy: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, items: import("./INCRBY").BfIncrByItem | import("./INCRBY").BfIncrByItem[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly INFO: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"width">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"depth">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"count">, import("@redis/client/dist/lib/RESP/types").NumberReply], _: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("./INFO").CmsInfoReply; + readonly 3: () => import("./INFO").CmsInfoReply; + }; + }; + readonly info: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"width">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"depth">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"count">, import("@redis/client/dist/lib/RESP/types").NumberReply], _: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("./INFO").CmsInfoReply; + readonly 3: () => import("./INFO").CmsInfoReply; + }; + }; + readonly INITBYDIM: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, width: number, depth: number) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly initByDim: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, width: number, depth: number) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly INITBYPROB: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, error: number, probability: number) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly initByProb: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, error: number, probability: number) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly MERGE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, destination: import("@redis/client/dist/lib/RESP/types").RedisArgument, source: import("./MERGE").BfMergeSketches) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly merge: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, destination: import("@redis/client/dist/lib/RESP/types").RedisArgument, source: import("./MERGE").BfMergeSketches) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly QUERY: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly query: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; +}; +export default _default; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/index.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/index.d.ts.map new file mode 100644 index 0000000..a175081 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/commands/count-min-sketch/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,wBAamC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/index.js b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/index.js new file mode 100644 index 0000000..bb0be71 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/index.js @@ -0,0 +1,26 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const INCRBY_1 = __importDefault(require("./INCRBY")); +const INFO_1 = __importDefault(require("./INFO")); +const INITBYDIM_1 = __importDefault(require("./INITBYDIM")); +const INITBYPROB_1 = __importDefault(require("./INITBYPROB")); +const MERGE_1 = __importDefault(require("./MERGE")); +const QUERY_1 = __importDefault(require("./QUERY")); +exports.default = { + INCRBY: INCRBY_1.default, + incrBy: INCRBY_1.default, + INFO: INFO_1.default, + info: INFO_1.default, + INITBYDIM: INITBYDIM_1.default, + initByDim: INITBYDIM_1.default, + INITBYPROB: INITBYPROB_1.default, + initByProb: INITBYPROB_1.default, + MERGE: MERGE_1.default, + merge: MERGE_1.default, + QUERY: QUERY_1.default, + query: QUERY_1.default +}; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/index.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/index.js.map new file mode 100644 index 0000000..ddb8284 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/count-min-sketch/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/commands/count-min-sketch/index.ts"],"names":[],"mappings":";;;;;AACA,sDAA8B;AAC9B,kDAA0B;AAC1B,4DAAoC;AACpC,8DAAsC;AACtC,oDAA4B;AAC5B,oDAA4B;AAE5B,kBAAe;IACb,MAAM,EAAN,gBAAM;IACN,MAAM,EAAE,gBAAM;IACd,IAAI,EAAJ,cAAI;IACJ,IAAI,EAAE,cAAI;IACV,SAAS,EAAT,mBAAS;IACT,SAAS,EAAE,mBAAS;IACpB,UAAU,EAAV,oBAAU;IACV,UAAU,EAAE,oBAAU;IACtB,KAAK,EAAL,eAAK;IACL,KAAK,EAAE,eAAK;IACZ,KAAK,EAAL,eAAK;IACL,KAAK,EAAE,eAAK;CACoB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADD.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADD.d.ts new file mode 100644 index 0000000..35c4194 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADD.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Adds an item to a Cuckoo Filter, creating the filter if it does not exist + * @param parser - The command parser + * @param key - The name of the Cuckoo filter + * @param item - The item to add to the filter + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, item: RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; +}; +export default _default; +//# sourceMappingURL=ADD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADD.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADD.d.ts.map new file mode 100644 index 0000000..620805f --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ADD.d.ts","sourceRoot":"","sources":["../../../../lib/commands/cuckoo/ADD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAW,MAAM,mCAAmC,CAAC;;;IAKzE;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,QAAQ,aAAa;;;;;;AAR7E,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADD.js b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADD.js new file mode 100644 index 0000000..a4b17d5 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADD.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Adds an item to a Cuckoo Filter, creating the filter if it does not exist + * @param parser - The command parser + * @param key - The name of the Cuckoo filter + * @param item - The item to add to the filter + */ + parseCommand(parser, key, item) { + parser.push('CF.ADD'); + parser.pushKey(key); + parser.push(item); + }, + transformReply: generic_transformers_1.transformBooleanReply +}; +//# sourceMappingURL=ADD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADD.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADD.js.map new file mode 100644 index 0000000..eee100e --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ADD.js","sourceRoot":"","sources":["../../../../lib/commands/cuckoo/ADD.ts"],"names":[],"mappings":";;AAEA,+FAA6F;AAE7F,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,IAAmB;QACzE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,cAAc,EAAE,4CAAqB;CACX,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADDNX.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADDNX.d.ts new file mode 100644 index 0000000..856fcae --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADDNX.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Adds an item to a Cuckoo Filter only if it does not exist + * @param parser - The command parser + * @param key - The name of the Cuckoo filter + * @param item - The item to add to the filter if it doesn't exist + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, item: RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; +}; +export default _default; +//# sourceMappingURL=ADDNX.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADDNX.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADDNX.d.ts.map new file mode 100644 index 0000000..a99268f --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADDNX.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ADDNX.d.ts","sourceRoot":"","sources":["../../../../lib/commands/cuckoo/ADDNX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAW,MAAM,mCAAmC,CAAC;;;IAKzE;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,QAAQ,aAAa;;;;;;AAR7E,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADDNX.js b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADDNX.js new file mode 100644 index 0000000..8ead919 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADDNX.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Adds an item to a Cuckoo Filter only if it does not exist + * @param parser - The command parser + * @param key - The name of the Cuckoo filter + * @param item - The item to add to the filter if it doesn't exist + */ + parseCommand(parser, key, item) { + parser.push('CF.ADDNX'); + parser.pushKey(key); + parser.push(item); + }, + transformReply: generic_transformers_1.transformBooleanReply +}; +//# sourceMappingURL=ADDNX.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADDNX.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADDNX.js.map new file mode 100644 index 0000000..8d203cb --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/ADDNX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ADDNX.js","sourceRoot":"","sources":["../../../../lib/commands/cuckoo/ADDNX.ts"],"names":[],"mappings":";;AAEA,+FAA6F;AAE7F,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,IAAmB;QACzE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,cAAc,EAAE,4CAAqB;CACX,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/COUNT.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/COUNT.d.ts new file mode 100644 index 0000000..6b7c714 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/COUNT.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, NumberReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns the number of times an item appears in a Cuckoo Filter + * @param parser - The command parser + * @param key - The name of the Cuckoo filter + * @param item - The item to count occurrences of + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, item: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=COUNT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/COUNT.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/COUNT.d.ts.map new file mode 100644 index 0000000..2167890 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/COUNT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"COUNT.d.ts","sourceRoot":"","sources":["../../../../lib/commands/cuckoo/COUNT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,mCAAmC,CAAC;;;IAItF;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,QAAQ,aAAa;mCAK7B,WAAW;;AAb3D,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/COUNT.js b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/COUNT.js new file mode 100644 index 0000000..f5a91f9 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/COUNT.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns the number of times an item appears in a Cuckoo Filter + * @param parser - The command parser + * @param key - The name of the Cuckoo filter + * @param item - The item to count occurrences of + */ + parseCommand(parser, key, item) { + parser.push('CF.COUNT'); + parser.pushKey(key); + parser.push(item); + }, + transformReply: undefined +}; +//# sourceMappingURL=COUNT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/COUNT.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/COUNT.js.map new file mode 100644 index 0000000..53d8937 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/COUNT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"COUNT.js","sourceRoot":"","sources":["../../../../lib/commands/cuckoo/COUNT.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,IAAmB;QACzE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/DEL.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/DEL.d.ts new file mode 100644 index 0000000..5522f31 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/DEL.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Removes an item from a Cuckoo Filter if it exists + * @param parser - The command parser + * @param key - The name of the Cuckoo filter + * @param item - The item to remove from the filter + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, item: RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; +}; +export default _default; +//# sourceMappingURL=DEL.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/DEL.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/DEL.d.ts.map new file mode 100644 index 0000000..05048b6 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/DEL.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"DEL.d.ts","sourceRoot":"","sources":["../../../../lib/commands/cuckoo/DEL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAW,MAAM,mCAAmC,CAAC;;;IAKzE;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,QAAQ,aAAa;;;;;;AAR7E,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/DEL.js b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/DEL.js new file mode 100644 index 0000000..ff32f3c --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/DEL.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Removes an item from a Cuckoo Filter if it exists + * @param parser - The command parser + * @param key - The name of the Cuckoo filter + * @param item - The item to remove from the filter + */ + parseCommand(parser, key, item) { + parser.push('CF.DEL'); + parser.pushKey(key); + parser.push(item); + }, + transformReply: generic_transformers_1.transformBooleanReply +}; +//# sourceMappingURL=DEL.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/DEL.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/DEL.js.map new file mode 100644 index 0000000..6a1194f --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/DEL.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DEL.js","sourceRoot":"","sources":["../../../../lib/commands/cuckoo/DEL.ts"],"names":[],"mappings":";;AAEA,+FAA6F;AAE7F,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,IAAmB;QACzE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,cAAc,EAAE,4CAAqB;CACX,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/EXISTS.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/EXISTS.d.ts new file mode 100644 index 0000000..9ebdc84 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/EXISTS.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Checks if an item exists in a Cuckoo Filter + * @param parser - The command parser + * @param key - The name of the Cuckoo filter + * @param item - The item to check for existence + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, item: RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; +}; +export default _default; +//# sourceMappingURL=EXISTS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/EXISTS.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/EXISTS.d.ts.map new file mode 100644 index 0000000..24a6f70 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/EXISTS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"EXISTS.d.ts","sourceRoot":"","sources":["../../../../lib/commands/cuckoo/EXISTS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAW,MAAM,mCAAmC,CAAC;;;IAKzE;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,QAAQ,aAAa;;;;;;AAR7E,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/EXISTS.js b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/EXISTS.js new file mode 100644 index 0000000..1461631 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/EXISTS.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Checks if an item exists in a Cuckoo Filter + * @param parser - The command parser + * @param key - The name of the Cuckoo filter + * @param item - The item to check for existence + */ + parseCommand(parser, key, item) { + parser.push('CF.EXISTS'); + parser.pushKey(key); + parser.push(item); + }, + transformReply: generic_transformers_1.transformBooleanReply +}; +//# sourceMappingURL=EXISTS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/EXISTS.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/EXISTS.js.map new file mode 100644 index 0000000..faeedb5 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/EXISTS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"EXISTS.js","sourceRoot":"","sources":["../../../../lib/commands/cuckoo/EXISTS.ts"],"names":[],"mappings":";;AAEA,+FAA6F;AAE7F,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,IAAmB;QACzE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,cAAc,EAAE,4CAAqB;CACX,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INFO.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INFO.d.ts new file mode 100644 index 0000000..15394e7 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INFO.d.ts @@ -0,0 +1,51 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, NumberReply, TuplesToMapReply, SimpleStringReply, TypeMapping } from '@redis/client/dist/lib/RESP/types'; +export type CfInfoReplyMap = TuplesToMapReply<[ + [ + SimpleStringReply<'Size'>, + NumberReply + ], + [ + SimpleStringReply<'Number of buckets'>, + NumberReply + ], + [ + SimpleStringReply<'Number of filters'>, + NumberReply + ], + [ + SimpleStringReply<'Number of items inserted'>, + NumberReply + ], + [ + SimpleStringReply<'Number of items deleted'>, + NumberReply + ], + [ + SimpleStringReply<'Bucket size'>, + NumberReply + ], + [ + SimpleStringReply<'Expansion rate'>, + NumberReply + ], + [ + SimpleStringReply<'Max iterations'>, + NumberReply + ] +]>; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns detailed information about a Cuckoo Filter including size, buckets, filters count, items statistics and configuration + * @param parser - The command parser + * @param key - The name of the Cuckoo filter to get information about + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [SimpleStringReply<"Size">, NumberReply, SimpleStringReply<"Number of buckets">, NumberReply, SimpleStringReply<"Number of filters">, NumberReply, SimpleStringReply<"Number of items inserted">, NumberReply, SimpleStringReply<"Number of items deleted">, NumberReply, SimpleStringReply<"Bucket size">, NumberReply, SimpleStringReply<"Expansion rate">, NumberReply, SimpleStringReply<"Max iterations">, NumberReply], _: any, typeMapping?: TypeMapping) => CfInfoReplyMap; + readonly 3: () => CfInfoReplyMap; + }; +}; +export default _default; +//# sourceMappingURL=INFO.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INFO.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INFO.d.ts.map new file mode 100644 index 0000000..d3f1cac --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INFO.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"INFO.d.ts","sourceRoot":"","sources":["../../../../lib/commands/cuckoo/INFO.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAW,WAAW,EAAE,gBAAgB,EAA2B,iBAAiB,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAGnK,MAAM,MAAM,cAAc,GAAG,gBAAgB,CAAC;IAC5C;QAAC,iBAAiB,CAAC,MAAM,CAAC;QAAE,WAAW;KAAC;IACxC;QAAC,iBAAiB,CAAC,mBAAmB,CAAC;QAAE,WAAW;KAAC;IACrD;QAAC,iBAAiB,CAAC,mBAAmB,CAAC;QAAE,WAAW;KAAC;IACrD;QAAC,iBAAiB,CAAC,0BAA0B,CAAC;QAAE,WAAW;KAAC;IAC5D;QAAC,iBAAiB,CAAC,yBAAyB,CAAC;QAAE,WAAW;KAAC;IAC3D;QAAC,iBAAiB,CAAC,aAAa,CAAC;QAAE,WAAW;KAAC;IAC/C;QAAC,iBAAiB,CAAC,gBAAgB,CAAC;QAAE,WAAW;KAAC;IAClD;QAAC,iBAAiB,CAAC,gBAAgB,CAAC;QAAE,WAAW;KAAC;CACnD,CAAC,CAAC;;;IAID;;;;OAIG;gDACkB,aAAa,OAAO,aAAa;;4hBAKiB,WAAW;;;;AAZpF,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INFO.js b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INFO.js new file mode 100644 index 0000000..5cbe5cf --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INFO.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const bloom_1 = require("../bloom"); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns detailed information about a Cuckoo Filter including size, buckets, filters count, items statistics and configuration + * @param parser - The command parser + * @param key - The name of the Cuckoo filter to get information about + */ + parseCommand(parser, key) { + parser.push('CF.INFO'); + parser.pushKey(key); + }, + transformReply: { + 2: (reply, _, typeMapping) => { + return (0, bloom_1.transformInfoV2Reply)(reply, typeMapping); + }, + 3: undefined + } +}; +//# sourceMappingURL=INFO.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INFO.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INFO.js.map new file mode 100644 index 0000000..347272f --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INFO.js.map @@ -0,0 +1 @@ +{"version":3,"file":"INFO.js","sourceRoot":"","sources":["../../../../lib/commands/cuckoo/INFO.ts"],"names":[],"mappings":";;AAEA,oCAAgD;AAahD,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAA8C,EAAE,CAAC,EAAE,WAAyB,EAAkB,EAAE;YAClG,OAAO,IAAA,4BAAoB,EAAiB,KAAK,EAAE,WAAW,CAAC,CAAC;QAClE,CAAC;QACD,CAAC,EAAE,SAA4C;KAChD;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERT.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERT.d.ts new file mode 100644 index 0000000..ce5265b --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERT.d.ts @@ -0,0 +1,27 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument } from '@redis/client/dist/lib/RESP/types'; +import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers'; +export interface CfInsertOptions { + CAPACITY?: number; + NOCREATE?: boolean; +} +export declare function parseCfInsertArguments(parser: CommandParser, key: RedisArgument, items: RedisVariadicArgument, options?: CfInsertOptions): void; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Adds one or more items to a Cuckoo Filter, creating it if it does not exist + * @param parser - The command parser + * @param key - The name of the Cuckoo filter + * @param items - One or more items to add to the filter + * @param options - Optional parameters for filter creation + * @param options.CAPACITY - The number of entries intended to be added to the filter + * @param options.NOCREATE - If true, prevents automatic filter creation + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, items: RedisVariadicArgument, options?: CfInsertOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; +}; +export default _default; +//# sourceMappingURL=INSERT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERT.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERT.d.ts.map new file mode 100644 index 0000000..2fbc7af --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"INSERT.d.ts","sourceRoot":"","sources":["../../../../lib/commands/cuckoo/INSERT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAW,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAA8B,MAAM,sDAAsD,CAAC;AAEzH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,qBAAqB,EAC5B,OAAO,CAAC,EAAE,eAAe,QAc1B;;;IAIC;;;;;;;;OAQG;;;;;;;AAVL,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERT.js b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERT.js new file mode 100644 index 0000000..17a9818 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERT.js @@ -0,0 +1,34 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseCfInsertArguments = void 0; +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +function parseCfInsertArguments(parser, key, items, options) { + parser.pushKey(key); + if (options?.CAPACITY !== undefined) { + parser.push('CAPACITY', options.CAPACITY.toString()); + } + if (options?.NOCREATE) { + parser.push('NOCREATE'); + } + parser.push('ITEMS'); + parser.pushVariadic(items); +} +exports.parseCfInsertArguments = parseCfInsertArguments; +exports.default = { + IS_READ_ONLY: false, + /** + * Adds one or more items to a Cuckoo Filter, creating it if it does not exist + * @param parser - The command parser + * @param key - The name of the Cuckoo filter + * @param items - One or more items to add to the filter + * @param options - Optional parameters for filter creation + * @param options.CAPACITY - The number of entries intended to be added to the filter + * @param options.NOCREATE - If true, prevents automatic filter creation + */ + parseCommand(...args) { + args[0].push('CF.INSERT'); + parseCfInsertArguments(...args); + }, + transformReply: generic_transformers_1.transformBooleanArrayReply +}; +//# sourceMappingURL=INSERT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERT.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERT.js.map new file mode 100644 index 0000000..7312098 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"INSERT.js","sourceRoot":"","sources":["../../../../lib/commands/cuckoo/INSERT.ts"],"names":[],"mappings":";;;AAEA,+FAAyH;AAOzH,SAAgB,sBAAsB,CACpC,MAAqB,EACrB,GAAkB,EAClB,KAA4B,EAC5B,OAAyB;IAEzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEpB,IAAI,OAAO,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrB,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAlBD,wDAkBC;AAED,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;OAQG;IACH,YAAY,CAAC,GAAG,IAA+C;QAC7D,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1B,sBAAsB,CAAC,GAAG,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,cAAc,EAAE,iDAA0B;CAChB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERTNX.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERTNX.d.ts new file mode 100644 index 0000000..98a6091 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERTNX.d.ts @@ -0,0 +1,19 @@ +/** + * Adds one or more items to a Cuckoo Filter only if they do not exist yet, creating the filter if needed + * @param parser - The command parser + * @param key - The name of the Cuckoo filter + * @param items - One or more items to add to the filter + * @param options - Optional parameters for filter creation + * @param options.CAPACITY - The number of entries intended to be added to the filter + * @param options.NOCREATE - If true, prevents automatic filter creation + */ +declare const _default: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./INSERT").CfInsertOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; +}; +export default _default; +//# sourceMappingURL=INSERTNX.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERTNX.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERTNX.d.ts.map new file mode 100644 index 0000000..3d7ad8f --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERTNX.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"INSERTNX.d.ts","sourceRoot":"","sources":["../../../../lib/commands/cuckoo/INSERTNX.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;;;;;;;;;AACH,wBAO6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERTNX.js b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERTNX.js new file mode 100644 index 0000000..abcab81 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERTNX.js @@ -0,0 +1,44 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const INSERT_1 = __importStar(require("./INSERT")); +/** + * Adds one or more items to a Cuckoo Filter only if they do not exist yet, creating the filter if needed + * @param parser - The command parser + * @param key - The name of the Cuckoo filter + * @param items - One or more items to add to the filter + * @param options - Optional parameters for filter creation + * @param options.CAPACITY - The number of entries intended to be added to the filter + * @param options.NOCREATE - If true, prevents automatic filter creation + */ +exports.default = { + IS_READ_ONLY: INSERT_1.default.IS_READ_ONLY, + parseCommand(...args) { + args[0].push('CF.INSERTNX'); + (0, INSERT_1.parseCfInsertArguments)(...args); + }, + transformReply: INSERT_1.default.transformReply +}; +//# sourceMappingURL=INSERTNX.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERTNX.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERTNX.js.map new file mode 100644 index 0000000..0ca3d79 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/INSERTNX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"INSERTNX.js","sourceRoot":"","sources":["../../../../lib/commands/cuckoo/INSERTNX.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,mDAA0D;AAE1D;;;;;;;;GAQG;AACH,kBAAe;IACb,YAAY,EAAE,gBAAM,CAAC,YAAY;IACjC,YAAY,CAAC,GAAG,IAA+C;QAC7D,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5B,IAAA,+BAAsB,EAAC,GAAG,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,cAAc,EAAE,gBAAM,CAAC,cAAc;CACX,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/LOADCHUNK.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/LOADCHUNK.d.ts new file mode 100644 index 0000000..1bda6c2 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/LOADCHUNK.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { SimpleStringReply, RedisArgument } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Restores a Cuckoo Filter chunk previously saved using SCANDUMP + * @param parser - The command parser + * @param key - The name of the Cuckoo filter to restore + * @param iterator - Iterator value from the SCANDUMP command + * @param chunk - Data chunk from the SCANDUMP command + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, iterator: number, chunk: RedisArgument) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=LOADCHUNK.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/LOADCHUNK.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/LOADCHUNK.d.ts.map new file mode 100644 index 0000000..1b82588 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/LOADCHUNK.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LOADCHUNK.d.ts","sourceRoot":"","sources":["../../../../lib/commands/cuckoo/LOADCHUNK.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAW,aAAa,EAAE,MAAM,mCAAmC,CAAC;;;IAI5F;;;;;;OAMG;gDACkB,aAAa,OAAO,aAAa,YAAY,MAAM,SAAS,aAAa;mCAKhD,kBAAkB,IAAI,CAAC;;AAdvE,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/LOADCHUNK.js b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/LOADCHUNK.js new file mode 100644 index 0000000..969a30a --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/LOADCHUNK.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Restores a Cuckoo Filter chunk previously saved using SCANDUMP + * @param parser - The command parser + * @param key - The name of the Cuckoo filter to restore + * @param iterator - Iterator value from the SCANDUMP command + * @param chunk - Data chunk from the SCANDUMP command + */ + parseCommand(parser, key, iterator, chunk) { + parser.push('CF.LOADCHUNK'); + parser.pushKey(key); + parser.push(iterator.toString(), chunk); + }, + transformReply: undefined +}; +//# sourceMappingURL=LOADCHUNK.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/LOADCHUNK.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/LOADCHUNK.js.map new file mode 100644 index 0000000..ad7dd6b --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/LOADCHUNK.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LOADCHUNK.js","sourceRoot":"","sources":["../../../../lib/commands/cuckoo/LOADCHUNK.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,QAAgB,EAAE,KAAoB;QAC5F,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/RESERVE.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/RESERVE.d.ts new file mode 100644 index 0000000..de7b79c --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/RESERVE.d.ts @@ -0,0 +1,24 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, SimpleStringReply } from '@redis/client/dist/lib/RESP/types'; +export interface CfReserveOptions { + BUCKETSIZE?: number; + MAXITERATIONS?: number; + EXPANSION?: number; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Creates an empty Cuckoo Filter with specified capacity and parameters + * @param parser - The command parser + * @param key - The name of the Cuckoo filter to create + * @param capacity - The number of entries intended to be added to the filter + * @param options - Optional parameters to tune the filter + * @param options.BUCKETSIZE - Number of items in each bucket + * @param options.MAXITERATIONS - Maximum number of iterations before declaring filter full + * @param options.EXPANSION - Number of additional buckets per expansion + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, capacity: number, options?: CfReserveOptions) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=RESERVE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/RESERVE.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/RESERVE.d.ts.map new file mode 100644 index 0000000..af1cd5f --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/RESERVE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"RESERVE.d.ts","sourceRoot":"","sources":["../../../../lib/commands/cuckoo/RESERVE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,mCAAmC,CAAC;AAE9F,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;;;IAIC;;;;;;;;;OASG;gDAEO,aAAa,OAChB,aAAa,YACR,MAAM,YACN,gBAAgB;mCAkBkB,kBAAkB,IAAI,CAAC;;AAlCvE,wBAmC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/RESERVE.js b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/RESERVE.js new file mode 100644 index 0000000..c52f025 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/RESERVE.js @@ -0,0 +1,31 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Creates an empty Cuckoo Filter with specified capacity and parameters + * @param parser - The command parser + * @param key - The name of the Cuckoo filter to create + * @param capacity - The number of entries intended to be added to the filter + * @param options - Optional parameters to tune the filter + * @param options.BUCKETSIZE - Number of items in each bucket + * @param options.MAXITERATIONS - Maximum number of iterations before declaring filter full + * @param options.EXPANSION - Number of additional buckets per expansion + */ + parseCommand(parser, key, capacity, options) { + parser.push('CF.RESERVE'); + parser.pushKey(key); + parser.push(capacity.toString()); + if (options?.BUCKETSIZE !== undefined) { + parser.push('BUCKETSIZE', options.BUCKETSIZE.toString()); + } + if (options?.MAXITERATIONS !== undefined) { + parser.push('MAXITERATIONS', options.MAXITERATIONS.toString()); + } + if (options?.EXPANSION !== undefined) { + parser.push('EXPANSION', options.EXPANSION.toString()); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=RESERVE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/RESERVE.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/RESERVE.js.map new file mode 100644 index 0000000..9305209 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/RESERVE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RESERVE.js","sourceRoot":"","sources":["../../../../lib/commands/cuckoo/RESERVE.ts"],"names":[],"mappings":";;AASA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;;OASG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,QAAgB,EAChB,OAA0B;QAE1B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEjC,IAAI,OAAO,EAAE,UAAU,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,OAAO,EAAE,aAAa,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,OAAO,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/SCANDUMP.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/SCANDUMP.d.ts new file mode 100644 index 0000000..ae0a079 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/SCANDUMP.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, NumberReply, BlobStringReply, NullReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Begins an incremental save of a Cuckoo Filter. This is useful for large filters that can't be saved at once + * @param parser - The command parser + * @param key - The name of the Cuckoo filter to save + * @param iterator - Iterator value; Start at 0, and use the iterator from the response for the next chunk + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, iterator: number) => void; + readonly transformReply: (this: void, reply: [NumberReply, NullReply | BlobStringReply]) => { + iterator: NumberReply; + chunk: NullReply | BlobStringReply; + }; +}; +export default _default; +//# sourceMappingURL=SCANDUMP.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/SCANDUMP.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/SCANDUMP.d.ts.map new file mode 100644 index 0000000..4cdfce7 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/SCANDUMP.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SCANDUMP.d.ts","sourceRoot":"","sources":["../../../../lib/commands/cuckoo/SCANDUMP.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAe,WAAW,EAAE,eAAe,EAAE,SAAS,EAAwB,MAAM,mCAAmC,CAAC;;;IAI5I;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,YAAY,MAAM;;;;;;AAR1E,wBAmB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/SCANDUMP.js b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/SCANDUMP.js new file mode 100644 index 0000000..b369ab2 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/SCANDUMP.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Begins an incremental save of a Cuckoo Filter. This is useful for large filters that can't be saved at once + * @param parser - The command parser + * @param key - The name of the Cuckoo filter to save + * @param iterator - Iterator value; Start at 0, and use the iterator from the response for the next chunk + */ + parseCommand(parser, key, iterator) { + parser.push('CF.SCANDUMP'); + parser.pushKey(key); + parser.push(iterator.toString()); + }, + transformReply(reply) { + return { + iterator: reply[0], + chunk: reply[1] + }; + } +}; +//# sourceMappingURL=SCANDUMP.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/SCANDUMP.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/SCANDUMP.js.map new file mode 100644 index 0000000..78ee036 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/SCANDUMP.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SCANDUMP.js","sourceRoot":"","sources":["../../../../lib/commands/cuckoo/SCANDUMP.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,QAAgB;QACtE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnC,CAAC;IACD,cAAc,CAAC,KAA2E;QACxF,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;YAClB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;SAChB,CAAC;IACJ,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/index.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/index.d.ts new file mode 100644 index 0000000..4e4d4a0 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/index.d.ts @@ -0,0 +1,162 @@ +declare const _default: { + readonly ADD: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, item: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly add: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, item: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly ADDNX: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, item: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly addNX: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, item: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly COUNT: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, item: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + readonly count: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, item: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + readonly DEL: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, item: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly del: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, item: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly EXISTS: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, item: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly exists: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, item: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly INFO: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Size">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of buckets">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of filters">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of items inserted">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of items deleted">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Bucket size">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Expansion rate">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Max iterations">, import("@redis/client/dist/lib/RESP/types").NumberReply], _: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("./INFO").CfInfoReplyMap; + readonly 3: () => import("./INFO").CfInfoReplyMap; + }; + }; + readonly info: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Size">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of buckets">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of filters">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of items inserted">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of items deleted">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Bucket size">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Expansion rate">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Max iterations">, import("@redis/client/dist/lib/RESP/types").NumberReply], _: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("./INFO").CfInfoReplyMap; + readonly 3: () => import("./INFO").CfInfoReplyMap; + }; + }; + readonly INSERT: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./INSERT").CfInsertOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly insert: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./INSERT").CfInsertOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly INSERTNX: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./INSERT").CfInsertOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly insertNX: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./INSERT").CfInsertOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly LOADCHUNK: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, iterator: number, chunk: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly loadChunk: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, iterator: number, chunk: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly RESERVE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, capacity: number, options?: import("./RESERVE").CfReserveOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly reserve: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, capacity: number, options?: import("./RESERVE").CfReserveOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly SCANDUMP: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, iterator: number) => void; + readonly transformReply: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply]) => { + iterator: import("@redis/client/dist/lib/RESP/types").NumberReply; + chunk: import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply; + }; + }; + readonly scanDump: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, iterator: number) => void; + readonly transformReply: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply]) => { + iterator: import("@redis/client/dist/lib/RESP/types").NumberReply; + chunk: import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply; + }; + }; +}; +export default _default; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/index.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/index.d.ts.map new file mode 100644 index 0000000..b662727 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/commands/cuckoo/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,wBAuBmC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/index.js b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/index.js new file mode 100644 index 0000000..d52da7c --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/index.js @@ -0,0 +1,41 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const ADD_1 = __importDefault(require("./ADD")); +const ADDNX_1 = __importDefault(require("./ADDNX")); +const COUNT_1 = __importDefault(require("./COUNT")); +const DEL_1 = __importDefault(require("./DEL")); +const EXISTS_1 = __importDefault(require("./EXISTS")); +const INFO_1 = __importDefault(require("./INFO")); +const INSERT_1 = __importDefault(require("./INSERT")); +const INSERTNX_1 = __importDefault(require("./INSERTNX")); +const LOADCHUNK_1 = __importDefault(require("./LOADCHUNK")); +const RESERVE_1 = __importDefault(require("./RESERVE")); +const SCANDUMP_1 = __importDefault(require("./SCANDUMP")); +exports.default = { + ADD: ADD_1.default, + add: ADD_1.default, + ADDNX: ADDNX_1.default, + addNX: ADDNX_1.default, + COUNT: COUNT_1.default, + count: COUNT_1.default, + DEL: DEL_1.default, + del: DEL_1.default, + EXISTS: EXISTS_1.default, + exists: EXISTS_1.default, + INFO: INFO_1.default, + info: INFO_1.default, + INSERT: INSERT_1.default, + insert: INSERT_1.default, + INSERTNX: INSERTNX_1.default, + insertNX: INSERTNX_1.default, + LOADCHUNK: LOADCHUNK_1.default, + loadChunk: LOADCHUNK_1.default, + RESERVE: RESERVE_1.default, + reserve: RESERVE_1.default, + SCANDUMP: SCANDUMP_1.default, + scanDump: SCANDUMP_1.default +}; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/index.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/index.js.map new file mode 100644 index 0000000..89735cf --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/cuckoo/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/commands/cuckoo/index.ts"],"names":[],"mappings":";;;;;AACA,gDAAwB;AACxB,oDAA4B;AAC5B,oDAA4B;AAC5B,gDAAwB;AACxB,sDAA8B;AAC9B,kDAA0B;AAC1B,sDAA8B;AAC9B,0DAAkC;AAClC,4DAAoC;AACpC,wDAAgC;AAChC,0DAAkC;AAElC,kBAAe;IACb,GAAG,EAAH,aAAG;IACH,GAAG,EAAE,aAAG;IACR,KAAK,EAAL,eAAK;IACL,KAAK,EAAE,eAAK;IACZ,KAAK,EAAL,eAAK;IACL,KAAK,EAAE,eAAK;IACZ,GAAG,EAAH,aAAG;IACH,GAAG,EAAE,aAAG;IACR,MAAM,EAAN,gBAAM;IACN,MAAM,EAAE,gBAAM;IACd,IAAI,EAAJ,cAAI;IACJ,IAAI,EAAE,cAAI;IACV,MAAM,EAAN,gBAAM;IACN,MAAM,EAAE,gBAAM;IACd,QAAQ,EAAR,kBAAQ;IACR,QAAQ,EAAE,kBAAQ;IAClB,SAAS,EAAT,mBAAS;IACT,SAAS,EAAE,mBAAS;IACpB,OAAO,EAAP,iBAAO;IACP,OAAO,EAAE,iBAAO;IAChB,QAAQ,EAAR,kBAAQ;IACR,QAAQ,EAAE,kBAAQ;CACc,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/index.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/index.d.ts new file mode 100644 index 0000000..edefd4c --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/index.d.ts @@ -0,0 +1,666 @@ +declare const _default: { + readonly bf: { + readonly ADD: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, item: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly add: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, item: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly CARD: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + readonly card: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + readonly EXISTS: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, item: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly exists: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, item: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly INFO: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Capacity">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Size">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of filters">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of items inserted">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Expansion rate">, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").NumberReply], _: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => import("./bloom/INFO").BfInfoReplyMap; + readonly 3: () => import("./bloom/INFO").BfInfoReplyMap; + }; + }; + readonly info: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Capacity">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Size">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of filters">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of items inserted">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Expansion rate">, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").NumberReply], _: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => import("./bloom/INFO").BfInfoReplyMap; + readonly 3: () => import("./bloom/INFO").BfInfoReplyMap; + }; + }; + readonly INSERT: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./bloom/INSERT").BfInsertOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly insert: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./bloom/INSERT").BfInsertOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly LOADCHUNK: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, iterator: number, chunk: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly loadChunk: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, iterator: number, chunk: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly MADD: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly mAdd: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly MEXISTS: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly mExists: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly RESERVE: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, errorRate: number, capacity: number, options?: import("./bloom/RESERVE").BfReserveOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly reserve: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, errorRate: number, capacity: number, options?: import("./bloom/RESERVE").BfReserveOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly SCANDUMP: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, iterator: number) => void; + readonly transformReply: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply]) => { + iterator: import("@redis/client/dist/lib/RESP/types").NumberReply; + chunk: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + }; + }; + readonly scanDump: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, iterator: number) => void; + readonly transformReply: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply]) => { + iterator: import("@redis/client/dist/lib/RESP/types").NumberReply; + chunk: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + }; + }; + }; + readonly cms: { + readonly INCRBY: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("./count-min-sketch/INCRBY").BfIncrByItem | import("./count-min-sketch/INCRBY").BfIncrByItem[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly incrBy: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("./count-min-sketch/INCRBY").BfIncrByItem | import("./count-min-sketch/INCRBY").BfIncrByItem[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly INFO: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"width">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"depth">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"count">, import("@redis/client/dist/lib/RESP/types").NumberReply], _: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => import("./count-min-sketch/INFO").CmsInfoReply; + readonly 3: () => import("./count-min-sketch/INFO").CmsInfoReply; + }; + }; + readonly info: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"width">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"depth">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"count">, import("@redis/client/dist/lib/RESP/types").NumberReply], _: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => import("./count-min-sketch/INFO").CmsInfoReply; + readonly 3: () => import("./count-min-sketch/INFO").CmsInfoReply; + }; + }; + readonly INITBYDIM: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, width: number, depth: number) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly initByDim: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, width: number, depth: number) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly INITBYPROB: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, error: number, probability: number) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly initByProb: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, error: number, probability: number) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly MERGE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, destination: import("@redis/client").RedisArgument, source: import("./count-min-sketch/MERGE").BfMergeSketches) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly merge: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, destination: import("@redis/client").RedisArgument, source: import("./count-min-sketch/MERGE").BfMergeSketches) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly QUERY: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly query: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly cf: { + readonly ADD: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, item: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly add: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, item: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly ADDNX: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, item: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly addNX: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, item: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly COUNT: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, item: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + readonly count: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, item: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + readonly DEL: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, item: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly del: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, item: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly EXISTS: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, item: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly exists: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, item: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly INFO: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Size">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of buckets">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of filters">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of items inserted">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of items deleted">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Bucket size">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Expansion rate">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Max iterations">, import("@redis/client/dist/lib/RESP/types").NumberReply], _: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => import("./cuckoo/INFO").CfInfoReplyMap; + readonly 3: () => import("./cuckoo/INFO").CfInfoReplyMap; + }; + }; + readonly info: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Size">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of buckets">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of filters">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of items inserted">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of items deleted">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Bucket size">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Expansion rate">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Max iterations">, import("@redis/client/dist/lib/RESP/types").NumberReply], _: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => import("./cuckoo/INFO").CfInfoReplyMap; + readonly 3: () => import("./cuckoo/INFO").CfInfoReplyMap; + }; + }; + readonly INSERT: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./cuckoo/INSERT").CfInsertOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly insert: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./cuckoo/INSERT").CfInsertOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly INSERTNX: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./cuckoo/INSERT").CfInsertOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly insertNX: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./cuckoo/INSERT").CfInsertOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly LOADCHUNK: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, iterator: number, chunk: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly loadChunk: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, iterator: number, chunk: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly RESERVE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, capacity: number, options?: import("./cuckoo/RESERVE").CfReserveOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly reserve: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, capacity: number, options?: import("./cuckoo/RESERVE").CfReserveOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly SCANDUMP: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, iterator: number) => void; + readonly transformReply: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply]) => { + iterator: import("@redis/client/dist/lib/RESP/types").NumberReply; + chunk: import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply; + }; + }; + readonly scanDump: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, iterator: number) => void; + readonly transformReply: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply]) => { + iterator: import("@redis/client/dist/lib/RESP/types").NumberReply; + chunk: import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply; + }; + }; + }; + readonly tDigest: { + readonly ADD: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, values: number[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly add: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, values: number[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly BYRANK: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, ranks: number[]) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly byRank: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, ranks: number[]) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly BYREVRANK: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, ranks: number[]) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly byRevRank: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, ranks: number[]) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly CDF: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, values: number[]) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly cdf: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, values: number[]) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly CREATE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("./t-digest/CREATE").TDigestCreateOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly create: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("./t-digest/CREATE").TDigestCreateOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly INFO: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Compression">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Capacity">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Merged nodes">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Unmerged nodes">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Merged weight">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Unmerged weight">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Observations">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Total compressions">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Memory usage">, import("@redis/client/dist/lib/RESP/types").NumberReply], _: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => import("./t-digest/INFO").TdInfoReplyMap; + readonly 3: () => import("./t-digest/INFO").TdInfoReplyMap; + }; + }; + readonly info: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Compression">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Capacity">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Merged nodes">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Unmerged nodes">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Merged weight">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Unmerged weight">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Observations">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Total compressions">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Memory usage">, import("@redis/client/dist/lib/RESP/types").NumberReply], _: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => import("./t-digest/INFO").TdInfoReplyMap; + readonly 3: () => import("./t-digest/INFO").TdInfoReplyMap; + }; + }; + readonly MAX: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply; + 3: () => import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }; + readonly max: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply; + 3: () => import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }; + readonly MERGE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, destination: import("@redis/client").RedisArgument, source: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./t-digest/MERGE").TDigestMergeOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly merge: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, destination: import("@redis/client").RedisArgument, source: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./t-digest/MERGE").TDigestMergeOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly MIN: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply; + 3: () => import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }; + readonly min: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply; + 3: () => import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }; + readonly QUANTILE: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, quantiles: number[]) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly quantile: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, quantiles: number[]) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly RANK: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, values: number[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly rank: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, values: number[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly RESET: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly reset: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly REVRANK: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, values: number[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly revRank: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, values: number[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly TRIMMED_MEAN: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, lowCutPercentile: number, highCutPercentile: number) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply; + 3: () => import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }; + readonly trimmedMean: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, lowCutPercentile: number, highCutPercentile: number) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply; + 3: () => import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }; + }; + readonly topK: { + readonly ADD: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly add: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly COUNT: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly count: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly INCRBY: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("./top-k/INCRBY").TopKIncrByItem | import("./top-k/INCRBY").TopKIncrByItem[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly incrBy: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("./top-k/INCRBY").TopKIncrByItem | import("./top-k/INCRBY").TopKIncrByItem[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly INFO: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"k">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"width">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"depth">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"decay">, import("@redis/client/dist/lib/RESP/types").BlobStringReply], preserve?: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => import("./top-k/INFO").TopKInfoReplyMap; + readonly 3: () => import("./top-k/INFO").TopKInfoReplyMap; + }; + }; + readonly info: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"k">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"width">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"depth">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"decay">, import("@redis/client/dist/lib/RESP/types").BlobStringReply], preserve?: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => import("./top-k/INFO").TopKInfoReplyMap; + readonly 3: () => import("./top-k/INFO").TopKInfoReplyMap; + }; + }; + readonly LIST_WITHCOUNT: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: (this: void, rawReply: (import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply)[]) => { + item: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + count: import("@redis/client/dist/lib/RESP/types").NumberReply; + }[]; + }; + readonly listWithCount: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: (this: void, rawReply: (import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply)[]) => { + item: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + count: import("@redis/client/dist/lib/RESP/types").NumberReply; + }[]; + }; + readonly LIST: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly list: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly QUERY: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly query: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly RESERVE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, topK: number, options?: import("./top-k/RESERVE").TopKReserveOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly reserve: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, topK: number, options?: import("./top-k/RESERVE").TopKReserveOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + }; +}; +export default _default; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/index.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/index.d.ts.map new file mode 100644 index 0000000..71a1348 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/commands/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,wBAMkC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/index.js b/back/node_modules/@redis/bloom/dist/lib/commands/index.js new file mode 100644 index 0000000..9934c0b --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/index.js @@ -0,0 +1,18 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const bloom_1 = __importDefault(require("./bloom")); +const count_min_sketch_1 = __importDefault(require("./count-min-sketch")); +const cuckoo_1 = __importDefault(require("./cuckoo")); +const t_digest_1 = __importDefault(require("./t-digest")); +const top_k_1 = __importDefault(require("./top-k")); +exports.default = { + bf: bloom_1.default, + cms: count_min_sketch_1.default, + cf: cuckoo_1.default, + tDigest: t_digest_1.default, + topK: top_k_1.default +}; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/index.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/index.js.map new file mode 100644 index 0000000..8fc8226 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/commands/index.ts"],"names":[],"mappings":";;;;;AACA,oDAAyB;AACzB,0EAAqC;AACrC,sDAA0B;AAC1B,0DAAiC;AACjC,oDAA2B;AAE3B,kBAAe;IACb,EAAE,EAAF,eAAE;IACF,GAAG,EAAH,0BAAG;IACH,EAAE,EAAF,gBAAE;IACF,OAAO,EAAP,kBAAO;IACP,IAAI,EAAJ,eAAI;CAC2B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/ADD.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/ADD.d.ts new file mode 100644 index 0000000..9ba2c25 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/ADD.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { SimpleStringReply, RedisArgument } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Adds one or more observations to a t-digest sketch + * @param parser - The command parser + * @param key - The name of the t-digest sketch + * @param values - Array of numeric values to add to the sketch + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, values: Array) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=ADD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/ADD.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/ADD.d.ts.map new file mode 100644 index 0000000..da530ea --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/ADD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ADD.d.ts","sourceRoot":"","sources":["../../../../lib/commands/t-digest/ADD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAW,aAAa,EAAE,MAAM,mCAAmC,CAAC;;;IAI5F;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,UAAU,MAAM,MAAM,CAAC;mCAQ/B,kBAAkB,IAAI,CAAC;;AAhBvE,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/ADD.js b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/ADD.js new file mode 100644 index 0000000..da2445e --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/ADD.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Adds one or more observations to a t-digest sketch + * @param parser - The command parser + * @param key - The name of the t-digest sketch + * @param values - Array of numeric values to add to the sketch + */ + parseCommand(parser, key, values) { + parser.push('TDIGEST.ADD'); + parser.pushKey(key); + for (const value of values) { + parser.push(value.toString()); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=ADD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/ADD.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/ADD.js.map new file mode 100644 index 0000000..4ff0037 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/ADD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ADD.js","sourceRoot":"","sources":["../../../../lib/commands/t-digest/ADD.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,MAAqB;QAC3E,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYRANK.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYRANK.d.ts new file mode 100644 index 0000000..3ab50c8 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYRANK.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument } from '@redis/client/dist/lib/RESP/types'; +export declare function transformByRankArguments(parser: CommandParser, key: RedisArgument, ranks: Array): void; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns value estimates for one or more ranks in a t-digest sketch + * @param parser - The command parser + * @param key - The name of the t-digest sketch + * @param ranks - Array of ranks to get value estimates for (ascending order) + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, ranks: number[]) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; +}; +export default _default; +//# sourceMappingURL=BYRANK.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYRANK.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYRANK.d.ts.map new file mode 100644 index 0000000..0c92fcd --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYRANK.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BYRANK.d.ts","sourceRoot":"","sources":["../../../../lib/commands/t-digest/BYRANK.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAW,MAAM,mCAAmC,CAAC;AAG3E,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,QAOrB;;;IAIC;;;;;OAKG;;;;;;;AAPL,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYRANK.js b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYRANK.js new file mode 100644 index 0000000..0fee87b --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYRANK.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.transformByRankArguments = void 0; +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +function transformByRankArguments(parser, key, ranks) { + parser.pushKey(key); + for (const rank of ranks) { + parser.push(rank.toString()); + } +} +exports.transformByRankArguments = transformByRankArguments; +exports.default = { + IS_READ_ONLY: true, + /** + * Returns value estimates for one or more ranks in a t-digest sketch + * @param parser - The command parser + * @param key - The name of the t-digest sketch + * @param ranks - Array of ranks to get value estimates for (ascending order) + */ + parseCommand(...args) { + args[0].push('TDIGEST.BYRANK'); + transformByRankArguments(...args); + }, + transformReply: generic_transformers_1.transformDoubleArrayReply +}; +//# sourceMappingURL=BYRANK.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYRANK.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYRANK.js.map new file mode 100644 index 0000000..d8bed1c --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYRANK.js.map @@ -0,0 +1 @@ +{"version":3,"file":"BYRANK.js","sourceRoot":"","sources":["../../../../lib/commands/t-digest/BYRANK.ts"],"names":[],"mappings":";;;AAEA,+FAAiG;AAEjG,SAAgB,wBAAwB,CACtC,MAAqB,EACrB,GAAkB,EAClB,KAAoB;IAEpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAVD,4DAUC;AAED,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,GAAG,IAAiD;QAC/D,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/B,wBAAwB,CAAC,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;IACD,cAAc,EAAE,gDAAyB;CACf,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYREVRANK.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYREVRANK.d.ts new file mode 100644 index 0000000..24312a7 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYREVRANK.d.ts @@ -0,0 +1,16 @@ +/** + * Returns value estimates for one or more ranks in a t-digest sketch, starting from highest rank + * @param parser - The command parser + * @param key - The name of the t-digest sketch + * @param ranks - Array of ranks to get value estimates for (descending order) + */ +declare const _default: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, ranks: number[]) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; +}; +export default _default; +//# sourceMappingURL=BYREVRANK.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYREVRANK.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYREVRANK.d.ts.map new file mode 100644 index 0000000..13f9c3b --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYREVRANK.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BYREVRANK.d.ts","sourceRoot":"","sources":["../../../../lib/commands/t-digest/BYREVRANK.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;;;;;;;;;AACH,wBAO6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYREVRANK.js b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYREVRANK.js new file mode 100644 index 0000000..1fd18ac --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYREVRANK.js @@ -0,0 +1,41 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const BYRANK_1 = __importStar(require("./BYRANK")); +/** + * Returns value estimates for one or more ranks in a t-digest sketch, starting from highest rank + * @param parser - The command parser + * @param key - The name of the t-digest sketch + * @param ranks - Array of ranks to get value estimates for (descending order) + */ +exports.default = { + IS_READ_ONLY: BYRANK_1.default.IS_READ_ONLY, + parseCommand(...args) { + args[0].push('TDIGEST.BYREVRANK'); + (0, BYRANK_1.transformByRankArguments)(...args); + }, + transformReply: BYRANK_1.default.transformReply +}; +//# sourceMappingURL=BYREVRANK.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYREVRANK.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYREVRANK.js.map new file mode 100644 index 0000000..c7aaec5 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/BYREVRANK.js.map @@ -0,0 +1 @@ +{"version":3,"file":"BYREVRANK.js","sourceRoot":"","sources":["../../../../lib/commands/t-digest/BYREVRANK.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,mDAA4D;AAE5D;;;;;GAKG;AACH,kBAAe;IACb,YAAY,EAAE,gBAAM,CAAC,YAAY;IACjC,YAAY,CAAC,GAAG,IAAiD;QAC/D,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAClC,IAAA,iCAAwB,EAAC,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;IACD,cAAc,EAAE,gBAAM,CAAC,cAAc;CACX,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CDF.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CDF.d.ts new file mode 100644 index 0000000..9abd83c --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CDF.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Estimates the cumulative distribution function for values in a t-digest sketch + * @param parser - The command parser + * @param key - The name of the t-digest sketch + * @param values - Array of values to get CDF estimates for + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, values: Array) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; +}; +export default _default; +//# sourceMappingURL=CDF.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CDF.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CDF.d.ts.map new file mode 100644 index 0000000..cabeafc --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CDF.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CDF.d.ts","sourceRoot":"","sources":["../../../../lib/commands/t-digest/CDF.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAW,MAAM,mCAAmC,CAAC;;;IAKzE;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,UAAU,MAAM,MAAM,CAAC;;;;;;AAR/E,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CDF.js b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CDF.js new file mode 100644 index 0000000..a61536f --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CDF.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +exports.default = { + IS_READ_ONLY: true, + /** + * Estimates the cumulative distribution function for values in a t-digest sketch + * @param parser - The command parser + * @param key - The name of the t-digest sketch + * @param values - Array of values to get CDF estimates for + */ + parseCommand(parser, key, values) { + parser.push('TDIGEST.CDF'); + parser.pushKey(key); + for (const item of values) { + parser.push(item.toString()); + } + }, + transformReply: generic_transformers_1.transformDoubleArrayReply +}; +//# sourceMappingURL=CDF.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CDF.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CDF.js.map new file mode 100644 index 0000000..e0a513f --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CDF.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CDF.js","sourceRoot":"","sources":["../../../../lib/commands/t-digest/CDF.ts"],"names":[],"mappings":";;AAEA,+FAAiG;AAEjG,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,MAAqB;QAC3E,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,cAAc,EAAE,gDAAyB;CACf,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CREATE.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CREATE.d.ts new file mode 100644 index 0000000..d7178fd --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CREATE.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, SimpleStringReply } from '@redis/client/dist/lib/RESP/types'; +export interface TDigestCreateOptions { + COMPRESSION?: number; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Creates a new t-digest sketch for storing distributions + * @param parser - The command parser + * @param key - The name of the t-digest sketch + * @param options - Optional parameters for sketch creation + * @param options.COMPRESSION - Compression parameter that affects performance and accuracy + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, options?: TDigestCreateOptions) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=CREATE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CREATE.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CREATE.d.ts.map new file mode 100644 index 0000000..9625459 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CREATE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CREATE.d.ts","sourceRoot":"","sources":["../../../../lib/commands/t-digest/CREATE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,mCAAmC,CAAC;AAE9F,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;;;IAIC;;;;;;OAMG;gDACkB,aAAa,OAAO,aAAa,YAAY,oBAAoB;mCAQxC,kBAAkB,IAAI,CAAC;;AAjBvE,wBAkB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CREATE.js b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CREATE.js new file mode 100644 index 0000000..bcf646d --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CREATE.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Creates a new t-digest sketch for storing distributions + * @param parser - The command parser + * @param key - The name of the t-digest sketch + * @param options - Optional parameters for sketch creation + * @param options.COMPRESSION - Compression parameter that affects performance and accuracy + */ + parseCommand(parser, key, options) { + parser.push('TDIGEST.CREATE'); + parser.pushKey(key); + if (options?.COMPRESSION !== undefined) { + parser.push('COMPRESSION', options.COMPRESSION.toString()); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=CREATE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CREATE.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CREATE.js.map new file mode 100644 index 0000000..a0996b2 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/CREATE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CREATE.js","sourceRoot":"","sources":["../../../../lib/commands/t-digest/CREATE.ts"],"names":[],"mappings":";;AAOA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,OAA8B;QACpF,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,OAAO,EAAE,WAAW,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/INFO.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/INFO.d.ts new file mode 100644 index 0000000..686da08 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/INFO.d.ts @@ -0,0 +1,55 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, NumberReply, TuplesToMapReply, SimpleStringReply, TypeMapping } from '@redis/client/dist/lib/RESP/types'; +export type TdInfoReplyMap = TuplesToMapReply<[ + [ + SimpleStringReply<'Compression'>, + NumberReply + ], + [ + SimpleStringReply<'Capacity'>, + NumberReply + ], + [ + SimpleStringReply<'Merged nodes'>, + NumberReply + ], + [ + SimpleStringReply<'Unmerged nodes'>, + NumberReply + ], + [ + SimpleStringReply<'Merged weight'>, + NumberReply + ], + [ + SimpleStringReply<'Unmerged weight'>, + NumberReply + ], + [ + SimpleStringReply<'Observations'>, + NumberReply + ], + [ + SimpleStringReply<'Total compressions'>, + NumberReply + ], + [ + SimpleStringReply<'Memory usage'>, + NumberReply + ] +]>; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns information about a t-digest sketch including compression, capacity, nodes, weights, observations and memory usage + * @param parser - The command parser + * @param key - The name of the t-digest sketch to get information about + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [SimpleStringReply<"Compression">, NumberReply, SimpleStringReply<"Capacity">, NumberReply, SimpleStringReply<"Merged nodes">, NumberReply, SimpleStringReply<"Unmerged nodes">, NumberReply, SimpleStringReply<"Merged weight">, NumberReply, SimpleStringReply<"Unmerged weight">, NumberReply, SimpleStringReply<"Observations">, NumberReply, SimpleStringReply<"Total compressions">, NumberReply, SimpleStringReply<"Memory usage">, NumberReply], _: any, typeMapping?: TypeMapping) => TdInfoReplyMap; + readonly 3: () => TdInfoReplyMap; + }; +}; +export default _default; +//# sourceMappingURL=INFO.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/INFO.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/INFO.d.ts.map new file mode 100644 index 0000000..d220804 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/INFO.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"INFO.d.ts","sourceRoot":"","sources":["../../../../lib/commands/t-digest/INFO.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAW,WAAW,EAAE,gBAAgB,EAA2B,iBAAiB,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAGnK,MAAM,MAAM,cAAc,GAAG,gBAAgB,CAAC;IAC5C;QAAC,iBAAiB,CAAC,aAAa,CAAC;QAAE,WAAW;KAAC;IAC/C;QAAC,iBAAiB,CAAC,UAAU,CAAC;QAAE,WAAW;KAAC;IAC5C;QAAC,iBAAiB,CAAC,cAAc,CAAC;QAAE,WAAW;KAAC;IAChD;QAAC,iBAAiB,CAAC,gBAAgB,CAAC;QAAE,WAAW;KAAC;IAClD;QAAC,iBAAiB,CAAC,eAAe,CAAC;QAAE,WAAW;KAAC;IACjD;QAAC,iBAAiB,CAAC,iBAAiB,CAAC;QAAE,WAAW;KAAC;IACnD;QAAC,iBAAiB,CAAC,cAAc,CAAC;QAAE,WAAW;KAAC;IAChD;QAAC,iBAAiB,CAAC,oBAAoB,CAAC;QAAE,WAAW;KAAC;IACtD;QAAC,iBAAiB,CAAC,cAAc,CAAC;QAAE,WAAW;KAAC;CACjD,CAAC,CAAC;;;IAID;;;;OAIG;gDACkB,aAAa,OAAO,aAAa;;+jBAKiB,WAAW;;;;AAZpF,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/INFO.js b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/INFO.js new file mode 100644 index 0000000..08653e5 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/INFO.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const bloom_1 = require("../bloom"); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns information about a t-digest sketch including compression, capacity, nodes, weights, observations and memory usage + * @param parser - The command parser + * @param key - The name of the t-digest sketch to get information about + */ + parseCommand(parser, key) { + parser.push('TDIGEST.INFO'); + parser.pushKey(key); + }, + transformReply: { + 2: (reply, _, typeMapping) => { + return (0, bloom_1.transformInfoV2Reply)(reply, typeMapping); + }, + 3: undefined + } +}; +//# sourceMappingURL=INFO.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/INFO.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/INFO.js.map new file mode 100644 index 0000000..32c01b0 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/INFO.js.map @@ -0,0 +1 @@ +{"version":3,"file":"INFO.js","sourceRoot":"","sources":["../../../../lib/commands/t-digest/INFO.ts"],"names":[],"mappings":";;AAEA,oCAAgD;AAchD,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAA8C,EAAE,CAAC,EAAE,WAAyB,EAAkB,EAAE;YAClG,OAAO,IAAA,4BAAoB,EAAiB,KAAK,EAAE,WAAW,CAAC,CAAC;QAClE,CAAC;QACD,CAAC,EAAE,SAA4C;KAChD;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MAX.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MAX.d.ts new file mode 100644 index 0000000..0713fa3 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MAX.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns the maximum value from a t-digest sketch + * @param parser - The command parser + * @param key - The name of the t-digest sketch + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply; + 3: () => import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; +}; +export default _default; +//# sourceMappingURL=MAX.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MAX.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MAX.d.ts.map new file mode 100644 index 0000000..fe94695 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MAX.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MAX.d.ts","sourceRoot":"","sources":["../../../../lib/commands/t-digest/MAX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAW,MAAM,mCAAmC,CAAC;;;IAKzE;;;;OAIG;gDACkB,aAAa,OAAO,aAAa;;;;;;AAPxD,wBAY6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MAX.js b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MAX.js new file mode 100644 index 0000000..bec002c --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MAX.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns the maximum value from a t-digest sketch + * @param parser - The command parser + * @param key - The name of the t-digest sketch + */ + parseCommand(parser, key) { + parser.push('TDIGEST.MAX'); + parser.pushKey(key); + }, + transformReply: generic_transformers_1.transformDoubleReply +}; +//# sourceMappingURL=MAX.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MAX.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MAX.js.map new file mode 100644 index 0000000..a2daa53 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MAX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MAX.js","sourceRoot":"","sources":["../../../../lib/commands/t-digest/MAX.ts"],"names":[],"mappings":";;AAEA,+FAA4F;AAE5F,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,2CAAoB;CACV,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MERGE.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MERGE.d.ts new file mode 100644 index 0000000..7a2620c --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MERGE.d.ts @@ -0,0 +1,23 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, SimpleStringReply } from '@redis/client/dist/lib/RESP/types'; +import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers'; +export interface TDigestMergeOptions { + COMPRESSION?: number; + OVERRIDE?: boolean; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Merges multiple t-digest sketches into one, with optional compression and override settings + * @param parser - The command parser + * @param destination - The name of the destination t-digest sketch + * @param source - One or more source sketch names to merge from + * @param options - Optional parameters for merge operation + * @param options.COMPRESSION - New compression value for merged sketch + * @param options.OVERRIDE - If true, override destination sketch if it exists + */ + readonly parseCommand: (this: void, parser: CommandParser, destination: RedisArgument, source: RedisVariadicArgument, options?: TDigestMergeOptions) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=MERGE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MERGE.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MERGE.d.ts.map new file mode 100644 index 0000000..3557015 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MERGE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MERGE.d.ts","sourceRoot":"","sources":["../../../../lib/commands/t-digest/MERGE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,mCAAmC,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAE7F,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;;;IAIC;;;;;;;;OAQG;gDAEO,aAAa,eACR,aAAa,UAClB,qBAAqB,YACnB,mBAAmB;mCAce,kBAAkB,IAAI,CAAC;;AA7BvE,wBA8B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MERGE.js b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MERGE.js new file mode 100644 index 0000000..d23c86f --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MERGE.js @@ -0,0 +1,27 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Merges multiple t-digest sketches into one, with optional compression and override settings + * @param parser - The command parser + * @param destination - The name of the destination t-digest sketch + * @param source - One or more source sketch names to merge from + * @param options - Optional parameters for merge operation + * @param options.COMPRESSION - New compression value for merged sketch + * @param options.OVERRIDE - If true, override destination sketch if it exists + */ + parseCommand(parser, destination, source, options) { + parser.push('TDIGEST.MERGE'); + parser.pushKey(destination); + parser.pushKeysLength(source); + if (options?.COMPRESSION !== undefined) { + parser.push('COMPRESSION', options.COMPRESSION.toString()); + } + if (options?.OVERRIDE) { + parser.push('OVERRIDE'); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=MERGE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MERGE.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MERGE.js.map new file mode 100644 index 0000000..0dc9228 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MERGE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MERGE.js","sourceRoot":"","sources":["../../../../lib/commands/t-digest/MERGE.ts"],"names":[],"mappings":";;AASA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;OAQG;IACH,YAAY,CACV,MAAqB,EACrB,WAA0B,EAC1B,MAA6B,EAC7B,OAA6B;QAE7B,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7B,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5B,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAE9B,IAAI,OAAO,EAAE,WAAW,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MIN.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MIN.d.ts new file mode 100644 index 0000000..18ac200 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MIN.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns the minimum value from a t-digest sketch + * @param parser - The command parser + * @param key - The name of the t-digest sketch + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply; + 3: () => import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; +}; +export default _default; +//# sourceMappingURL=MIN.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MIN.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MIN.d.ts.map new file mode 100644 index 0000000..cf6c3ee --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MIN.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MIN.d.ts","sourceRoot":"","sources":["../../../../lib/commands/t-digest/MIN.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAW,MAAM,mCAAmC,CAAC;;;IAKzE;;;;OAIG;gDACkB,aAAa,OAAO,aAAa;;;;;;AAPxD,wBAY6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MIN.js b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MIN.js new file mode 100644 index 0000000..7b5bfb1 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MIN.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns the minimum value from a t-digest sketch + * @param parser - The command parser + * @param key - The name of the t-digest sketch + */ + parseCommand(parser, key) { + parser.push('TDIGEST.MIN'); + parser.pushKey(key); + }, + transformReply: generic_transformers_1.transformDoubleReply +}; +//# sourceMappingURL=MIN.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MIN.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MIN.js.map new file mode 100644 index 0000000..7e8c9ed --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/MIN.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MIN.js","sourceRoot":"","sources":["../../../../lib/commands/t-digest/MIN.ts"],"names":[],"mappings":";;AAEA,+FAA4F;AAE5F,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,2CAAoB;CACV,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/QUANTILE.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/QUANTILE.d.ts new file mode 100644 index 0000000..a46c649 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/QUANTILE.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns value estimates at requested quantiles from a t-digest sketch + * @param parser - The command parser + * @param key - The name of the t-digest sketch + * @param quantiles - Array of quantiles (between 0 and 1) to get value estimates for + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, quantiles: Array) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; +}; +export default _default; +//# sourceMappingURL=QUANTILE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/QUANTILE.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/QUANTILE.d.ts.map new file mode 100644 index 0000000..8cc49e0 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/QUANTILE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"QUANTILE.d.ts","sourceRoot":"","sources":["../../../../lib/commands/t-digest/QUANTILE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAW,MAAM,mCAAmC,CAAC;;;IAKzE;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,aAAa,MAAM,MAAM,CAAC;;;;;;AARlF,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/QUANTILE.js b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/QUANTILE.js new file mode 100644 index 0000000..2579eb7 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/QUANTILE.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns value estimates at requested quantiles from a t-digest sketch + * @param parser - The command parser + * @param key - The name of the t-digest sketch + * @param quantiles - Array of quantiles (between 0 and 1) to get value estimates for + */ + parseCommand(parser, key, quantiles) { + parser.push('TDIGEST.QUANTILE'); + parser.pushKey(key); + for (const quantile of quantiles) { + parser.push(quantile.toString()); + } + }, + transformReply: generic_transformers_1.transformDoubleArrayReply +}; +//# sourceMappingURL=QUANTILE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/QUANTILE.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/QUANTILE.js.map new file mode 100644 index 0000000..5f30e48 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/QUANTILE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"QUANTILE.js","sourceRoot":"","sources":["../../../../lib/commands/t-digest/QUANTILE.ts"],"names":[],"mappings":";;AAEA,+FAAiG;AAEjG,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,SAAwB;QAC9E,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IACD,cAAc,EAAE,gDAAyB;CACf,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RANK.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RANK.d.ts new file mode 100644 index 0000000..81e61ba --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RANK.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, ArrayReply, NumberReply } from '@redis/client/dist/lib/RESP/types'; +export declare function transformRankArguments(parser: CommandParser, key: RedisArgument, values: Array): void; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns the rank of one or more values in a t-digest sketch (number of values that are lower than each value) + * @param parser - The command parser + * @param key - The name of the t-digest sketch + * @param values - Array of values to get ranks for + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, values: number[]) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=RANK.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RANK.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RANK.d.ts.map new file mode 100644 index 0000000..17ce81a --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RANK.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"RANK.d.ts","sourceRoot":"","sources":["../../../../lib/commands/t-digest/RANK.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAW,MAAM,mCAAmC,CAAC;AAEpG,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,QAOtB;;;IAIC;;;;;OAKG;;mCAK2C,WAAW,WAAW,CAAC;;AAZvE,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RANK.js b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RANK.js new file mode 100644 index 0000000..bd9b3ff --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RANK.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.transformRankArguments = void 0; +function transformRankArguments(parser, key, values) { + parser.pushKey(key); + for (const value of values) { + parser.push(value.toString()); + } +} +exports.transformRankArguments = transformRankArguments; +exports.default = { + IS_READ_ONLY: true, + /** + * Returns the rank of one or more values in a t-digest sketch (number of values that are lower than each value) + * @param parser - The command parser + * @param key - The name of the t-digest sketch + * @param values - Array of values to get ranks for + */ + parseCommand(...args) { + args[0].push('TDIGEST.RANK'); + transformRankArguments(...args); + }, + transformReply: undefined +}; +//# sourceMappingURL=RANK.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RANK.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RANK.js.map new file mode 100644 index 0000000..7bde22c --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RANK.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RANK.js","sourceRoot":"","sources":["../../../../lib/commands/t-digest/RANK.ts"],"names":[],"mappings":";;;AAGA,SAAgB,sBAAsB,CACpC,MAAqB,EACrB,GAAkB,EAClB,MAAqB;IAErB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEpB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAVD,wDAUC;AAED,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,GAAG,IAA+C;QAC7D,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7B,sBAAsB,CAAC,GAAG,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RESET.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RESET.d.ts new file mode 100644 index 0000000..c510437 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RESET.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, SimpleStringReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Resets a t-digest sketch, clearing all previously added observations + * @param parser - The command parser + * @param key - The name of the t-digest sketch to reset + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=RESET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RESET.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RESET.d.ts.map new file mode 100644 index 0000000..ef30de6 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RESET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"RESET.d.ts","sourceRoot":"","sources":["../../../../lib/commands/t-digest/RESET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,mCAAmC,CAAC;;;IAI5F;;;;OAIG;gDACkB,aAAa,OAAO,aAAa;mCAIR,kBAAkB,IAAI,CAAC;;AAXvE,wBAY6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RESET.js b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RESET.js new file mode 100644 index 0000000..386bb30 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RESET.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Resets a t-digest sketch, clearing all previously added observations + * @param parser - The command parser + * @param key - The name of the t-digest sketch to reset + */ + parseCommand(parser, key) { + parser.push('TDIGEST.RESET'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=RESET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RESET.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RESET.js.map new file mode 100644 index 0000000..535e3de --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/RESET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RESET.js","sourceRoot":"","sources":["../../../../lib/commands/t-digest/RESET.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/REVRANK.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/REVRANK.d.ts new file mode 100644 index 0000000..847d70d --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/REVRANK.d.ts @@ -0,0 +1,13 @@ +/** + * Returns the reverse rank of one or more values in a t-digest sketch (number of values that are higher than each value) + * @param parser - The command parser + * @param key - The name of the t-digest sketch + * @param values - Array of values to get reverse ranks for + */ +declare const _default: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, values: number[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; +}; +export default _default; +//# sourceMappingURL=REVRANK.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/REVRANK.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/REVRANK.d.ts.map new file mode 100644 index 0000000..6ed019f --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/REVRANK.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"REVRANK.d.ts","sourceRoot":"","sources":["../../../../lib/commands/t-digest/REVRANK.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;;;;;;AACH,wBAO6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/REVRANK.js b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/REVRANK.js new file mode 100644 index 0000000..7b36043 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/REVRANK.js @@ -0,0 +1,41 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const RANK_1 = __importStar(require("./RANK")); +/** + * Returns the reverse rank of one or more values in a t-digest sketch (number of values that are higher than each value) + * @param parser - The command parser + * @param key - The name of the t-digest sketch + * @param values - Array of values to get reverse ranks for + */ +exports.default = { + IS_READ_ONLY: RANK_1.default.IS_READ_ONLY, + parseCommand(...args) { + args[0].push('TDIGEST.REVRANK'); + (0, RANK_1.transformRankArguments)(...args); + }, + transformReply: RANK_1.default.transformReply +}; +//# sourceMappingURL=REVRANK.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/REVRANK.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/REVRANK.js.map new file mode 100644 index 0000000..1e04046 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/REVRANK.js.map @@ -0,0 +1 @@ +{"version":3,"file":"REVRANK.js","sourceRoot":"","sources":["../../../../lib/commands/t-digest/REVRANK.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,+CAAsD;AAEtD;;;;;GAKG;AACH,kBAAe;IACb,YAAY,EAAE,cAAI,CAAC,YAAY;IAC/B,YAAY,CAAC,GAAG,IAA+C;QAC7D,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAChC,IAAA,6BAAsB,EAAC,GAAG,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,cAAc,EAAE,cAAI,CAAC,cAAc;CACT,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/TRIMMED_MEAN.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/TRIMMED_MEAN.d.ts new file mode 100644 index 0000000..7a89f1c --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/TRIMMED_MEAN.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns the mean value from a t-digest sketch after trimming values at specified percentiles + * @param parser - The command parser + * @param key - The name of the t-digest sketch + * @param lowCutPercentile - Lower percentile cutoff (between 0 and 100) + * @param highCutPercentile - Higher percentile cutoff (between 0 and 100) + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, lowCutPercentile: number, highCutPercentile: number) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply; + 3: () => import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; +}; +export default _default; +//# sourceMappingURL=TRIMMED_MEAN.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/TRIMMED_MEAN.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/TRIMMED_MEAN.d.ts.map new file mode 100644 index 0000000..0da3ed7 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/TRIMMED_MEAN.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"TRIMMED_MEAN.d.ts","sourceRoot":"","sources":["../../../../lib/commands/t-digest/TRIMMED_MEAN.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAW,MAAM,mCAAmC,CAAC;;;IAKzE;;;;;;OAMG;gDAEO,aAAa,OAChB,aAAa,oBACA,MAAM,qBACL,MAAM;;;;;;AAb7B,wBAoB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/TRIMMED_MEAN.js b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/TRIMMED_MEAN.js new file mode 100644 index 0000000..21efaa4 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/TRIMMED_MEAN.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns the mean value from a t-digest sketch after trimming values at specified percentiles + * @param parser - The command parser + * @param key - The name of the t-digest sketch + * @param lowCutPercentile - Lower percentile cutoff (between 0 and 100) + * @param highCutPercentile - Higher percentile cutoff (between 0 and 100) + */ + parseCommand(parser, key, lowCutPercentile, highCutPercentile) { + parser.push('TDIGEST.TRIMMED_MEAN'); + parser.pushKey(key); + parser.push(lowCutPercentile.toString(), highCutPercentile.toString()); + }, + transformReply: generic_transformers_1.transformDoubleReply +}; +//# sourceMappingURL=TRIMMED_MEAN.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/TRIMMED_MEAN.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/TRIMMED_MEAN.js.map new file mode 100644 index 0000000..133f159 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/TRIMMED_MEAN.js.map @@ -0,0 +1 @@ +{"version":3,"file":"TRIMMED_MEAN.js","sourceRoot":"","sources":["../../../../lib/commands/t-digest/TRIMMED_MEAN.ts"],"names":[],"mappings":";;AAEA,+FAA4F;AAE5F,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,gBAAwB,EACxB,iBAAyB;QAEzB,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,cAAc,EAAE,2CAAoB;CACV,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/index.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/index.d.ts new file mode 100644 index 0000000..0a983ff --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/index.d.ts @@ -0,0 +1,192 @@ +declare const _default: { + readonly ADD: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, values: number[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly add: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, values: number[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly BYRANK: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, ranks: number[]) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly byRank: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, ranks: number[]) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly BYREVRANK: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, ranks: number[]) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly byRevRank: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, ranks: number[]) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly CDF: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, values: number[]) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly cdf: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, values: number[]) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly CREATE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./CREATE").TDigestCreateOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly create: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./CREATE").TDigestCreateOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly INFO: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Compression">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Capacity">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Merged nodes">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Unmerged nodes">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Merged weight">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Unmerged weight">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Observations">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Total compressions">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Memory usage">, import("@redis/client/dist/lib/RESP/types").NumberReply], _: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("./INFO").TdInfoReplyMap; + readonly 3: () => import("./INFO").TdInfoReplyMap; + }; + }; + readonly info: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Compression">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Capacity">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Merged nodes">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Unmerged nodes">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Merged weight">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Unmerged weight">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Observations">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Total compressions">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Memory usage">, import("@redis/client/dist/lib/RESP/types").NumberReply], _: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("./INFO").TdInfoReplyMap; + readonly 3: () => import("./INFO").TdInfoReplyMap; + }; + }; + readonly MAX: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply; + 3: () => import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }; + readonly max: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply; + 3: () => import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }; + readonly MERGE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, destination: import("@redis/client/dist/lib/RESP/types").RedisArgument, source: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./MERGE").TDigestMergeOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly merge: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, destination: import("@redis/client/dist/lib/RESP/types").RedisArgument, source: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./MERGE").TDigestMergeOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly MIN: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply; + 3: () => import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }; + readonly min: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply; + 3: () => import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }; + readonly QUANTILE: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, quantiles: number[]) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly quantile: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, quantiles: number[]) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly RANK: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, values: number[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly rank: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, values: number[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly RESET: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly reset: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly REVRANK: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, values: number[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly revRank: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, values: number[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly TRIMMED_MEAN: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, lowCutPercentile: number, highCutPercentile: number) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply; + 3: () => import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }; + readonly trimmedMean: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, lowCutPercentile: number, highCutPercentile: number) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply; + 3: () => import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }; +}; +export default _default; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/index.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/index.d.ts.map new file mode 100644 index 0000000..80ffd5c --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/commands/t-digest/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,wBA6BmC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/index.js b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/index.js new file mode 100644 index 0000000..0a939c1 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/index.js @@ -0,0 +1,50 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const ADD_1 = __importDefault(require("./ADD")); +const BYRANK_1 = __importDefault(require("./BYRANK")); +const BYREVRANK_1 = __importDefault(require("./BYREVRANK")); +const CDF_1 = __importDefault(require("./CDF")); +const CREATE_1 = __importDefault(require("./CREATE")); +const INFO_1 = __importDefault(require("./INFO")); +const MAX_1 = __importDefault(require("./MAX")); +const MERGE_1 = __importDefault(require("./MERGE")); +const MIN_1 = __importDefault(require("./MIN")); +const QUANTILE_1 = __importDefault(require("./QUANTILE")); +const RANK_1 = __importDefault(require("./RANK")); +const RESET_1 = __importDefault(require("./RESET")); +const REVRANK_1 = __importDefault(require("./REVRANK")); +const TRIMMED_MEAN_1 = __importDefault(require("./TRIMMED_MEAN")); +exports.default = { + ADD: ADD_1.default, + add: ADD_1.default, + BYRANK: BYRANK_1.default, + byRank: BYRANK_1.default, + BYREVRANK: BYREVRANK_1.default, + byRevRank: BYREVRANK_1.default, + CDF: CDF_1.default, + cdf: CDF_1.default, + CREATE: CREATE_1.default, + create: CREATE_1.default, + INFO: INFO_1.default, + info: INFO_1.default, + MAX: MAX_1.default, + max: MAX_1.default, + MERGE: MERGE_1.default, + merge: MERGE_1.default, + MIN: MIN_1.default, + min: MIN_1.default, + QUANTILE: QUANTILE_1.default, + quantile: QUANTILE_1.default, + RANK: RANK_1.default, + rank: RANK_1.default, + RESET: RESET_1.default, + reset: RESET_1.default, + REVRANK: REVRANK_1.default, + revRank: REVRANK_1.default, + TRIMMED_MEAN: TRIMMED_MEAN_1.default, + trimmedMean: TRIMMED_MEAN_1.default +}; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/index.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/index.js.map new file mode 100644 index 0000000..8b629a4 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/t-digest/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/commands/t-digest/index.ts"],"names":[],"mappings":";;;;;AACA,gDAAwB;AACxB,sDAA8B;AAC9B,4DAAoC;AACpC,gDAAwB;AACxB,sDAA8B;AAC9B,kDAA0B;AAC1B,gDAAwB;AACxB,oDAA4B;AAC5B,gDAAwB;AACxB,0DAAkC;AAClC,kDAA0B;AAC1B,oDAA4B;AAC5B,wDAAgC;AAChC,kEAA0C;AAE1C,kBAAe;IACb,GAAG,EAAH,aAAG;IACH,GAAG,EAAE,aAAG;IACR,MAAM,EAAN,gBAAM;IACN,MAAM,EAAE,gBAAM;IACd,SAAS,EAAT,mBAAS;IACT,SAAS,EAAE,mBAAS;IACpB,GAAG,EAAH,aAAG;IACH,GAAG,EAAE,aAAG;IACR,MAAM,EAAN,gBAAM;IACN,MAAM,EAAE,gBAAM;IACd,IAAI,EAAJ,cAAI;IACJ,IAAI,EAAE,cAAI;IACV,GAAG,EAAH,aAAG;IACH,GAAG,EAAE,aAAG;IACR,KAAK,EAAL,eAAK;IACL,KAAK,EAAE,eAAK;IACZ,GAAG,EAAH,aAAG;IACH,GAAG,EAAE,aAAG;IACR,QAAQ,EAAR,kBAAQ;IACR,QAAQ,EAAE,kBAAQ;IAClB,IAAI,EAAJ,cAAI;IACJ,IAAI,EAAE,cAAI;IACV,KAAK,EAAL,eAAK;IACL,KAAK,EAAE,eAAK;IACZ,OAAO,EAAP,iBAAO;IACP,OAAO,EAAE,iBAAO;IAChB,YAAY,EAAZ,sBAAY;IACZ,WAAW,EAAE,sBAAY;CACO,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/ADD.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/ADD.d.ts new file mode 100644 index 0000000..e601006 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/ADD.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '@redis/client/dist/lib/RESP/types'; +import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Adds one or more items to a Top-K filter and returns items dropped from the top-K list + * @param parser - The command parser + * @param key - The name of the Top-K filter + * @param items - One or more items to add to the filter + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, items: RedisVariadicArgument) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=ADD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/ADD.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/ADD.d.ts.map new file mode 100644 index 0000000..bb3c21c --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/ADD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ADD.d.ts","sourceRoot":"","sources":["../../../../lib/commands/top-k/ADD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,mCAAmC,CAAC;AACxG,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;;;IAI3F;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,SAAS,qBAAqB;mCAKtC,WAAW,eAAe,CAAC;;AAb3E,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/ADD.js b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/ADD.js new file mode 100644 index 0000000..9cd11b1 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/ADD.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Adds one or more items to a Top-K filter and returns items dropped from the top-K list + * @param parser - The command parser + * @param key - The name of the Top-K filter + * @param items - One or more items to add to the filter + */ + parseCommand(parser, key, items) { + parser.push('TOPK.ADD'); + parser.pushKey(key); + parser.pushVariadic(items); + }, + transformReply: undefined +}; +//# sourceMappingURL=ADD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/ADD.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/ADD.js.map new file mode 100644 index 0000000..59dc24f --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/ADD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ADD.js","sourceRoot":"","sources":["../../../../lib/commands/top-k/ADD.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAA4B;QAClF,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/COUNT.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/COUNT.d.ts new file mode 100644 index 0000000..f60b132 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/COUNT.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, ArrayReply, NumberReply } from '@redis/client/dist/lib/RESP/types'; +import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns the count of occurrences for one or more items in a Top-K filter + * @param parser - The command parser + * @param key - The name of the Top-K filter + * @param items - One or more items to get counts for + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, items: RedisVariadicArgument) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=COUNT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/COUNT.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/COUNT.d.ts.map new file mode 100644 index 0000000..4a21be4 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/COUNT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"COUNT.d.ts","sourceRoot":"","sources":["../../../../lib/commands/top-k/COUNT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAW,MAAM,mCAAmC,CAAC;AACpG,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;;;IAI3F;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,SAAS,qBAAqB;mCAKtC,WAAW,WAAW,CAAC;;AAbvE,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/COUNT.js b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/COUNT.js new file mode 100644 index 0000000..ced5fff --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/COUNT.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns the count of occurrences for one or more items in a Top-K filter + * @param parser - The command parser + * @param key - The name of the Top-K filter + * @param items - One or more items to get counts for + */ + parseCommand(parser, key, items) { + parser.push('TOPK.COUNT'); + parser.pushKey(key); + parser.pushVariadic(items); + }, + transformReply: undefined +}; +//# sourceMappingURL=COUNT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/COUNT.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/COUNT.js.map new file mode 100644 index 0000000..63b7fde --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/COUNT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"COUNT.js","sourceRoot":"","sources":["../../../../lib/commands/top-k/COUNT.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAA4B;QAClF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/INCRBY.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/INCRBY.d.ts new file mode 100644 index 0000000..5c7ec4c --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/INCRBY.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, ArrayReply, SimpleStringReply, NullReply } from '@redis/client/dist/lib/RESP/types'; +export interface TopKIncrByItem { + item: string; + incrementBy: number; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Increases the score of one or more items in a Top-K filter by specified increments + * @param parser - The command parser + * @param key - The name of the Top-K filter + * @param items - A single item or array of items to increment, each with an item name and increment value + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, items: TopKIncrByItem | Array) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=INCRBY.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/INCRBY.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/INCRBY.d.ts.map new file mode 100644 index 0000000..c844f49 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/INCRBY.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"INCRBY.d.ts","sourceRoot":"","sources":["../../../../lib/commands/top-k/INCRBY.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAW,MAAM,mCAAmC,CAAC;AAErH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;;;IAQC;;;;;OAKG;gDAEO,aAAa,OAChB,aAAa,SACX,cAAc,GAAG,MAAM,cAAc,CAAC;mCAaD,WAAW,iBAAiB,GAAG,SAAS,CAAC;;AAxBzF,wBAyB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/INCRBY.js b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/INCRBY.js new file mode 100644 index 0000000..2101155 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/INCRBY.js @@ -0,0 +1,28 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +function pushIncrByItem(parser, { item, incrementBy }) { + parser.push(item, incrementBy.toString()); +} +exports.default = { + IS_READ_ONLY: false, + /** + * Increases the score of one or more items in a Top-K filter by specified increments + * @param parser - The command parser + * @param key - The name of the Top-K filter + * @param items - A single item or array of items to increment, each with an item name and increment value + */ + parseCommand(parser, key, items) { + parser.push('TOPK.INCRBY'); + parser.pushKey(key); + if (Array.isArray(items)) { + for (const item of items) { + pushIncrByItem(parser, item); + } + } + else { + pushIncrByItem(parser, items); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=INCRBY.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/INCRBY.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/INCRBY.js.map new file mode 100644 index 0000000..5f1c46d --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/INCRBY.js.map @@ -0,0 +1 @@ +{"version":3,"file":"INCRBY.js","sourceRoot":"","sources":["../../../../lib/commands/top-k/INCRBY.ts"],"names":[],"mappings":";;AAQA,SAAS,cAAc,CAAC,MAAqB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAkB;IAClF,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,KAA6C;QAE7C,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAuE;CAC7D,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/INFO.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/INFO.d.ts new file mode 100644 index 0000000..d923760 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/INFO.d.ts @@ -0,0 +1,35 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, TuplesToMapReply, NumberReply, DoubleReply, SimpleStringReply, TypeMapping } from '@redis/client/dist/lib/RESP/types'; +export type TopKInfoReplyMap = TuplesToMapReply<[ + [ + SimpleStringReply<'k'>, + NumberReply + ], + [ + SimpleStringReply<'width'>, + NumberReply + ], + [ + SimpleStringReply<'depth'>, + NumberReply + ], + [ + SimpleStringReply<'decay'>, + DoubleReply + ] +]>; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns configuration and statistics of a Top-K filter, including k, width, depth, and decay parameters + * @param parser - The command parser + * @param key - The name of the Top-K filter to get information about + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: [SimpleStringReply<"k">, NumberReply, SimpleStringReply<"width">, NumberReply, SimpleStringReply<"depth">, NumberReply, SimpleStringReply<"decay">, import("@redis/client/dist/lib/RESP/types").BlobStringReply], preserve?: any, typeMapping?: TypeMapping) => TopKInfoReplyMap; + readonly 3: () => TopKInfoReplyMap; + }; +}; +export default _default; +//# sourceMappingURL=INFO.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/INFO.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/INFO.d.ts.map new file mode 100644 index 0000000..2419b31 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/INFO.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"INFO.d.ts","sourceRoot":"","sources":["../../../../lib/commands/top-k/INFO.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAoC,iBAAiB,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAIhL,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;IAC9C;QAAC,iBAAiB,CAAC,GAAG,CAAC;QAAE,WAAW;KAAC;IACrC;QAAC,iBAAiB,CAAC,OAAO,CAAC;QAAE,WAAW;KAAC;IACzC;QAAC,iBAAiB,CAAC,OAAO,CAAC;QAAE,WAAW;KAAC;IACzC;QAAC,iBAAiB,CAAC,OAAO,CAAC;QAAE,WAAW;KAAC;CAC1C,CAAC,CAAC;;;IAID;;;;OAIG;gDACkB,aAAa,OAAO,aAAa;;yRAKa,GAAG,gBAAgB,WAAW;;;;AAZnG,wBAmB4B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/INFO.js b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/INFO.js new file mode 100644 index 0000000..eafeaff --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/INFO.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +const bloom_1 = require("../bloom"); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns configuration and statistics of a Top-K filter, including k, width, depth, and decay parameters + * @param parser - The command parser + * @param key - The name of the Top-K filter to get information about + */ + parseCommand(parser, key) { + parser.push('TOPK.INFO'); + parser.pushKey(key); + }, + transformReply: { + 2: (reply, preserve, typeMapping) => { + reply[7] = generic_transformers_1.transformDoubleReply[2](reply[7], preserve, typeMapping); + return (0, bloom_1.transformInfoV2Reply)(reply, typeMapping); + }, + 3: undefined + } +}; +//# sourceMappingURL=INFO.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/INFO.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/INFO.js.map new file mode 100644 index 0000000..84b9b3d --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/INFO.js.map @@ -0,0 +1 @@ +{"version":3,"file":"INFO.js","sourceRoot":"","sources":["../../../../lib/commands/top-k/INFO.ts"],"names":[],"mappings":";;AAEA,+FAA4F;AAC5F,oCAAgD;AAShD,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAAgD,EAAE,QAAc,EAAE,WAAyB,EAAoB,EAAE;YACnH,KAAK,CAAC,CAAC,CAAC,GAAG,2CAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAQ,CAAC;YAE3E,OAAO,IAAA,4BAAoB,EAAmB,KAAK,EAAE,WAAW,CAAC,CAAC;QACpE,CAAC;QACD,CAAC,EAAE,SAA8C;KAClD;CACyB,CAAA"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST.d.ts new file mode 100644 index 0000000..6973081 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns all items in a Top-K filter + * @param parser - The command parser + * @param key - The name of the Top-K filter + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=LIST.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST.d.ts.map new file mode 100644 index 0000000..b74186f --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LIST.d.ts","sourceRoot":"","sources":["../../../../lib/commands/top-k/LIST.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,mCAAmC,CAAC;;;IAItG;;;;OAIG;gDACkB,aAAa,OAAO,aAAa;mCAIR,WAAW,eAAe,CAAC;;AAX3E,wBAY6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST.js b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST.js new file mode 100644 index 0000000..6fd5fc1 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns all items in a Top-K filter + * @param parser - The command parser + * @param key - The name of the Top-K filter + */ + parseCommand(parser, key) { + parser.push('TOPK.LIST'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=LIST.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST.js.map new file mode 100644 index 0000000..dcaf7a2 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LIST.js","sourceRoot":"","sources":["../../../../lib/commands/top-k/LIST.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST_WITHCOUNT.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST_WITHCOUNT.d.ts new file mode 100644 index 0000000..74f5997 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST_WITHCOUNT.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply, NumberReply, UnwrapReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns all items in a Top-K filter with their respective counts + * @param parser - The command parser + * @param key - The name of the Top-K filter + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: (this: void, rawReply: UnwrapReply>) => { + item: BlobStringReply; + count: NumberReply; + }[]; +}; +export default _default; +//# sourceMappingURL=LIST_WITHCOUNT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST_WITHCOUNT.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST_WITHCOUNT.d.ts.map new file mode 100644 index 0000000..e244fd4 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST_WITHCOUNT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LIST_WITHCOUNT.d.ts","sourceRoot":"","sources":["../../../../lib/commands/top-k/LIST_WITHCOUNT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAW,MAAM,mCAAmC,CAAC;;;IAIhI;;;;OAIG;gDACkB,aAAa,OAAO,aAAa;oDAK7B,YAAY,WAAW,eAAe,GAAG,WAAW,CAAC,CAAC;cAErE,eAAe;eACd,WAAW;;;AAfxB,wBA2B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST_WITHCOUNT.js b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST_WITHCOUNT.js new file mode 100644 index 0000000..f565a47 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST_WITHCOUNT.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns all items in a Top-K filter with their respective counts + * @param parser - The command parser + * @param key - The name of the Top-K filter + */ + parseCommand(parser, key) { + parser.push('TOPK.LIST'); + parser.pushKey(key); + parser.push('WITHCOUNT'); + }, + transformReply(rawReply) { + const reply = []; + for (let i = 0; i < rawReply.length; i++) { + reply.push({ + item: rawReply[i], + count: rawReply[++i] + }); + } + return reply; + } +}; +//# sourceMappingURL=LIST_WITHCOUNT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST_WITHCOUNT.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST_WITHCOUNT.js.map new file mode 100644 index 0000000..a282944 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/LIST_WITHCOUNT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LIST_WITHCOUNT.js","sourceRoot":"","sources":["../../../../lib/commands/top-k/LIST_WITHCOUNT.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3B,CAAC;IACD,cAAc,CAAC,QAAgE;QAC7E,MAAM,KAAK,GAGN,EAAE,CAAC;QAER,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAoB;gBACpC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAgB;aACpC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/QUERY.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/QUERY.d.ts new file mode 100644 index 0000000..ba49046 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/QUERY.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument } from '@redis/client/dist/lib/RESP/types'; +import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Checks if one or more items are in the Top-K list + * @param parser - The command parser + * @param key - The name of the Top-K filter + * @param items - One or more items to check in the filter + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, items: RedisVariadicArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; +}; +export default _default; +//# sourceMappingURL=QUERY.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/QUERY.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/QUERY.d.ts.map new file mode 100644 index 0000000..ad5d2f6 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/QUERY.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"QUERY.d.ts","sourceRoot":"","sources":["../../../../lib/commands/top-k/QUERY.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAW,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAA8B,MAAM,sDAAsD,CAAC;;;IAIvH;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,SAAS,qBAAqB;;;;;;AARtF,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/QUERY.js b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/QUERY.js new file mode 100644 index 0000000..9c85609 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/QUERY.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Checks if one or more items are in the Top-K list + * @param parser - The command parser + * @param key - The name of the Top-K filter + * @param items - One or more items to check in the filter + */ + parseCommand(parser, key, items) { + parser.push('TOPK.QUERY'); + parser.pushKey(key); + parser.pushVariadic(items); + }, + transformReply: generic_transformers_1.transformBooleanArrayReply +}; +//# sourceMappingURL=QUERY.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/QUERY.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/QUERY.js.map new file mode 100644 index 0000000..17af709 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/QUERY.js.map @@ -0,0 +1 @@ +{"version":3,"file":"QUERY.js","sourceRoot":"","sources":["../../../../lib/commands/top-k/QUERY.ts"],"names":[],"mappings":";;AAEA,+FAAyH;AAEzH,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAA4B;QAClF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IACD,cAAc,EAAE,iDAA0B;CAChB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/RESERVE.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/RESERVE.d.ts new file mode 100644 index 0000000..a5bdbb5 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/RESERVE.d.ts @@ -0,0 +1,24 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { SimpleStringReply, RedisArgument } from '@redis/client/dist/lib/RESP/types'; +export interface TopKReserveOptions { + width: number; + depth: number; + decay: number; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Creates a new Top-K filter with specified parameters + * @param parser - The command parser + * @param key - The name of the Top-K filter + * @param topK - Number of top occurring items to keep + * @param options - Optional parameters for filter configuration + * @param options.width - Number of counters in each array + * @param options.depth - Number of counter-arrays + * @param options.decay - Counter decay factor + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, topK: number, options?: TopKReserveOptions) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=RESERVE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/RESERVE.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/RESERVE.d.ts.map new file mode 100644 index 0000000..4113a4b --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/RESERVE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"RESERVE.d.ts","sourceRoot":"","sources":["../../../../lib/commands/top-k/RESERVE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAW,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAE9F,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;;;IAIC;;;;;;;;;OASG;gDACkB,aAAa,OAAO,aAAa,QAAQ,MAAM,YAAY,kBAAkB;mCAapD,kBAAkB,IAAI,CAAC;;AAzBvE,wBA0B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/RESERVE.js b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/RESERVE.js new file mode 100644 index 0000000..5174302 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/RESERVE.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Creates a new Top-K filter with specified parameters + * @param parser - The command parser + * @param key - The name of the Top-K filter + * @param topK - Number of top occurring items to keep + * @param options - Optional parameters for filter configuration + * @param options.width - Number of counters in each array + * @param options.depth - Number of counter-arrays + * @param options.decay - Counter decay factor + */ + parseCommand(parser, key, topK, options) { + parser.push('TOPK.RESERVE'); + parser.pushKey(key); + parser.push(topK.toString()); + if (options) { + parser.push(options.width.toString(), options.depth.toString(), options.decay.toString()); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=RESERVE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/RESERVE.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/RESERVE.js.map new file mode 100644 index 0000000..cb52229 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/RESERVE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RESERVE.js","sourceRoot":"","sources":["../../../../lib/commands/top-k/RESERVE.ts"],"names":[],"mappings":";;AASA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;;OASG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,IAAY,EAAE,OAA4B;QAChG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE7B,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CACT,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,EACxB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,EACxB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CACzB,CAAC;QACJ,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/index.d.ts b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/index.d.ts new file mode 100644 index 0000000..12c7bfa --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/index.d.ts @@ -0,0 +1,102 @@ +declare const _default: { + readonly ADD: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly add: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly COUNT: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly count: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly INCRBY: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, items: import("./INCRBY").TopKIncrByItem | import("./INCRBY").TopKIncrByItem[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly incrBy: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, items: import("./INCRBY").TopKIncrByItem | import("./INCRBY").TopKIncrByItem[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly INFO: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"k">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"width">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"depth">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"decay">, import("@redis/client/dist/lib/RESP/types").BlobStringReply], preserve?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("./INFO").TopKInfoReplyMap; + readonly 3: () => import("./INFO").TopKInfoReplyMap; + }; + }; + readonly info: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"k">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"width">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"depth">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"decay">, import("@redis/client/dist/lib/RESP/types").BlobStringReply], preserve?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("./INFO").TopKInfoReplyMap; + readonly 3: () => import("./INFO").TopKInfoReplyMap; + }; + }; + readonly LIST_WITHCOUNT: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: (this: void, rawReply: (import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply)[]) => { + item: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + count: import("@redis/client/dist/lib/RESP/types").NumberReply; + }[]; + }; + readonly listWithCount: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: (this: void, rawReply: (import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply)[]) => { + item: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + count: import("@redis/client/dist/lib/RESP/types").NumberReply; + }[]; + }; + readonly LIST: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly list: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly QUERY: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly query: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly RESERVE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, topK: number, options?: import("./RESERVE").TopKReserveOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly reserve: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, topK: number, options?: import("./RESERVE").TopKReserveOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; +}; +export default _default; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/index.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/index.d.ts.map new file mode 100644 index 0000000..d0eb4f3 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/commands/top-k/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,wBAiBmC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/index.js b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/index.js new file mode 100644 index 0000000..3d6c8e2 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/index.js @@ -0,0 +1,32 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const ADD_1 = __importDefault(require("./ADD")); +const COUNT_1 = __importDefault(require("./COUNT")); +const INCRBY_1 = __importDefault(require("./INCRBY")); +const INFO_1 = __importDefault(require("./INFO")); +const LIST_WITHCOUNT_1 = __importDefault(require("./LIST_WITHCOUNT")); +const LIST_1 = __importDefault(require("./LIST")); +const QUERY_1 = __importDefault(require("./QUERY")); +const RESERVE_1 = __importDefault(require("./RESERVE")); +exports.default = { + ADD: ADD_1.default, + add: ADD_1.default, + COUNT: COUNT_1.default, + count: COUNT_1.default, + INCRBY: INCRBY_1.default, + incrBy: INCRBY_1.default, + INFO: INFO_1.default, + info: INFO_1.default, + LIST_WITHCOUNT: LIST_WITHCOUNT_1.default, + listWithCount: LIST_WITHCOUNT_1.default, + LIST: LIST_1.default, + list: LIST_1.default, + QUERY: QUERY_1.default, + query: QUERY_1.default, + RESERVE: RESERVE_1.default, + reserve: RESERVE_1.default +}; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/commands/top-k/index.js.map b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/index.js.map new file mode 100644 index 0000000..17d88d3 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/commands/top-k/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/commands/top-k/index.ts"],"names":[],"mappings":";;;;;AACA,gDAAwB;AACxB,oDAA4B;AAC5B,sDAA8B;AAC9B,kDAA0B;AAC1B,sEAA8C;AAC9C,kDAA0B;AAC1B,oDAA4B;AAC5B,wDAAgC;AAEhC,kBAAe;IACb,GAAG,EAAH,aAAG;IACH,GAAG,EAAE,aAAG;IACR,KAAK,EAAL,eAAK;IACL,KAAK,EAAE,eAAK;IACZ,MAAM,EAAN,gBAAM;IACN,MAAM,EAAE,gBAAM;IACd,IAAI,EAAJ,cAAI;IACJ,IAAI,EAAE,cAAI;IACV,cAAc,EAAd,wBAAc;IACd,aAAa,EAAE,wBAAc;IAC7B,IAAI,EAAJ,cAAI;IACJ,IAAI,EAAE,cAAI;IACV,KAAK,EAAL,eAAK;IACL,KAAK,EAAE,eAAK;IACZ,OAAO,EAAP,iBAAO;IACP,OAAO,EAAE,iBAAO;CACgB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/index.d.ts b/back/node_modules/@redis/bloom/dist/lib/index.d.ts new file mode 100644 index 0000000..22bb758 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/index.d.ts @@ -0,0 +1,2 @@ +export { default } from './commands'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/index.d.ts.map b/back/node_modules/@redis/bloom/dist/lib/index.d.ts.map new file mode 100644 index 0000000..c5f6e91 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/index.js b/back/node_modules/@redis/bloom/dist/lib/index.js new file mode 100644 index 0000000..e356a73 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/index.js @@ -0,0 +1,9 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = void 0; +var commands_1 = require("./commands"); +Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(commands_1).default; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/dist/lib/index.js.map b/back/node_modules/@redis/bloom/dist/lib/index.js.map new file mode 100644 index 0000000..5152b18 --- /dev/null +++ b/back/node_modules/@redis/bloom/dist/lib/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAqC;AAA5B,oHAAA,OAAO,OAAA"} \ No newline at end of file diff --git a/back/node_modules/@redis/bloom/package.json b/back/node_modules/@redis/bloom/package.json new file mode 100644 index 0000000..5ecca82 --- /dev/null +++ b/back/node_modules/@redis/bloom/package.json @@ -0,0 +1,36 @@ +{ + "name": "@redis/bloom", + "version": "5.11.0", + "license": "MIT", + "main": "./dist/lib/index.js", + "types": "./dist/lib/index.d.ts", + "files": [ + "dist/", + "!dist/tsconfig.tsbuildinfo" + ], + "scripts": { + "test": "nyc -r text-summary -r lcov mocha -r tsx --reporter mocha-multi-reporters --reporter-options configFile=mocha-multi-reporter-config.json --exit './lib/**/*.spec.ts'", + "release": "release-it" + }, + "peerDependencies": { + "@redis/client": "^5.11.0" + }, + "devDependencies": { + "@redis/test-utils": "*" + }, + "engines": { + "node": ">= 18" + }, + "repository": { + "type": "git", + "url": "git://github.com/redis/node-redis.git" + }, + "bugs": { + "url": "https://github.com/redis/node-redis/issues" + }, + "homepage": "https://github.com/redis/node-redis/tree/master/packages/bloom", + "keywords": [ + "redis", + "RedisBloom" + ] +} diff --git a/back/node_modules/@redis/client/README.md b/back/node_modules/@redis/client/README.md new file mode 100644 index 0000000..4b5d150 --- /dev/null +++ b/back/node_modules/@redis/client/README.md @@ -0,0 +1,3 @@ +# @redis/client + +The source code and documentation for this package are in the main [node-redis](https://github.com/redis/node-redis) repo. diff --git a/back/node_modules/@redis/client/dist/index.d.ts b/back/node_modules/@redis/client/dist/index.d.ts new file mode 100644 index 0000000..8b971b2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/index.d.ts @@ -0,0 +1,23 @@ +export { RedisArgument, RedisFunctions, RedisModules, RedisScripts, RespVersions, TypeMapping, } from './lib/RESP/types'; +export { RESP_TYPES } from './lib/RESP/decoder'; +export { VerbatimString } from './lib/RESP/verbatim-string'; +export { defineScript } from './lib/lua-script'; +export { digest } from './lib/utils/digest'; +export * from './lib/errors'; +import RedisClient, { RedisClientOptions, RedisClientType } from './lib/client'; +export { RedisClientOptions, RedisClientType }; +export declare const createClient: typeof RedisClient.create; +export { CommandParser } from './lib/client/parser'; +import { RedisClientPool, RedisPoolOptions, RedisClientPoolType } from './lib/client/pool'; +export { RedisClientPoolType, RedisPoolOptions }; +export declare const createClientPool: typeof RedisClientPool.create; +import RedisCluster, { RedisClusterOptions, RedisClusterType } from './lib/cluster'; +export { RedisClusterType, RedisClusterOptions }; +export declare const createCluster: typeof RedisCluster.create; +import RedisSentinel from './lib/sentinel'; +export { RedisSentinelOptions, RedisSentinelType } from './lib/sentinel/types'; +export declare const createSentinel: typeof RedisSentinel.create; +export { GEO_REPLY_WITH, GeoReplyWith } from './lib/commands/GEOSEARCH_WITH'; +export { SetOptions, CLIENT_KILL_FILTERS, FAILOVER_MODES, CLUSTER_SLOT_STATES, COMMAND_LIST_FILTER_BY, REDIS_FLUSH_MODES } from './lib/commands'; +export { BasicClientSideCache, BasicPooledClientSideCache } from './lib/client/cache'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/index.d.ts.map b/back/node_modules/@redis/client/dist/index.d.ts.map new file mode 100644 index 0000000..6c98a05 --- /dev/null +++ b/back/node_modules/@redis/client/dist/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EACb,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,cAAc,cAAc,CAAC;AAE7B,OAAO,WAAW,EAAE,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,CAAC;AAC/C,eAAO,MAAM,YAAY,2BAAqB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,CAAC;AACjD,eAAO,MAAM,gBAAgB,+BAAyB,CAAC;AAEvD,OAAO,YAAY,EAAE,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,CAAC;AACjD,eAAO,MAAM,aAAa,4BAAsB,CAAC;AAEjD,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,eAAO,MAAM,cAAc,6BAAuB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAG7E,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,cAAc,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAEhJ,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/index.js b/back/node_modules/@redis/client/dist/index.js new file mode 100644 index 0000000..2d40256 --- /dev/null +++ b/back/node_modules/@redis/client/dist/index.js @@ -0,0 +1,49 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.BasicPooledClientSideCache = exports.BasicClientSideCache = exports.REDIS_FLUSH_MODES = exports.COMMAND_LIST_FILTER_BY = exports.CLUSTER_SLOT_STATES = exports.FAILOVER_MODES = exports.CLIENT_KILL_FILTERS = exports.GEO_REPLY_WITH = exports.createSentinel = exports.createCluster = exports.createClientPool = exports.createClient = exports.digest = exports.defineScript = exports.VerbatimString = exports.RESP_TYPES = void 0; +var decoder_1 = require("./lib/RESP/decoder"); +Object.defineProperty(exports, "RESP_TYPES", { enumerable: true, get: function () { return decoder_1.RESP_TYPES; } }); +var verbatim_string_1 = require("./lib/RESP/verbatim-string"); +Object.defineProperty(exports, "VerbatimString", { enumerable: true, get: function () { return verbatim_string_1.VerbatimString; } }); +var lua_script_1 = require("./lib/lua-script"); +Object.defineProperty(exports, "defineScript", { enumerable: true, get: function () { return lua_script_1.defineScript; } }); +var digest_1 = require("./lib/utils/digest"); +Object.defineProperty(exports, "digest", { enumerable: true, get: function () { return digest_1.digest; } }); +__exportStar(require("./lib/errors"), exports); +const client_1 = __importDefault(require("./lib/client")); +exports.createClient = client_1.default.create; +const pool_1 = require("./lib/client/pool"); +exports.createClientPool = pool_1.RedisClientPool.create; +const cluster_1 = __importDefault(require("./lib/cluster")); +exports.createCluster = cluster_1.default.create; +const sentinel_1 = __importDefault(require("./lib/sentinel")); +exports.createSentinel = sentinel_1.default.create; +var GEOSEARCH_WITH_1 = require("./lib/commands/GEOSEARCH_WITH"); +Object.defineProperty(exports, "GEO_REPLY_WITH", { enumerable: true, get: function () { return GEOSEARCH_WITH_1.GEO_REPLY_WITH; } }); +var commands_1 = require("./lib/commands"); +Object.defineProperty(exports, "CLIENT_KILL_FILTERS", { enumerable: true, get: function () { return commands_1.CLIENT_KILL_FILTERS; } }); +Object.defineProperty(exports, "FAILOVER_MODES", { enumerable: true, get: function () { return commands_1.FAILOVER_MODES; } }); +Object.defineProperty(exports, "CLUSTER_SLOT_STATES", { enumerable: true, get: function () { return commands_1.CLUSTER_SLOT_STATES; } }); +Object.defineProperty(exports, "COMMAND_LIST_FILTER_BY", { enumerable: true, get: function () { return commands_1.COMMAND_LIST_FILTER_BY; } }); +Object.defineProperty(exports, "REDIS_FLUSH_MODES", { enumerable: true, get: function () { return commands_1.REDIS_FLUSH_MODES; } }); +var cache_1 = require("./lib/client/cache"); +Object.defineProperty(exports, "BasicClientSideCache", { enumerable: true, get: function () { return cache_1.BasicClientSideCache; } }); +Object.defineProperty(exports, "BasicPooledClientSideCache", { enumerable: true, get: function () { return cache_1.BasicPooledClientSideCache; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/index.js.map b/back/node_modules/@redis/client/dist/index.js.map new file mode 100644 index 0000000..e079ed6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AASA,8CAAgD;AAAvC,qGAAA,UAAU,OAAA;AACnB,8DAA4D;AAAnD,iHAAA,cAAc,OAAA;AACvB,+CAAgD;AAAvC,0GAAA,YAAY,OAAA;AACrB,6CAA4C;AAAnC,gGAAA,MAAM,OAAA;AACf,+CAA6B;AAE7B,0DAAgF;AAEnE,QAAA,YAAY,GAAG,gBAAW,CAAC,MAAM,CAAC;AAG/C,4CAA2F;AAE9E,QAAA,gBAAgB,GAAG,sBAAe,CAAC,MAAM,CAAC;AAEvD,4DAAoF;AAEvE,QAAA,aAAa,GAAG,iBAAY,CAAC,MAAM,CAAC;AAEjD,8DAA2C;AAE9B,QAAA,cAAc,GAAG,kBAAa,CAAC,MAAM,CAAC;AAEnD,gEAA6E;AAApE,gHAAA,cAAc,OAAA;AAGvB,2CAAgJ;AAA3H,+GAAA,mBAAmB,OAAA;AAAE,0GAAA,cAAc,OAAA;AAAE,+GAAA,mBAAmB,OAAA;AAAE,kHAAA,sBAAsB,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAExH,4CAAsF;AAA7E,6GAAA,oBAAoB,OAAA;AAAE,mHAAA,0BAA0B,OAAA"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/RESP/decoder.d.ts b/back/node_modules/@redis/client/dist/lib/RESP/decoder.d.ts new file mode 100644 index 0000000..3d7b1e4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/RESP/decoder.d.ts @@ -0,0 +1,40 @@ +/// +import { ErrorReply } from '../errors'; +import { TypeMapping } from './types'; +export declare const RESP_TYPES: { + readonly NULL: 95; + readonly BOOLEAN: 35; + readonly NUMBER: 58; + readonly BIG_NUMBER: 40; + readonly DOUBLE: 44; + readonly SIMPLE_STRING: 43; + readonly BLOB_STRING: 36; + readonly VERBATIM_STRING: 61; + readonly SIMPLE_ERROR: 45; + readonly BLOB_ERROR: 33; + readonly ARRAY: 42; + readonly SET: 126; + readonly MAP: 37; + readonly PUSH: 62; +}; +export declare const PUSH_TYPE_MAPPING: { + 36: BufferConstructor; +}; +interface DecoderOptions { + onReply(reply: any): unknown; + onErrorReply(err: ErrorReply): unknown; + onPush(push: Array): unknown; + getTypeMapping(): TypeMapping; +} +export declare class Decoder { + #private; + onReply: (reply: any) => unknown; + onErrorReply: (err: ErrorReply) => unknown; + onPush: (push: any[]) => unknown; + getTypeMapping: () => TypeMapping; + constructor(config: DecoderOptions); + reset(): void; + write(chunk: any): void; +} +export {}; +//# sourceMappingURL=decoder.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/RESP/decoder.d.ts.map b/back/node_modules/@redis/client/dist/lib/RESP/decoder.d.ts.map new file mode 100644 index 0000000..169e660 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/RESP/decoder.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../../lib/RESP/decoder.ts"],"names":[],"mappings":";AAEA,OAAO,EAA0B,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;CAeb,CAAC;AAeX,eAAO,MAAM,iBAAiB;;CAE7B,CAAC;AAIF,UAAU,cAAc;IACtB,OAAO,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC;IAC7B,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC;IACvC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;IAClC,cAAc,IAAI,WAAW,CAAC;CAC/B;AAED,qBAAa,OAAO;;IAClB,OAAO,0BAAC;IACR,YAAY,+BAAC;IACb,MAAM,2BAAC;IACP,cAAc,oBAAC;gBAIH,MAAM,EAAE,cAAc;IAOlC,KAAK;IAKL,KAAK,CAAC,KAAK,KAAA;CAklCZ"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/RESP/decoder.js b/back/node_modules/@redis/client/dist/lib/RESP/decoder.js new file mode 100644 index 0000000..6f66c8e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/RESP/decoder.js @@ -0,0 +1,727 @@ +"use strict"; +var _a; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Decoder = exports.PUSH_TYPE_MAPPING = exports.RESP_TYPES = void 0; +// @ts-nocheck +const verbatim_string_1 = require("./verbatim-string"); +const errors_1 = require("../errors"); +// https://github.com/redis/redis-specifications/blob/master/protocol/RESP3.md +exports.RESP_TYPES = { + NULL: 95, // _ + BOOLEAN: 35, // # + NUMBER: 58, // : + BIG_NUMBER: 40, // ( + DOUBLE: 44, // , + SIMPLE_STRING: 43, // + + BLOB_STRING: 36, // $ + VERBATIM_STRING: 61, // = + SIMPLE_ERROR: 45, // - + BLOB_ERROR: 33, // ! + ARRAY: 42, // * + SET: 126, // ~ + MAP: 37, // % + PUSH: 62 // > +}; +const ASCII = { + '\r': 13, + 't': 116, + '+': 43, + '-': 45, + '0': 48, + '.': 46, + 'i': 105, + 'n': 110, + 'E': 69, + 'e': 101 +}; +exports.PUSH_TYPE_MAPPING = { + [exports.RESP_TYPES.BLOB_STRING]: Buffer +}; +class Decoder { + onReply; + onErrorReply; + onPush; + getTypeMapping; + #cursor = 0; + #next; + constructor(config) { + this.onReply = config.onReply; + this.onErrorReply = config.onErrorReply; + this.onPush = config.onPush; + this.getTypeMapping = config.getTypeMapping; + } + reset() { + this.#cursor = 0; + this.#next = undefined; + } + write(chunk) { + if (this.#cursor >= chunk.length) { + this.#cursor -= chunk.length; + return; + } + if (this.#next) { + if (this.#next(chunk) || this.#cursor >= chunk.length) { + this.#cursor -= chunk.length; + return; + } + } + do { + const type = chunk[this.#cursor]; + if (++this.#cursor === chunk.length) { + this.#next = this.#continueDecodeTypeValue.bind(this, type); + break; + } + if (this.#decodeTypeValue(type, chunk)) { + break; + } + } while (this.#cursor < chunk.length); + this.#cursor -= chunk.length; + } + #continueDecodeTypeValue(type, chunk) { + this.#next = undefined; + return this.#decodeTypeValue(type, chunk); + } + #decodeTypeValue(type, chunk) { + switch (type) { + case exports.RESP_TYPES.NULL: + this.onReply(this.#decodeNull()); + return false; + case exports.RESP_TYPES.BOOLEAN: + return this.#handleDecodedValue(this.onReply, this.#decodeBoolean(chunk)); + case exports.RESP_TYPES.NUMBER: + return this.#handleDecodedValue(this.onReply, this.#decodeNumber(this.getTypeMapping()[exports.RESP_TYPES.NUMBER], chunk)); + case exports.RESP_TYPES.BIG_NUMBER: + return this.#handleDecodedValue(this.onReply, this.#decodeBigNumber(this.getTypeMapping()[exports.RESP_TYPES.BIG_NUMBER], chunk)); + case exports.RESP_TYPES.DOUBLE: + return this.#handleDecodedValue(this.onReply, this.#decodeDouble(this.getTypeMapping()[exports.RESP_TYPES.DOUBLE], chunk)); + case exports.RESP_TYPES.SIMPLE_STRING: + return this.#handleDecodedValue(this.onReply, this.#decodeSimpleString(this.getTypeMapping()[exports.RESP_TYPES.SIMPLE_STRING], chunk)); + case exports.RESP_TYPES.BLOB_STRING: + return this.#handleDecodedValue(this.onReply, this.#decodeBlobString(this.getTypeMapping()[exports.RESP_TYPES.BLOB_STRING], chunk)); + case exports.RESP_TYPES.VERBATIM_STRING: + return this.#handleDecodedValue(this.onReply, this.#decodeVerbatimString(this.getTypeMapping()[exports.RESP_TYPES.VERBATIM_STRING], chunk)); + case exports.RESP_TYPES.SIMPLE_ERROR: + return this.#handleDecodedValue(this.onErrorReply, this.#decodeSimpleError(chunk)); + case exports.RESP_TYPES.BLOB_ERROR: + return this.#handleDecodedValue(this.onErrorReply, this.#decodeBlobError(chunk)); + case exports.RESP_TYPES.ARRAY: + return this.#handleDecodedValue(this.onReply, this.#decodeArray(this.getTypeMapping(), chunk)); + case exports.RESP_TYPES.SET: + return this.#handleDecodedValue(this.onReply, this.#decodeSet(this.getTypeMapping(), chunk)); + case exports.RESP_TYPES.MAP: + return this.#handleDecodedValue(this.onReply, this.#decodeMap(this.getTypeMapping(), chunk)); + case exports.RESP_TYPES.PUSH: + return this.#handleDecodedValue(this.onPush, this.#decodeArray(exports.PUSH_TYPE_MAPPING, chunk)); + default: + throw new Error(`Unknown RESP type ${type} "${String.fromCharCode(type)}"`); + } + } + #handleDecodedValue(cb, value) { + if (typeof value === 'function') { + this.#next = this.#continueDecodeValue.bind(this, cb, value); + return true; + } + cb(value); + return false; + } + #continueDecodeValue(cb, next, chunk) { + this.#next = undefined; + return this.#handleDecodedValue(cb, next(chunk)); + } + #decodeNull() { + this.#cursor += 2; // skip \r\n + return null; + } + #decodeBoolean(chunk) { + const boolean = chunk[this.#cursor] === ASCII.t; + this.#cursor += 3; // skip {t | f}\r\n + return boolean; + } + #decodeNumber(type, chunk) { + if (type === String) { + return this.#decodeSimpleString(String, chunk); + } + switch (chunk[this.#cursor]) { + case ASCII['+']: + return this.#maybeDecodeNumberValue(false, chunk); + case ASCII['-']: + return this.#maybeDecodeNumberValue(true, chunk); + default: + return this.#decodeNumberValue(false, this.#decodeUnsingedNumber.bind(this, 0), chunk); + } + } + #maybeDecodeNumberValue(isNegative, chunk) { + const cb = this.#decodeUnsingedNumber.bind(this, 0); + return ++this.#cursor === chunk.length ? + this.#decodeNumberValue.bind(this, isNegative, cb) : + this.#decodeNumberValue(isNegative, cb, chunk); + } + #decodeNumberValue(isNegative, numberCb, chunk) { + const number = numberCb(chunk); + return typeof number === 'function' ? + this.#decodeNumberValue.bind(this, isNegative, number) : + isNegative ? -number : number; + } + #decodeUnsingedNumber(number, chunk) { + let cursor = this.#cursor; + do { + const byte = chunk[cursor]; + if (byte === ASCII['\r']) { + this.#cursor = cursor + 2; // skip \r\n + return number; + } + number = number * 10 + byte - ASCII['0']; + } while (++cursor < chunk.length); + this.#cursor = cursor; + return this.#decodeUnsingedNumber.bind(this, number); + } + #decodeBigNumber(type, chunk) { + if (type === String) { + return this.#decodeSimpleString(String, chunk); + } + switch (chunk[this.#cursor]) { + case ASCII['+']: + return this.#maybeDecodeBigNumberValue(false, chunk); + case ASCII['-']: + return this.#maybeDecodeBigNumberValue(true, chunk); + default: + return this.#decodeBigNumberValue(false, this.#decodeUnsingedBigNumber.bind(this, 0n), chunk); + } + } + #maybeDecodeBigNumberValue(isNegative, chunk) { + const cb = this.#decodeUnsingedBigNumber.bind(this, 0n); + return ++this.#cursor === chunk.length ? + this.#decodeBigNumberValue.bind(this, isNegative, cb) : + this.#decodeBigNumberValue(isNegative, cb, chunk); + } + #decodeBigNumberValue(isNegative, bigNumberCb, chunk) { + const bigNumber = bigNumberCb(chunk); + return typeof bigNumber === 'function' ? + this.#decodeBigNumberValue.bind(this, isNegative, bigNumber) : + isNegative ? -bigNumber : bigNumber; + } + #decodeUnsingedBigNumber(bigNumber, chunk) { + let cursor = this.#cursor; + do { + const byte = chunk[cursor]; + if (byte === ASCII['\r']) { + this.#cursor = cursor + 2; // skip \r\n + return bigNumber; + } + bigNumber = bigNumber * 10n + BigInt(byte - ASCII['0']); + } while (++cursor < chunk.length); + this.#cursor = cursor; + return this.#decodeUnsingedBigNumber.bind(this, bigNumber); + } + #decodeDouble(type, chunk) { + if (type === String) { + return this.#decodeSimpleString(String, chunk); + } + switch (chunk[this.#cursor]) { + case ASCII.n: + this.#cursor += 5; // skip nan\r\n + return NaN; + case ASCII['+']: + return this.#maybeDecodeDoubleInteger(false, chunk); + case ASCII['-']: + return this.#maybeDecodeDoubleInteger(true, chunk); + default: + return this.#decodeDoubleInteger(false, 0, chunk); + } + } + #maybeDecodeDoubleInteger(isNegative, chunk) { + return ++this.#cursor === chunk.length ? + this.#decodeDoubleInteger.bind(this, isNegative, 0) : + this.#decodeDoubleInteger(isNegative, 0, chunk); + } + #decodeDoubleInteger(isNegative, integer, chunk) { + if (chunk[this.#cursor] === ASCII.i) { + this.#cursor += 5; // skip inf\r\n + return isNegative ? -Infinity : Infinity; + } + return this.#continueDecodeDoubleInteger(isNegative, integer, chunk); + } + #continueDecodeDoubleInteger(isNegative, integer, chunk) { + let cursor = this.#cursor; + do { + const byte = chunk[cursor]; + switch (byte) { + case ASCII['.']: + this.#cursor = cursor + 1; // skip . + return this.#cursor < chunk.length ? + this.#decodeDoubleDecimal(isNegative, 0, integer, chunk) : + this.#decodeDoubleDecimal.bind(this, isNegative, 0, integer); + case ASCII.E: + case ASCII.e: + this.#cursor = cursor + 1; // skip E/e + const i = isNegative ? -integer : integer; + return this.#cursor < chunk.length ? + this.#decodeDoubleExponent(i, chunk) : + this.#decodeDoubleExponent.bind(this, i); + case ASCII['\r']: + this.#cursor = cursor + 2; // skip \r\n + return isNegative ? -integer : integer; + default: + integer = integer * 10 + byte - ASCII['0']; + } + } while (++cursor < chunk.length); + this.#cursor = cursor; + return this.#continueDecodeDoubleInteger.bind(this, isNegative, integer); + } + // Precalculated multipliers for decimal points to improve performance + // "... about 15 to 17 decimal places ..." + // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number#:~:text=about%2015%20to%2017%20decimal%20places + static #DOUBLE_DECIMAL_MULTIPLIERS = [ + 1e-1, 1e-2, 1e-3, 1e-4, 1e-5, 1e-6, + 1e-7, 1e-8, 1e-9, 1e-10, 1e-11, 1e-12, + 1e-13, 1e-14, 1e-15, 1e-16, 1e-17 + ]; + #decodeDoubleDecimal(isNegative, decimalIndex, double, chunk) { + let cursor = this.#cursor; + do { + const byte = chunk[cursor]; + switch (byte) { + case ASCII.E: + case ASCII.e: + this.#cursor = cursor + 1; // skip E/e + const d = isNegative ? -double : double; + return this.#cursor === chunk.length ? + this.#decodeDoubleExponent.bind(this, d) : + this.#decodeDoubleExponent(d, chunk); + case ASCII['\r']: + this.#cursor = cursor + 2; // skip \r\n + return isNegative ? -double : double; + } + if (decimalIndex < _a.#DOUBLE_DECIMAL_MULTIPLIERS.length) { + double += (byte - ASCII['0']) * _a.#DOUBLE_DECIMAL_MULTIPLIERS[decimalIndex++]; + } + } while (++cursor < chunk.length); + this.#cursor = cursor; + return this.#decodeDoubleDecimal.bind(this, isNegative, decimalIndex, double); + } + #decodeDoubleExponent(double, chunk) { + switch (chunk[this.#cursor]) { + case ASCII['+']: + return ++this.#cursor === chunk.length ? + this.#continueDecodeDoubleExponent.bind(this, false, double, 0) : + this.#continueDecodeDoubleExponent(false, double, 0, chunk); + case ASCII['-']: + return ++this.#cursor === chunk.length ? + this.#continueDecodeDoubleExponent.bind(this, true, double, 0) : + this.#continueDecodeDoubleExponent(true, double, 0, chunk); + } + return this.#continueDecodeDoubleExponent(false, double, 0, chunk); + } + #continueDecodeDoubleExponent(isNegative, double, exponent, chunk) { + let cursor = this.#cursor; + do { + const byte = chunk[cursor]; + if (byte === ASCII['\r']) { + this.#cursor = cursor + 2; // skip \r\n + return double * 10 ** (isNegative ? -exponent : exponent); + } + exponent = exponent * 10 + byte - ASCII['0']; + } while (++cursor < chunk.length); + this.#cursor = cursor; + return this.#continueDecodeDoubleExponent.bind(this, isNegative, double, exponent); + } + #findCRLF(chunk, cursor) { + while (chunk[cursor] !== ASCII['\r']) { + if (++cursor === chunk.length) { + this.#cursor = chunk.length; + return -1; + } + } + this.#cursor = cursor + 2; // skip \r\n + return cursor; + } + #decodeSimpleString(type, chunk) { + const start = this.#cursor, crlfIndex = this.#findCRLF(chunk, start); + if (crlfIndex === -1) { + return this.#continueDecodeSimpleString.bind(this, [chunk.subarray(start)], type); + } + const slice = chunk.subarray(start, crlfIndex); + return type === Buffer ? + slice : + slice.toString(); + } + #continueDecodeSimpleString(chunks, type, chunk) { + const start = this.#cursor, crlfIndex = this.#findCRLF(chunk, start); + if (crlfIndex === -1) { + chunks.push(chunk.subarray(start)); + return this.#continueDecodeSimpleString.bind(this, chunks, type); + } + chunks.push(chunk.subarray(start, crlfIndex)); + const buffer = Buffer.concat(chunks); + return type === Buffer ? buffer : buffer.toString(); + } + #decodeBlobString(type, chunk) { + // RESP 2 bulk string null + // https://github.com/redis/redis-specifications/blob/master/protocol/RESP2.md#resp-bulk-strings + if (chunk[this.#cursor] === ASCII['-']) { + this.#cursor += 4; // skip -1\r\n + return null; + } + const length = this.#decodeUnsingedNumber(0, chunk); + if (typeof length === 'function') { + return this.#continueDecodeBlobStringLength.bind(this, length, type); + } + else if (this.#cursor >= chunk.length) { + return this.#decodeBlobStringWithLength.bind(this, length, type); + } + return this.#decodeBlobStringWithLength(length, type, chunk); + } + #continueDecodeBlobStringLength(lengthCb, type, chunk) { + const length = lengthCb(chunk); + if (typeof length === 'function') { + return this.#continueDecodeBlobStringLength.bind(this, length, type); + } + else if (this.#cursor >= chunk.length) { + return this.#decodeBlobStringWithLength.bind(this, length, type); + } + return this.#decodeBlobStringWithLength(length, type, chunk); + } + #decodeStringWithLength(length, skip, type, chunk) { + const end = this.#cursor + length; + if (end >= chunk.length) { + const slice = chunk.subarray(this.#cursor); + this.#cursor = chunk.length; + return this.#continueDecodeStringWithLength.bind(this, length - slice.length, [slice], skip, type); + } + const slice = chunk.subarray(this.#cursor, end); + this.#cursor = end + skip; + return type === Buffer ? + slice : + slice.toString(); + } + #continueDecodeStringWithLength(length, chunks, skip, type, chunk) { + const end = this.#cursor + length; + if (end >= chunk.length) { + const slice = chunk.subarray(this.#cursor); + chunks.push(slice); + this.#cursor = chunk.length; + return this.#continueDecodeStringWithLength.bind(this, length - slice.length, chunks, skip, type); + } + chunks.push(chunk.subarray(this.#cursor, end)); + this.#cursor = end + skip; + const buffer = Buffer.concat(chunks); + return type === Buffer ? buffer : buffer.toString(); + } + #decodeBlobStringWithLength(length, type, chunk) { + return this.#decodeStringWithLength(length, 2, type, chunk); + } + #decodeVerbatimString(type, chunk) { + return this.#continueDecodeVerbatimStringLength(this.#decodeUnsingedNumber.bind(this, 0), type, chunk); + } + #continueDecodeVerbatimStringLength(lengthCb, type, chunk) { + const length = lengthCb(chunk); + return typeof length === 'function' ? + this.#continueDecodeVerbatimStringLength.bind(this, length, type) : + this.#decodeVerbatimStringWithLength(length, type, chunk); + } + #decodeVerbatimStringWithLength(length, type, chunk) { + const stringLength = length - 4; // skip : + if (type === verbatim_string_1.VerbatimString) { + return this.#decodeVerbatimStringFormat(stringLength, chunk); + } + this.#cursor += 4; // skip : + return this.#cursor >= chunk.length ? + this.#decodeBlobStringWithLength.bind(this, stringLength, type) : + this.#decodeBlobStringWithLength(stringLength, type, chunk); + } + #decodeVerbatimStringFormat(stringLength, chunk) { + const formatCb = this.#decodeStringWithLength.bind(this, 3, 1, String); + return this.#cursor >= chunk.length ? + this.#continueDecodeVerbatimStringFormat.bind(this, stringLength, formatCb) : + this.#continueDecodeVerbatimStringFormat(stringLength, formatCb, chunk); + } + #continueDecodeVerbatimStringFormat(stringLength, formatCb, chunk) { + const format = formatCb(chunk); + return typeof format === 'function' ? + this.#continueDecodeVerbatimStringFormat.bind(this, stringLength, format) : + this.#decodeVerbatimStringWithFormat(stringLength, format, chunk); + } + #decodeVerbatimStringWithFormat(stringLength, format, chunk) { + return this.#continueDecodeVerbatimStringWithFormat(format, this.#decodeBlobStringWithLength.bind(this, stringLength, String), chunk); + } + #continueDecodeVerbatimStringWithFormat(format, stringCb, chunk) { + const string = stringCb(chunk); + return typeof string === 'function' ? + this.#continueDecodeVerbatimStringWithFormat.bind(this, format, string) : + new verbatim_string_1.VerbatimString(format, string); + } + #decodeSimpleError(chunk) { + const string = this.#decodeSimpleString(String, chunk); + return typeof string === 'function' ? + this.#continueDecodeSimpleError.bind(this, string) : + new errors_1.SimpleError(string); + } + #continueDecodeSimpleError(stringCb, chunk) { + const string = stringCb(chunk); + return typeof string === 'function' ? + this.#continueDecodeSimpleError.bind(this, string) : + new errors_1.SimpleError(string); + } + #decodeBlobError(chunk) { + const string = this.#decodeBlobString(String, chunk); + return typeof string === 'function' ? + this.#continueDecodeBlobError.bind(this, string) : + new errors_1.BlobError(string); + } + #continueDecodeBlobError(stringCb, chunk) { + const string = stringCb(chunk); + return typeof string === 'function' ? + this.#continueDecodeBlobError.bind(this, string) : + new errors_1.BlobError(string); + } + #decodeNestedType(typeMapping, chunk) { + const type = chunk[this.#cursor]; + return ++this.#cursor === chunk.length ? + this.#decodeNestedTypeValue.bind(this, type, typeMapping) : + this.#decodeNestedTypeValue(type, typeMapping, chunk); + } + #decodeNestedTypeValue(type, typeMapping, chunk) { + switch (type) { + case exports.RESP_TYPES.NULL: + return this.#decodeNull(); + case exports.RESP_TYPES.BOOLEAN: + return this.#decodeBoolean(chunk); + case exports.RESP_TYPES.NUMBER: + return this.#decodeNumber(typeMapping[exports.RESP_TYPES.NUMBER], chunk); + case exports.RESP_TYPES.BIG_NUMBER: + return this.#decodeBigNumber(typeMapping[exports.RESP_TYPES.BIG_NUMBER], chunk); + case exports.RESP_TYPES.DOUBLE: + return this.#decodeDouble(typeMapping[exports.RESP_TYPES.DOUBLE], chunk); + case exports.RESP_TYPES.SIMPLE_STRING: + return this.#decodeSimpleString(typeMapping[exports.RESP_TYPES.SIMPLE_STRING], chunk); + case exports.RESP_TYPES.BLOB_STRING: + return this.#decodeBlobString(typeMapping[exports.RESP_TYPES.BLOB_STRING], chunk); + case exports.RESP_TYPES.VERBATIM_STRING: + return this.#decodeVerbatimString(typeMapping[exports.RESP_TYPES.VERBATIM_STRING], chunk); + case exports.RESP_TYPES.SIMPLE_ERROR: + return this.#decodeSimpleError(chunk); + case exports.RESP_TYPES.BLOB_ERROR: + return this.#decodeBlobError(chunk); + case exports.RESP_TYPES.ARRAY: + return this.#decodeArray(typeMapping, chunk); + case exports.RESP_TYPES.SET: + return this.#decodeSet(typeMapping, chunk); + case exports.RESP_TYPES.MAP: + return this.#decodeMap(typeMapping, chunk); + default: + throw new Error(`Unknown RESP type ${type} "${String.fromCharCode(type)}"`); + } + } + #decodeArray(typeMapping, chunk) { + // RESP 2 null + // https://github.com/redis/redis-specifications/blob/master/protocol/RESP2.md#resp-arrays + if (chunk[this.#cursor] === ASCII['-']) { + this.#cursor += 4; // skip -1\r\n + return null; + } + return this.#decodeArrayWithLength(this.#decodeUnsingedNumber(0, chunk), typeMapping, chunk); + } + #decodeArrayWithLength(length, typeMapping, chunk) { + return typeof length === 'function' ? + this.#continueDecodeArrayLength.bind(this, length, typeMapping) : + this.#decodeArrayItems(new Array(length), 0, typeMapping, chunk); + } + #continueDecodeArrayLength(lengthCb, typeMapping, chunk) { + return this.#decodeArrayWithLength(lengthCb(chunk), typeMapping, chunk); + } + #decodeArrayItems(array, filled, typeMapping, chunk) { + for (let i = filled; i < array.length; i++) { + if (this.#cursor >= chunk.length) { + return this.#decodeArrayItems.bind(this, array, i, typeMapping); + } + const item = this.#decodeNestedType(typeMapping, chunk); + if (typeof item === 'function') { + return this.#continueDecodeArrayItems.bind(this, array, i, item, typeMapping); + } + array[i] = item; + } + return array; + } + #continueDecodeArrayItems(array, filled, itemCb, typeMapping, chunk) { + const item = itemCb(chunk); + if (typeof item === 'function') { + return this.#continueDecodeArrayItems.bind(this, array, filled, item, typeMapping); + } + array[filled++] = item; + return this.#decodeArrayItems(array, filled, typeMapping, chunk); + } + #decodeSet(typeMapping, chunk) { + const length = this.#decodeUnsingedNumber(0, chunk); + if (typeof length === 'function') { + return this.#continueDecodeSetLength.bind(this, length, typeMapping); + } + return this.#decodeSetItems(length, typeMapping, chunk); + } + #continueDecodeSetLength(lengthCb, typeMapping, chunk) { + const length = lengthCb(chunk); + return typeof length === 'function' ? + this.#continueDecodeSetLength.bind(this, length, typeMapping) : + this.#decodeSetItems(length, typeMapping, chunk); + } + #decodeSetItems(length, typeMapping, chunk) { + return typeMapping[exports.RESP_TYPES.SET] === Set ? + this.#decodeSetAsSet(new Set(), length, typeMapping, chunk) : + this.#decodeArrayItems(new Array(length), 0, typeMapping, chunk); + } + #decodeSetAsSet(set, remaining, typeMapping, chunk) { + // using `remaining` instead of `length` & `set.size` to make it work even if the set contains duplicates + while (remaining > 0) { + if (this.#cursor >= chunk.length) { + return this.#decodeSetAsSet.bind(this, set, remaining, typeMapping); + } + const item = this.#decodeNestedType(typeMapping, chunk); + if (typeof item === 'function') { + return this.#continueDecodeSetAsSet.bind(this, set, remaining, item, typeMapping); + } + set.add(item); + --remaining; + } + return set; + } + #continueDecodeSetAsSet(set, remaining, itemCb, typeMapping, chunk) { + const item = itemCb(chunk); + if (typeof item === 'function') { + return this.#continueDecodeSetAsSet.bind(this, set, remaining, item, typeMapping); + } + set.add(item); + return this.#decodeSetAsSet(set, remaining - 1, typeMapping, chunk); + } + #decodeMap(typeMapping, chunk) { + const length = this.#decodeUnsingedNumber(0, chunk); + if (typeof length === 'function') { + return this.#continueDecodeMapLength.bind(this, length, typeMapping); + } + return this.#decodeMapItems(length, typeMapping, chunk); + } + #continueDecodeMapLength(lengthCb, typeMapping, chunk) { + const length = lengthCb(chunk); + return typeof length === 'function' ? + this.#continueDecodeMapLength.bind(this, length, typeMapping) : + this.#decodeMapItems(length, typeMapping, chunk); + } + #decodeMapItems(length, typeMapping, chunk) { + switch (typeMapping[exports.RESP_TYPES.MAP]) { + case Map: + return this.#decodeMapAsMap(new Map(), length, typeMapping, chunk); + case Array: + return this.#decodeArrayItems(new Array(length * 2), 0, typeMapping, chunk); + default: + return this.#decodeMapAsObject(Object.create(null), length, typeMapping, chunk); + } + } + #decodeMapAsMap(map, remaining, typeMapping, chunk) { + // using `remaining` instead of `length` & `map.size` to make it work even if the map contains duplicate keys + while (remaining > 0) { + if (this.#cursor >= chunk.length) { + return this.#decodeMapAsMap.bind(this, map, remaining, typeMapping); + } + const key = this.#decodeMapKey(typeMapping, chunk); + if (typeof key === 'function') { + return this.#continueDecodeMapKey.bind(this, map, remaining, key, typeMapping); + } + if (this.#cursor >= chunk.length) { + return this.#continueDecodeMapValue.bind(this, map, remaining, key, this.#decodeNestedType.bind(this, typeMapping), typeMapping); + } + const value = this.#decodeNestedType(typeMapping, chunk); + if (typeof value === 'function') { + return this.#continueDecodeMapValue.bind(this, map, remaining, key, value, typeMapping); + } + map.set(key, value); + --remaining; + } + return map; + } + #decodeMapKey(typeMapping, chunk) { + const type = chunk[this.#cursor]; + return ++this.#cursor === chunk.length ? + this.#decodeMapKeyValue.bind(this, type, typeMapping) : + this.#decodeMapKeyValue(type, typeMapping, chunk); + } + #decodeMapKeyValue(type, typeMapping, chunk) { + switch (type) { + // decode simple string map key as string (and not as buffer) + case exports.RESP_TYPES.SIMPLE_STRING: + return this.#decodeSimpleString(String, chunk); + // decode blob string map key as string (and not as buffer) + case exports.RESP_TYPES.BLOB_STRING: + return this.#decodeBlobString(String, chunk); + default: + return this.#decodeNestedTypeValue(type, typeMapping, chunk); + } + } + #continueDecodeMapKey(map, remaining, keyCb, typeMapping, chunk) { + const key = keyCb(chunk); + if (typeof key === 'function') { + return this.#continueDecodeMapKey.bind(this, map, remaining, key, typeMapping); + } + if (this.#cursor >= chunk.length) { + return this.#continueDecodeMapValue.bind(this, map, remaining, key, this.#decodeNestedType.bind(this, typeMapping), typeMapping); + } + const value = this.#decodeNestedType(typeMapping, chunk); + if (typeof value === 'function') { + return this.#continueDecodeMapValue.bind(this, map, remaining, key, value, typeMapping); + } + map.set(key, value); + return this.#decodeMapAsMap(map, remaining - 1, typeMapping, chunk); + } + #continueDecodeMapValue(map, remaining, key, valueCb, typeMapping, chunk) { + const value = valueCb(chunk); + if (typeof value === 'function') { + return this.#continueDecodeMapValue.bind(this, map, remaining, key, value, typeMapping); + } + map.set(key, value); + return this.#decodeMapAsMap(map, remaining - 1, typeMapping, chunk); + } + #decodeMapAsObject(object, remaining, typeMapping, chunk) { + while (remaining > 0) { + if (this.#cursor >= chunk.length) { + return this.#decodeMapAsObject.bind(this, object, remaining, typeMapping); + } + const key = this.#decodeMapKey(typeMapping, chunk); + if (typeof key === 'function') { + return this.#continueDecodeMapAsObjectKey.bind(this, object, remaining, key, typeMapping); + } + if (this.#cursor >= chunk.length) { + return this.#continueDecodeMapAsObjectValue.bind(this, object, remaining, key, this.#decodeNestedType.bind(this, typeMapping), typeMapping); + } + const value = this.#decodeNestedType(typeMapping, chunk); + if (typeof value === 'function') { + return this.#continueDecodeMapAsObjectValue.bind(this, object, remaining, key, value, typeMapping); + } + object[key] = value; + --remaining; + } + return object; + } + #continueDecodeMapAsObjectKey(object, remaining, keyCb, typeMapping, chunk) { + const key = keyCb(chunk); + if (typeof key === 'function') { + return this.#continueDecodeMapAsObjectKey.bind(this, object, remaining, key, typeMapping); + } + if (this.#cursor >= chunk.length) { + return this.#continueDecodeMapAsObjectValue.bind(this, object, remaining, key, this.#decodeNestedType.bind(this, typeMapping), typeMapping); + } + const value = this.#decodeNestedType(typeMapping, chunk); + if (typeof value === 'function') { + return this.#continueDecodeMapAsObjectValue.bind(this, object, remaining, key, value, typeMapping); + } + object[key] = value; + return this.#decodeMapAsObject(object, remaining - 1, typeMapping, chunk); + } + #continueDecodeMapAsObjectValue(object, remaining, key, valueCb, typeMapping, chunk) { + const value = valueCb(chunk); + if (typeof value === 'function') { + return this.#continueDecodeMapAsObjectValue.bind(this, object, remaining, key, value, typeMapping); + } + object[key] = value; + return this.#decodeMapAsObject(object, remaining - 1, typeMapping, chunk); + } +} +exports.Decoder = Decoder; +_a = Decoder; +//# sourceMappingURL=decoder.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/RESP/decoder.js.map b/back/node_modules/@redis/client/dist/lib/RESP/decoder.js.map new file mode 100644 index 0000000..e894448 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/RESP/decoder.js.map @@ -0,0 +1 @@ +{"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../../lib/RESP/decoder.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/RESP/encoder.d.ts b/back/node_modules/@redis/client/dist/lib/RESP/encoder.d.ts new file mode 100644 index 0000000..dc8cbb5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/RESP/encoder.d.ts @@ -0,0 +1,3 @@ +import { RedisArgument } from './types'; +export default function encodeCommand(args: ReadonlyArray): ReadonlyArray; +//# sourceMappingURL=encoder.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/RESP/encoder.d.ts.map b/back/node_modules/@redis/client/dist/lib/RESP/encoder.d.ts.map new file mode 100644 index 0000000..2327aa3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/RESP/encoder.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../../lib/RESP/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAIxC,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC,aAAa,CAAC,CAuBtG"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/RESP/encoder.js b/back/node_modules/@redis/client/dist/lib/RESP/encoder.js new file mode 100644 index 0000000..50b021e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/RESP/encoder.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const CRLF = '\r\n'; +function encodeCommand(args) { + const toWrite = []; + let strings = '*' + args.length + CRLF; + for (let i = 0; i < args.length; i++) { + const arg = args[i]; + if (typeof arg === 'string') { + strings += '$' + Buffer.byteLength(arg) + CRLF + arg + CRLF; + } + else if (arg instanceof Buffer) { + toWrite.push(strings + '$' + arg.length.toString() + CRLF, arg); + strings = CRLF; + } + else { + throw new TypeError(`"arguments[${i}]" must be of type "string | Buffer", got ${typeof arg} instead.`); + } + } + toWrite.push(strings); + return toWrite; +} +exports.default = encodeCommand; +//# sourceMappingURL=encoder.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/RESP/encoder.js.map b/back/node_modules/@redis/client/dist/lib/RESP/encoder.js.map new file mode 100644 index 0000000..40e8aef --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/RESP/encoder.js.map @@ -0,0 +1 @@ +{"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../../lib/RESP/encoder.ts"],"names":[],"mappings":";;AAEA,MAAM,IAAI,GAAG,MAAM,CAAC;AAEpB,SAAwB,aAAa,CAAC,IAAkC;IACtE,MAAM,OAAO,GAAyB,EAAE,CAAC;IAEzC,IAAI,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,IAAI,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;QAC9D,CAAC;aAAM,IAAI,GAAG,YAAY,MAAM,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CACV,OAAO,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,IAAI,EAC5C,GAAG,CACJ,CAAC;YACF,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,SAAS,CAAC,cAAc,CAAC,6CAA6C,OAAO,GAAG,WAAW,CAAC,CAAC;QACzG,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEtB,OAAO,OAAO,CAAC;AACjB,CAAC;AAvBD,gCAuBC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/RESP/types.d.ts b/back/node_modules/@redis/client/dist/lib/RESP/types.d.ts new file mode 100644 index 0000000..a1eac4e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/RESP/types.d.ts @@ -0,0 +1,128 @@ +/// +import { CommandParser } from '../client/parser'; +import { Tail } from '../commands/generic-transformers'; +import { BlobError, SimpleError } from '../errors'; +import { RedisScriptConfig, SHA1 } from '../lua-script'; +import { RESP_TYPES } from './decoder'; +import { VerbatimString } from './verbatim-string'; +export type RESP_TYPES = typeof RESP_TYPES; +export type RespTypes = RESP_TYPES[keyof RESP_TYPES]; +export interface RespType { + RESP_TYPE: RESP_TYPE; + DEFAULT: DEFAULT; + TYPES: TYPES; + TYPE_MAPPING: MappedType; +} +export interface NullReply extends RespType { +} +export interface BooleanReply extends RespType { +} +export interface NumberReply extends RespType { +} +export interface BigNumberReply extends RespType { +} +export interface DoubleReply extends RespType { +} +export interface SimpleStringReply extends RespType { +} +export interface BlobStringReply extends RespType { + toString(): string; +} +export interface VerbatimStringReply extends RespType { +} +export interface SimpleErrorReply extends RespType { +} +export interface BlobErrorReply extends RespType { +} +export interface ArrayReply extends RespType, never, Array> { +} +export interface TuplesReply]> extends RespType> { +} +export interface SetReply extends RespType, Set, Array | Set> { +} +export interface MapReply extends RespType | Array, Map | Array> { +} +type MapKeyValue = [key: BlobStringReply | SimpleStringReply, value: unknown]; +type MapTuples = Array; +type ExtractMapKey = (T extends BlobStringReply ? S : T extends SimpleStringReply ? S : never); +export interface TuplesToMapReply extends RespType]: P[1]; +}, Map, T[number][1]> | FlattenTuples> { +} +type FlattenTuples = (T extends [] ? [] : T extends [MapKeyValue] ? T[0] : T extends [MapKeyValue, ...infer R] ? [ + ...T[0], + ...FlattenTuples +] : never); +export type ReplyUnion = (NullReply | BooleanReply | NumberReply | BigNumberReply | DoubleReply | SimpleStringReply | BlobStringReply | VerbatimStringReply | SimpleErrorReply | BlobErrorReply | ArrayReply | SetReply | MapReply); +export type MappedType = ((...args: any) => T) | (new (...args: any) => T); +type InferTypeMapping = T extends RespType ? FLAG_TYPES : never; +export type TypeMapping = { + [P in RespTypes]?: MappedType>>>; +}; +type MapKey = ReplyWithTypeMapping; +type UnwrapConstructor = T extends StringConstructor ? string : T extends NumberConstructor ? number : T extends BooleanConstructor ? boolean : T extends BigIntConstructor ? bigint : T; +export type UnwrapReply> = REPLY['DEFAULT' | 'TYPES']; +export type ReplyWithTypeMapping = (REPLY extends RespType ? TYPE_MAPPING[RESP_TYPE] extends MappedType ? ReplyWithTypeMapping>, TYPE_MAPPING> : ReplyWithTypeMapping : (REPLY extends Array ? Array> : REPLY extends Set ? Set> : REPLY extends Map ? Map, ReplyWithTypeMapping> : REPLY extends Date | Buffer | Error ? REPLY : REPLY extends Record ? { + [P in keyof REPLY]: ReplyWithTypeMapping; +} : REPLY)); +export type TransformReply = (this: void, reply: any, preserve?: any, typeMapping?: TypeMapping) => any; +export type RedisArgument = string | Buffer; +export type CommandArguments = Array & { + preserve?: unknown; +}; +export type Command = { + CACHEABLE?: boolean; + IS_READ_ONLY?: boolean; + /** + * @internal + * TODO: remove once `POLICIES` is implemented + */ + IS_FORWARD_COMMAND?: boolean; + NOT_KEYED_COMMAND?: true; + parseCommand(this: void, parser: CommandParser, ...args: Array): void; + TRANSFORM_LEGACY_REPLY?: boolean; + transformReply: TransformReply | Record; + unstableResp3?: boolean; +}; +export type RedisCommands = Record; +export type RedisModules = Record; +export interface RedisFunction extends Command { + NUMBER_OF_KEYS?: number; +} +export type RedisFunctions = Record>; +export type RedisScript = RedisScriptConfig & SHA1; +export type RedisScripts = Record; +export interface CommanderConfig { + modules?: M; + functions?: F; + scripts?: S; + /** + * Specifies the Redis Serialization Protocol version to use. + * RESP2 is the default (value 2), while RESP3 (value 3) provides + * additional data types and features introduced in Redis 6.0. + */ + RESP?: RESP; + /** + * When set to true, enables commands that have unstable RESP3 implementations. + * When using RESP3 protocol, commands marked as having unstable RESP3 support + * will throw an error unless this flag is explicitly set to true. + * This primarily affects modules like Redis Search where response formats + * in RESP3 mode may change in future versions. + */ + unstableResp3?: boolean; +} +type Resp2Array = (T extends [] ? [] : T extends [infer ITEM] ? [Resp2Reply] : T extends [infer ITEM, ...infer REST] ? [ + Resp2Reply, + ...Resp2Array +] : T extends Array ? Array> : never); +export type Resp2Reply = (RESP3REPLY extends RespType ? RESP_TYPE extends RESP_TYPES['DOUBLE'] ? BlobStringReply : RESP_TYPE extends RESP_TYPES['ARRAY'] | RESP_TYPES['SET'] ? RespType> : RESP_TYPE extends RESP_TYPES['MAP'] ? RespType>>> : RESP3REPLY : RESP3REPLY); +export type RespVersions = 2 | 3; +export type CommandReply = (COMMAND['transformReply'] extends (...args: any) => infer T ? T : COMMAND['transformReply'] extends Record infer T> ? T : ReplyUnion); +export type CommandSignature = (...args: Tail>) => Promise, TYPE_MAPPING>>; +export {}; +//# sourceMappingURL=types.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/RESP/types.d.ts.map b/back/node_modules/@redis/client/dist/lib/RESP/types.d.ts.map new file mode 100644 index 0000000..0f55c56 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/RESP/types.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/RESP/types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/RESP/types.js b/back/node_modules/@redis/client/dist/lib/RESP/types.js new file mode 100644 index 0000000..1aacc0d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/RESP/types.js @@ -0,0 +1,31 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const decoder_1 = require("./decoder"); +// export type CommandWithPoliciesSignature< +// COMMAND extends Command, +// RESP extends RespVersions, +// TYPE_MAPPING extends TypeMapping, +// POLICIES extends CommandPolicies +// > = (...args: Parameters) => Promise< +// ReplyWithPolicy< +// ReplyWithTypeMapping, TYPE_MAPPING>, +// MergePolicies +// > +// >; +// export type MergePolicies< +// COMMAND extends Command, +// POLICIES extends CommandPolicies +// > = Omit & POLICIES; +// type ReplyWithPolicy< +// REPLY, +// POLICIES extends CommandPolicies, +// > = ( +// POLICIES['request'] extends REQUEST_POLICIES['SPECIAL'] ? never : +// POLICIES['request'] extends null | undefined ? REPLY : +// unknown extends POLICIES['request'] ? REPLY : +// POLICIES['response'] extends RESPONSE_POLICIES['SPECIAL'] ? never : +// POLICIES['response'] extends RESPONSE_POLICIES['ALL_SUCCEEDED' | 'ONE_SUCCEEDED' | 'LOGICAL_AND'] ? REPLY : +// // otherwise, return array of replies +// Array +// ); +//# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/RESP/types.js.map b/back/node_modules/@redis/client/dist/lib/RESP/types.js.map new file mode 100644 index 0000000..466f050 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/RESP/types.js.map @@ -0,0 +1 @@ +{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../lib/RESP/types.ts"],"names":[],"mappings":";;AAIA,uCAAuC;AA4XvC,4CAA4C;AAC5C,6BAA6B;AAC7B,+BAA+B;AAC/B,sCAAsC;AACtC,qCAAqC;AACrC,uEAAuE;AACvE,qBAAqB;AACrB,uEAAuE;AACvE,uCAAuC;AACvC,MAAM;AACN,KAAK;AAEL,6BAA6B;AAC7B,6BAA6B;AAC7B,qCAAqC;AACrC,4DAA4D;AAE5D,wBAAwB;AACxB,WAAW;AACX,sCAAsC;AACtC,QAAQ;AACR,sEAAsE;AACtE,2DAA2D;AAC3D,kDAAkD;AAClD,wEAAwE;AACxE,gHAAgH;AAChH,0CAA0C;AAC1C,iBAAiB;AACjB,KAAK"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/RESP/verbatim-string.d.ts b/back/node_modules/@redis/client/dist/lib/RESP/verbatim-string.d.ts new file mode 100644 index 0000000..40b3fba --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/RESP/verbatim-string.d.ts @@ -0,0 +1,5 @@ +export declare class VerbatimString extends String { + format: string; + constructor(format: string, value: string); +} +//# sourceMappingURL=verbatim-string.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/RESP/verbatim-string.d.ts.map b/back/node_modules/@redis/client/dist/lib/RESP/verbatim-string.d.ts.map new file mode 100644 index 0000000..2c568ff --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/RESP/verbatim-string.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"verbatim-string.d.ts","sourceRoot":"","sources":["../../../lib/RESP/verbatim-string.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAe,SAAQ,MAAM;IAE/B,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM;CAIhB"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/RESP/verbatim-string.js b/back/node_modules/@redis/client/dist/lib/RESP/verbatim-string.js new file mode 100644 index 0000000..acd7d82 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/RESP/verbatim-string.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.VerbatimString = void 0; +class VerbatimString extends String { + format; + constructor(format, value) { + super(value); + this.format = format; + } +} +exports.VerbatimString = VerbatimString; +//# sourceMappingURL=verbatim-string.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/RESP/verbatim-string.js.map b/back/node_modules/@redis/client/dist/lib/RESP/verbatim-string.js.map new file mode 100644 index 0000000..5fb8e3b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/RESP/verbatim-string.js.map @@ -0,0 +1 @@ +{"version":3,"file":"verbatim-string.js","sourceRoot":"","sources":["../../../lib/RESP/verbatim-string.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAe,SAAQ,MAAM;IAE/B;IADT,YACS,MAAc,EACrB,KAAa;QAEb,KAAK,CAAC,KAAK,CAAC,CAAC;QAHN,WAAM,GAAN,MAAM,CAAQ;IAIvB,CAAC;CACF;AAPD,wCAOC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/authx/credentials-provider.d.ts b/back/node_modules/@redis/client/dist/lib/authx/credentials-provider.d.ts new file mode 100644 index 0000000..7fd2a6b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/authx/credentials-provider.d.ts @@ -0,0 +1,88 @@ +import { Disposable } from './disposable'; +/** + * Provides credentials asynchronously. + */ +export interface AsyncCredentialsProvider { + readonly type: 'async-credentials-provider'; + credentials: () => Promise; +} +/** + * Provides credentials asynchronously with support for continuous updates via a subscription model. + * This is useful for environments where credentials are frequently rotated or updated or can be revoked. + */ +export interface StreamingCredentialsProvider { + readonly type: 'streaming-credentials-provider'; + /** + * Provides initial credentials and subscribes to subsequent updates. This is used internally by the node-redis client + * to handle credential rotation and re-authentication. + * + * Note: The node-redis client manages the subscription lifecycle automatically. Users only need to implement + * onReAuthenticationError if they want to be notified about authentication failures. + * + * Error handling: + * - Errors received via onError indicate a fatal issue with the credentials stream + * - The stream is automatically closed(disposed) when onError occurs + * - onError typically mean the provider failed to fetch new credentials after retrying + * + * @example + * ```ts + * const provider = getStreamingProvider(); + * const [initialCredentials, disposable] = await provider.subscribe({ + * onNext: (newCredentials) => { + * // Handle credential update + * }, + * onError: (error) => { + * // Handle fatal stream error + * } + * }); + * + * @param listener - Callbacks to handle credential updates and errors + * @returns A Promise resolving to [initial credentials, cleanup function] + */ + subscribe: (listener: StreamingCredentialsListener) => Promise<[BasicAuth, Disposable]>; + /** + * Called when authentication fails or credentials cannot be renewed in time. + * Implement this to handle authentication errors in your application. + * + * @param error - Either a CredentialsError (invalid/expired credentials) or + * UnableToObtainNewCredentialsError (failed to fetch new credentials on time) + */ + onReAuthenticationError: (error: ReAuthenticationError) => void; +} +/** + * Type representing basic authentication credentials. + */ +export type BasicAuth = { + username?: string; + password?: string; +}; +/** + * Callback to handle credential updates and errors. + */ +export type StreamingCredentialsListener = { + onNext: (credentials: T) => void; + onError: (e: Error) => void; +}; +/** + * Providers that can supply authentication credentials + */ +export type CredentialsProvider = AsyncCredentialsProvider | StreamingCredentialsProvider; +/** + * Errors that can occur during re-authentication. + */ +export type ReAuthenticationError = CredentialsError | UnableToObtainNewCredentialsError; +/** + * Thrown when re-authentication fails with provided credentials . + * e.g. when the credentials are invalid, expired or revoked. + * + */ +export declare class CredentialsError extends Error { + constructor(message: string); +} +/** + * Thrown when new credentials cannot be obtained before current ones expire + */ +export declare class UnableToObtainNewCredentialsError extends Error { + constructor(message: string); +} +//# sourceMappingURL=credentials-provider.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/authx/credentials-provider.d.ts.map b/back/node_modules/@redis/client/dist/lib/authx/credentials-provider.d.ts.map new file mode 100644 index 0000000..0db7b1e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/authx/credentials-provider.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"credentials-provider.d.ts","sourceRoot":"","sources":["../../../lib/authx/credentials-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC;IAC5C,WAAW,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,CAAA;CACtC;AAED;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,IAAI,EAAE,gCAAgC,CAAC;IAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,SAAS,EAAE,CAAC,QAAQ,EAAE,4BAA4B,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAA;IAElG;;;;;;OAMG;IACH,uBAAuB,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;CAEjE;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEhE;;GAEG;AACH,MAAM,MAAM,4BAA4B,CAAC,CAAC,IAAI;IAC5C,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;CAC7B,CAAA;AAGD;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,wBAAwB,GAAG,4BAA4B,CAAA;AAEzF;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,GAAG,iCAAiC,CAAA;AAExF;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAK5B;AAED;;GAEG;AACH,qBAAa,iCAAkC,SAAQ,KAAK;gBAC9C,OAAO,EAAE,MAAM;CAI5B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/authx/credentials-provider.js b/back/node_modules/@redis/client/dist/lib/authx/credentials-provider.js new file mode 100644 index 0000000..56bb07a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/authx/credentials-provider.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.UnableToObtainNewCredentialsError = exports.CredentialsError = void 0; +/** + * Thrown when re-authentication fails with provided credentials . + * e.g. when the credentials are invalid, expired or revoked. + * + */ +class CredentialsError extends Error { + constructor(message) { + super(`Re-authentication with latest credentials failed: ${message}`); + this.name = 'CredentialsError'; + } +} +exports.CredentialsError = CredentialsError; +/** + * Thrown when new credentials cannot be obtained before current ones expire + */ +class UnableToObtainNewCredentialsError extends Error { + constructor(message) { + super(`Unable to obtain new credentials : ${message}`); + this.name = 'UnableToObtainNewCredentialsError'; + } +} +exports.UnableToObtainNewCredentialsError = UnableToObtainNewCredentialsError; +//# sourceMappingURL=credentials-provider.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/authx/credentials-provider.js.map b/back/node_modules/@redis/client/dist/lib/authx/credentials-provider.js.map new file mode 100644 index 0000000..9436ca6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/authx/credentials-provider.js.map @@ -0,0 +1 @@ +{"version":3,"file":"credentials-provider.js","sourceRoot":"","sources":["../../../lib/authx/credentials-provider.ts"],"names":[],"mappings":";;;AAgFA;;;;GAIG;AACH,MAAa,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,qDAAqD,OAAO,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CAEF;AAND,4CAMC;AAED;;GAEG;AACH,MAAa,iCAAkC,SAAQ,KAAK;IAC1D,YAAY,OAAe;QACzB,KAAK,CAAC,sCAAsC,OAAO,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,mCAAmC,CAAC;IAClD,CAAC;CACF;AALD,8EAKC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/authx/disposable.d.ts b/back/node_modules/@redis/client/dist/lib/authx/disposable.d.ts new file mode 100644 index 0000000..d5b5065 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/authx/disposable.d.ts @@ -0,0 +1,7 @@ +/** + * Represents a resource that can be disposed. + */ +export interface Disposable { + dispose(): void; +} +//# sourceMappingURL=disposable.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/authx/disposable.d.ts.map b/back/node_modules/@redis/client/dist/lib/authx/disposable.d.ts.map new file mode 100644 index 0000000..fc2b190 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/authx/disposable.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"disposable.d.ts","sourceRoot":"","sources":["../../../lib/authx/disposable.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,IAAI,IAAI,CAAC;CACjB"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/authx/disposable.js b/back/node_modules/@redis/client/dist/lib/authx/disposable.js new file mode 100644 index 0000000..78570c9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/authx/disposable.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=disposable.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/authx/disposable.js.map b/back/node_modules/@redis/client/dist/lib/authx/disposable.js.map new file mode 100644 index 0000000..461c41a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/authx/disposable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"disposable.js","sourceRoot":"","sources":["../../../lib/authx/disposable.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/authx/identity-provider.d.ts b/back/node_modules/@redis/client/dist/lib/authx/identity-provider.d.ts new file mode 100644 index 0000000..6fc9991 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/authx/identity-provider.d.ts @@ -0,0 +1,24 @@ +/** + * An identity provider is responsible for providing a token that can be used to authenticate with a service. + */ +/** + * The response from an identity provider when requesting a token. + * + * note: "native" refers to the type of the token that the actual identity provider library is using. + * + * @type T The type of the native idp token. + * @property token The token. + * @property ttlMs The time-to-live of the token in epoch milliseconds extracted from the native token in local time. + */ +export type TokenResponse = { + token: T; + ttlMs: number; +}; +export interface IdentityProvider { + /** + * Request a token from the identity provider. + * @returns A promise that resolves to an object containing the token and the time-to-live in epoch milliseconds. + */ + requestToken(): Promise>; +} +//# sourceMappingURL=identity-provider.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/authx/identity-provider.d.ts.map b/back/node_modules/@redis/client/dist/lib/authx/identity-provider.d.ts.map new file mode 100644 index 0000000..8808633 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/authx/identity-provider.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"identity-provider.d.ts","sourceRoot":"","sources":["../../../lib/authx/identity-provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;IAAE,KAAK,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC;;;OAGG;IACH,YAAY,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3C"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/authx/identity-provider.js b/back/node_modules/@redis/client/dist/lib/authx/identity-provider.js new file mode 100644 index 0000000..c027603 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/authx/identity-provider.js @@ -0,0 +1,6 @@ +"use strict"; +/** + * An identity provider is responsible for providing a token that can be used to authenticate with a service. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=identity-provider.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/authx/identity-provider.js.map b/back/node_modules/@redis/client/dist/lib/authx/identity-provider.js.map new file mode 100644 index 0000000..167df12 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/authx/identity-provider.js.map @@ -0,0 +1 @@ +{"version":3,"file":"identity-provider.js","sourceRoot":"","sources":["../../../lib/authx/identity-provider.ts"],"names":[],"mappings":";AAAA;;GAEG"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/authx/index.d.ts b/back/node_modules/@redis/client/dist/lib/authx/index.d.ts new file mode 100644 index 0000000..11ec52e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/authx/index.d.ts @@ -0,0 +1,6 @@ +export { TokenManager, TokenManagerConfig, TokenStreamListener, RetryPolicy, IDPError } from './token-manager'; +export { CredentialsProvider, StreamingCredentialsProvider, UnableToObtainNewCredentialsError, CredentialsError, StreamingCredentialsListener, AsyncCredentialsProvider, ReAuthenticationError, BasicAuth } from './credentials-provider'; +export { Token } from './token'; +export { IdentityProvider, TokenResponse } from './identity-provider'; +export { Disposable } from './disposable'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/authx/index.d.ts.map b/back/node_modules/@redis/client/dist/lib/authx/index.d.ts.map new file mode 100644 index 0000000..04ffff6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/authx/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/authx/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC/G,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,iCAAiC,EACjC,gBAAgB,EAChB,4BAA4B,EAC5B,wBAAwB,EACxB,qBAAqB,EACrB,SAAS,EACV,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEtE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/authx/index.js b/back/node_modules/@redis/client/dist/lib/authx/index.js new file mode 100644 index 0000000..dda4197 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/authx/index.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Token = exports.CredentialsError = exports.UnableToObtainNewCredentialsError = exports.IDPError = exports.TokenManager = void 0; +var token_manager_1 = require("./token-manager"); +Object.defineProperty(exports, "TokenManager", { enumerable: true, get: function () { return token_manager_1.TokenManager; } }); +Object.defineProperty(exports, "IDPError", { enumerable: true, get: function () { return token_manager_1.IDPError; } }); +var credentials_provider_1 = require("./credentials-provider"); +Object.defineProperty(exports, "UnableToObtainNewCredentialsError", { enumerable: true, get: function () { return credentials_provider_1.UnableToObtainNewCredentialsError; } }); +Object.defineProperty(exports, "CredentialsError", { enumerable: true, get: function () { return credentials_provider_1.CredentialsError; } }); +var token_1 = require("./token"); +Object.defineProperty(exports, "Token", { enumerable: true, get: function () { return token_1.Token; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/authx/index.js.map b/back/node_modules/@redis/client/dist/lib/authx/index.js.map new file mode 100644 index 0000000..3d5a46b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/authx/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/authx/index.ts"],"names":[],"mappings":";;;AAAA,iDAA+G;AAAtG,6GAAA,YAAY,OAAA;AAAwD,yGAAA,QAAQ,OAAA;AACrF,+DASgC;AAN9B,yIAAA,iCAAiC,OAAA;AACjC,wHAAA,gBAAgB,OAAA;AAMlB,iCAAgC;AAAvB,8FAAA,KAAK,OAAA"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/authx/token-manager.d.ts b/back/node_modules/@redis/client/dist/lib/authx/token-manager.d.ts new file mode 100644 index 0000000..e034544 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/authx/token-manager.d.ts @@ -0,0 +1,165 @@ +import { IdentityProvider } from './identity-provider'; +import { Token } from './token'; +import { Disposable } from './disposable'; +/** + * The configuration for retrying token refreshes. + */ +export interface RetryPolicy { + /** + * The maximum number of attempts to retry token refreshes. + */ + maxAttempts: number; + /** + * The initial delay in milliseconds before the first retry. + */ + initialDelayMs: number; + /** + * The maximum delay in milliseconds between retries. + * The calculated delay will be capped at this value. + */ + maxDelayMs: number; + /** + * The multiplier for exponential backoff between retries. + * @example + * A value of 2 will double the delay each time: + * - 1st retry: initialDelayMs + * - 2nd retry: initialDelayMs * 2 + * - 3rd retry: initialDelayMs * 4 + */ + backoffMultiplier: number; + /** + * The percentage range of jitter to apply to the delay. + * The jitter will be evenly distributed between -jitterPercentage/2 and +jitterPercentage/2. + * @example + * A value of 10 will add or subtract up to 5% of the delay (ranging from 95% to 105% of the original delay). + */ + jitterPercentage?: number; + /** + * Function to classify errors from the identity provider as retryable or non-retryable. + * Used to determine if a token refresh failure should be retried based on the type of error. + * + * The default behavior is to retry all types of errors if no function is provided. + * + * Common use cases: + * - Network errors that may be transient (should retry) + * - Invalid credentials (should not retry) + * - Rate limiting responses (should retry) + * + * @param error - The error from the identity provider3 + * @param attempt - Current retry attempt (0-based) + * @returns `true` if the error is considered transient and the operation should be retried + * + * @example + * ```typescript + * const retryPolicy: RetryPolicy = { + * maxAttempts: 3, + * initialDelayMs: 1000, + * maxDelayMs: 5000, + * backoffMultiplier: 2, + * isRetryable: (error) => { + * // Retry on network errors or rate limiting + * return error instanceof NetworkError || + * error instanceof RateLimitError; + * } + * }; + * ``` + */ + isRetryable?: (error: unknown, attempt: number) => boolean; +} +/** + * the configuration for the TokenManager. + */ +export interface TokenManagerConfig { + /** + * Represents the ratio of a token's lifetime at which a refresh should be triggered. + * For example, a value of 0.75 means the token should be refreshed when 75% of its lifetime has elapsed (or when + * 25% of its lifetime remains). + */ + expirationRefreshRatio: number; + retry?: RetryPolicy; +} +/** + * IDPError indicates a failure from the identity provider. + * + * The `isRetryable` flag is determined by the RetryPolicy's error classification function - if an error is + * classified as retryable, it will be marked as transient and the token manager will attempt to recover. + */ +export declare class IDPError extends Error { + readonly message: string; + readonly isRetryable: boolean; + constructor(message: string, isRetryable: boolean); +} +/** + * TokenStreamListener is an interface for objects that listen to token changes. + */ +export type TokenStreamListener = { + /** + * Called each time a new token is received. + * @param token + */ + onNext: (token: Token) => void; + /** + * Called when an error occurs while calling the underlying IdentityProvider. The error can be + * transient and the token manager will attempt to obtain a token again if retry policy is configured. + * + * Only fatal errors will terminate the stream and stop the token manager. + * + * @param error + */ + onError: (error: IDPError) => void; +}; +/** + * TokenManager is responsible for obtaining/refreshing tokens and notifying listeners about token changes. + * It uses an IdentityProvider to request tokens. The token refresh is scheduled based on the token's TTL and + * the expirationRefreshRatio configuration. + * + * The TokenManager should be disposed when it is no longer needed by calling the dispose method on the Disposable + * returned by start. + */ +export declare class TokenManager { + private readonly identityProvider; + private readonly config; + private currentToken; + private refreshTimeout; + private listener; + private retryAttempt; + constructor(identityProvider: IdentityProvider, config: TokenManagerConfig); + /** + * Starts the token manager and returns a Disposable that can be used to stop the token manager. + * + * @param listener The listener that will receive token updates. + * @param initialDelayMs The initial delay in milliseconds before the first token refresh. + */ + start(listener: TokenStreamListener, initialDelayMs?: number): Disposable; + calculateRetryDelay(): number; + private shouldRetry; + isRunning(): boolean; + private refresh; + private handleNewToken; + /** + * Creates a Token object from a native token and sets it as the current token. + * + * @param nativeToken - The raw token received from the identity provider + * @param ttlMs - Time-to-live in milliseconds for the token + * + * @returns A new Token instance containing the wrapped native token and expiration details + * + */ + wrapAndSetCurrentToken(nativeToken: T, ttlMs: number): Token; + private scheduleNextRefresh; + /** + * Calculates the time in milliseconds when the token should be refreshed + * based on the token's TTL and the expirationRefreshRatio configuration. + * + * @param token The token to calculate the refresh time for. + * @param now The current time in milliseconds. Defaults to Date.now(). + */ + calculateRefreshTime(token: Token, now?: number): number; + private stop; + /** + * Returns the current token or null if no token is available. + */ + getCurrentToken(): Token | null; + private notifyError; +} +//# sourceMappingURL=token-manager.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/authx/token-manager.d.ts.map b/back/node_modules/@redis/client/dist/lib/authx/token-manager.d.ts.map new file mode 100644 index 0000000..4e31c8e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/authx/token-manager.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"token-manager.d.ts","sourceRoot":"","sources":["../../../lib/authx/token-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAiB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;;;;OAOG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;CAC5D;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAEjC;;;;OAIG;IACH,sBAAsB,EAAE,MAAM,CAAC;IAG/B,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED;;;;;GAKG;AACH,qBAAa,QAAS,SAAQ,KAAK;aACL,OAAO,EAAE,MAAM;aAAkB,WAAW,EAAE,OAAO;gBAArD,OAAO,EAAE,MAAM,EAAkB,WAAW,EAAE,OAAO;CAIlF;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI;IACnC;;;OAGG;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAElC;;;;;;;OAOG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;CAEpC,CAAA;AAED;;;;;;;GAOG;AACH,qBAAa,YAAY,CAAC,CAAC;IAOvB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAPzB,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,QAAQ,CAAuC;IACvD,OAAO,CAAC,YAAY,CAAa;gBAGd,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC,EACrC,MAAM,EAAE,kBAAkB;IAU7C;;;;;OAKG;IACI,KAAK,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,cAAc,GAAE,MAAU,GAAG,UAAU;IAe/E,mBAAmB,IAAI,MAAM;IAoBpC,OAAO,CAAC,WAAW;IAgBZ,SAAS,IAAI,OAAO;YAIb,OAAO;IAsBrB,OAAO,CAAC,cAAc,CAQrB;IAED;;;;;;;;OAQG;IACI,sBAAsB,CAAC,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;IAWtE,OAAO,CAAC,mBAAmB;IAa3B;;;;;;OAMG;IACI,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,GAAE,MAAmB,GAAG,MAAM;IAK9E,OAAO,CAAC,IAAI;IAYZ;;OAEG;IACI,eAAe,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;IAIzC,OAAO,CAAC,WAAW;CASpB"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/authx/token-manager.js b/back/node_modules/@redis/client/dist/lib/authx/token-manager.js new file mode 100644 index 0000000..40db167 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/authx/token-manager.js @@ -0,0 +1,184 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TokenManager = exports.IDPError = void 0; +const token_1 = require("./token"); +/** + * IDPError indicates a failure from the identity provider. + * + * The `isRetryable` flag is determined by the RetryPolicy's error classification function - if an error is + * classified as retryable, it will be marked as transient and the token manager will attempt to recover. + */ +class IDPError extends Error { + message; + isRetryable; + constructor(message, isRetryable) { + super(message); + this.message = message; + this.isRetryable = isRetryable; + this.name = 'IDPError'; + } +} +exports.IDPError = IDPError; +/** + * TokenManager is responsible for obtaining/refreshing tokens and notifying listeners about token changes. + * It uses an IdentityProvider to request tokens. The token refresh is scheduled based on the token's TTL and + * the expirationRefreshRatio configuration. + * + * The TokenManager should be disposed when it is no longer needed by calling the dispose method on the Disposable + * returned by start. + */ +class TokenManager { + identityProvider; + config; + currentToken = null; + refreshTimeout = null; + listener = null; + retryAttempt = 0; + constructor(identityProvider, config) { + this.identityProvider = identityProvider; + this.config = config; + if (this.config.expirationRefreshRatio > 1) { + throw new Error('expirationRefreshRatio must be less than or equal to 1'); + } + if (this.config.expirationRefreshRatio < 0) { + throw new Error('expirationRefreshRatio must be greater or equal to 0'); + } + } + /** + * Starts the token manager and returns a Disposable that can be used to stop the token manager. + * + * @param listener The listener that will receive token updates. + * @param initialDelayMs The initial delay in milliseconds before the first token refresh. + */ + start(listener, initialDelayMs = 0) { + if (this.listener) { + this.stop(); + } + this.listener = listener; + this.retryAttempt = 0; + this.scheduleNextRefresh(initialDelayMs); + return { + dispose: () => this.stop() + }; + } + calculateRetryDelay() { + if (!this.config.retry) + return 0; + const { initialDelayMs, maxDelayMs, backoffMultiplier, jitterPercentage } = this.config.retry; + let delay = initialDelayMs * Math.pow(backoffMultiplier, this.retryAttempt - 1); + delay = Math.min(delay, maxDelayMs); + if (jitterPercentage) { + const jitterRange = delay * (jitterPercentage / 100); + const jitterAmount = Math.random() * jitterRange - (jitterRange / 2); + delay += jitterAmount; + } + let result = Math.max(0, Math.floor(delay)); + return result; + } + shouldRetry(error) { + if (!this.config.retry) + return false; + const { maxAttempts, isRetryable } = this.config.retry; + if (this.retryAttempt >= maxAttempts) { + return false; + } + if (isRetryable) { + return isRetryable(error, this.retryAttempt); + } + return false; + } + isRunning() { + return this.listener !== null; + } + async refresh() { + if (!this.listener) { + throw new Error('TokenManager is not running, but refresh was called'); + } + try { + await this.identityProvider.requestToken().then(this.handleNewToken); + this.retryAttempt = 0; + } + catch (error) { + if (this.shouldRetry(error)) { + this.retryAttempt++; + const retryDelay = this.calculateRetryDelay(); + this.notifyError(`Token refresh failed (attempt ${this.retryAttempt}), retrying in ${retryDelay}ms: ${error}`, true); + this.scheduleNextRefresh(retryDelay); + } + else { + this.notifyError(error, false); + this.stop(); + } + } + } + handleNewToken = async ({ token: nativeToken, ttlMs }) => { + if (!this.listener) { + throw new Error('TokenManager is not running, but a new token was received'); + } + const token = this.wrapAndSetCurrentToken(nativeToken, ttlMs); + this.listener.onNext(token); + this.scheduleNextRefresh(this.calculateRefreshTime(token)); + }; + /** + * Creates a Token object from a native token and sets it as the current token. + * + * @param nativeToken - The raw token received from the identity provider + * @param ttlMs - Time-to-live in milliseconds for the token + * + * @returns A new Token instance containing the wrapped native token and expiration details + * + */ + wrapAndSetCurrentToken(nativeToken, ttlMs) { + const now = Date.now(); + const token = new token_1.Token(nativeToken, now + ttlMs, now); + this.currentToken = token; + return token; + } + scheduleNextRefresh(delayMs) { + if (this.refreshTimeout) { + clearTimeout(this.refreshTimeout); + this.refreshTimeout = null; + } + if (delayMs === 0) { + this.refresh(); + } + else { + this.refreshTimeout = setTimeout(() => this.refresh(), delayMs); + } + } + /** + * Calculates the time in milliseconds when the token should be refreshed + * based on the token's TTL and the expirationRefreshRatio configuration. + * + * @param token The token to calculate the refresh time for. + * @param now The current time in milliseconds. Defaults to Date.now(). + */ + calculateRefreshTime(token, now = Date.now()) { + const ttlMs = token.getTtlMs(now); + return Math.floor(ttlMs * this.config.expirationRefreshRatio); + } + stop() { + if (this.refreshTimeout) { + clearTimeout(this.refreshTimeout); + this.refreshTimeout = null; + } + this.listener = null; + this.currentToken = null; + this.retryAttempt = 0; + } + /** + * Returns the current token or null if no token is available. + */ + getCurrentToken() { + return this.currentToken; + } + notifyError(error, isRetryable) { + const errorMessage = error instanceof Error ? error.message : String(error); + if (!this.listener) { + throw new Error(`TokenManager is not running but received an error: ${errorMessage}`); + } + this.listener.onError(new IDPError(errorMessage, isRetryable)); + } +} +exports.TokenManager = TokenManager; +//# sourceMappingURL=token-manager.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/authx/token-manager.js.map b/back/node_modules/@redis/client/dist/lib/authx/token-manager.js.map new file mode 100644 index 0000000..5fe8f4f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/authx/token-manager.js.map @@ -0,0 +1 @@ +{"version":3,"file":"token-manager.js","sourceRoot":"","sources":["../../../lib/authx/token-manager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/authx/token.d.ts b/back/node_modules/@redis/client/dist/lib/authx/token.d.ts new file mode 100644 index 0000000..bebc105 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/authx/token.d.ts @@ -0,0 +1,15 @@ +/** + * A token that can be used to authenticate with a service. + */ +export declare class Token { + readonly value: T; + readonly expiresAtMs: number; + readonly receivedAtMs: number; + constructor(value: T, expiresAtMs: number, receivedAtMs: number); + /** + * Returns the time-to-live of the token in milliseconds. + * @param now The current time in milliseconds since the Unix epoch. + */ + getTtlMs(now: number): number; +} +//# sourceMappingURL=token.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/authx/token.d.ts.map b/back/node_modules/@redis/client/dist/lib/authx/token.d.ts.map new file mode 100644 index 0000000..1fab3d9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/authx/token.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../lib/authx/token.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,KAAK,CAAC,CAAC;aAEA,KAAK,EAAE,CAAC;aAER,WAAW,EAAE,MAAM;aAEnB,YAAY,EAAE,MAAM;gBAJpB,KAAK,EAAE,CAAC,EAER,WAAW,EAAE,MAAM,EAEnB,YAAY,EAAE,MAAM;IAGtC;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAM9B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/authx/token.js b/back/node_modules/@redis/client/dist/lib/authx/token.js new file mode 100644 index 0000000..68e719a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/authx/token.js @@ -0,0 +1,32 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Token = void 0; +/** + * A token that can be used to authenticate with a service. + */ +class Token { + value; + expiresAtMs; + receivedAtMs; + constructor(value, + //represents the token deadline - the time in milliseconds since the Unix epoch at which the token expires + expiresAtMs, + //represents the time in milliseconds since the Unix epoch at which the token was received + receivedAtMs) { + this.value = value; + this.expiresAtMs = expiresAtMs; + this.receivedAtMs = receivedAtMs; + } + /** + * Returns the time-to-live of the token in milliseconds. + * @param now The current time in milliseconds since the Unix epoch. + */ + getTtlMs(now) { + if (this.expiresAtMs < now) { + return 0; + } + return this.expiresAtMs - now; + } +} +exports.Token = Token; +//# sourceMappingURL=token.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/authx/token.js.map b/back/node_modules/@redis/client/dist/lib/authx/token.js.map new file mode 100644 index 0000000..1d4b372 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/authx/token.js.map @@ -0,0 +1 @@ +{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../lib/authx/token.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,KAAK;IAEE;IAEA;IAEA;IALlB,YACkB,KAAQ;IACxB,0GAA0G;IAC1F,WAAmB;IACnC,0FAA0F;IAC1E,YAAoB;QAJpB,UAAK,GAAL,KAAK,CAAG;QAER,gBAAW,GAAX,WAAW,CAAQ;QAEnB,iBAAY,GAAZ,YAAY,CAAQ;IACnC,CAAC;IAEJ;;;OAGG;IACH,QAAQ,CAAC,GAAW;QAClB,IAAI,IAAI,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC;YAC3B,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;IAChC,CAAC;CACF;AAnBD,sBAmBC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/cache.d.ts b/back/node_modules/@redis/client/dist/lib/client/cache.d.ts new file mode 100644 index 0000000..f1794fb --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/cache.d.ts @@ -0,0 +1,297 @@ +/// +/// +import { EventEmitter } from 'stream'; +import RedisClient from '.'; +import { RedisArgument, ReplyUnion, TransformReply, TypeMapping } from '../RESP/types'; +import { BasicCommandParser } from './parser'; +/** + * A snapshot of cache statistics. + * + * This class provides an immutable view of the cache's operational statistics at a particular + * point in time. It is heavily inspired by the statistics reporting capabilities found in + * Ben Manes's Caffeine cache (https://github.com/ben-manes/caffeine). + * + * Instances of `CacheStats` are typically obtained from a {@link StatsCounter} and can be used + * for performance monitoring, debugging, or logging. It includes metrics such as hit rate, + * miss rate, load success/failure rates, average load penalty, and eviction counts. + * + * All statistics are non-negative. Rates and averages are typically in the range `[0.0, 1.0]`, + * or `0` if the an operation has not occurred (e.g. hit rate is 0 if there are no requests). + * + * Cache statistics are incremented according to specific rules: + * - When a cache lookup encounters an existing entry, hitCount is incremented. + * - When a cache lookup encounters a missing entry, missCount is incremented. + * - When a new entry is successfully loaded, loadSuccessCount is incremented and the + * loading time is added to totalLoadTime. + * - When an entry fails to load, loadFailureCount is incremented and the + * loading time is added to totalLoadTime. + * - When an entry is evicted due to size constraints or expiration, + * evictionCount is incremented. + */ +export declare class CacheStats { + readonly hitCount: number; + readonly missCount: number; + readonly loadSuccessCount: number; + readonly loadFailureCount: number; + readonly totalLoadTime: number; + readonly evictionCount: number; + /** + * Creates a new CacheStats instance with the specified statistics. + */ + private constructor(); + /** + * Creates a new CacheStats instance with the specified statistics. + * + * @param hitCount - Number of cache hits + * @param missCount - Number of cache misses + * @param loadSuccessCount - Number of successful cache loads + * @param loadFailureCount - Number of failed cache loads + * @param totalLoadTime - Total load time in milliseconds + * @param evictionCount - Number of cache evictions + */ + static of(hitCount?: number, missCount?: number, loadSuccessCount?: number, loadFailureCount?: number, totalLoadTime?: number, evictionCount?: number): CacheStats; + /** + * Returns a statistics instance where no cache events have been recorded. + * + * @returns An empty statistics instance + */ + static empty(): CacheStats; + /** + * An empty stats instance with all counters set to zero. + */ + private static readonly EMPTY_STATS; + /** + * Returns the total number of times cache lookup methods have returned + * either a cached or uncached value. + * + * @returns Total number of requests (hits + misses) + */ + requestCount(): number; + /** + * Returns the hit rate of the cache. + * This is defined as hitCount / requestCount, or 1.0 when requestCount is 0. + * + * @returns The ratio of cache requests that were hits (between 0.0 and 1.0) + */ + hitRate(): number; + /** + * Returns the miss rate of the cache. + * This is defined as missCount / requestCount, or 0.0 when requestCount is 0. + * + * @returns The ratio of cache requests that were misses (between 0.0 and 1.0) + */ + missRate(): number; + /** + * Returns the total number of load operations (successful + failed). + * + * @returns Total number of load operations + */ + loadCount(): number; + /** + * Returns the ratio of cache loading attempts that failed. + * This is defined as loadFailureCount / loadCount, or 0.0 when loadCount is 0. + * + * @returns Ratio of load operations that failed (between 0.0 and 1.0) + */ + loadFailureRate(): number; + /** + * Returns the average time spent loading new values, in milliseconds. + * This is defined as totalLoadTime / loadCount, or 0.0 when loadCount is 0. + * + * @returns Average load time in milliseconds + */ + averageLoadPenalty(): number; + /** + * Returns a new CacheStats representing the difference between this CacheStats + * and another. Negative values are rounded up to zero. + * + * @param other - The statistics to subtract from this instance + * @returns The difference between this instance and other + */ + minus(other: CacheStats): CacheStats; + /** + * Returns a new CacheStats representing the sum of this CacheStats and another. + * + * @param other - The statistics to add to this instance + * @returns The sum of this instance and other + */ + plus(other: CacheStats): CacheStats; +} +/** + * An accumulator for cache statistics. + * + * This interface defines the contract for objects that record cache-related events + * such as hits, misses, loads (successes and failures), and evictions. The design + * is inspired by the statistics collection mechanisms in Ben Manes's Caffeine cache + * (https://github.com/ben-manes/caffeine). + * + * Implementations of this interface are responsible for aggregating these events. + * A snapshot of the current statistics can be obtained by calling the `snapshot()` + * method, which returns an immutable {@link CacheStats} object. + * + * Common implementations include `DefaultStatsCounter` for active statistics collection + * and `DisabledStatsCounter` for a no-op version when stats are not needed. + */ +export interface StatsCounter { + /** + * Records cache hits. This should be called when a cache request returns a cached value. + * + * @param count - The number of hits to record + */ + recordHits(count: number): void; + /** + * Records cache misses. This should be called when a cache request returns a value that was not + * found in the cache. + * + * @param count - The number of misses to record + */ + recordMisses(count: number): void; + /** + * Records the successful load of a new entry. This method should be called when a cache request + * causes an entry to be loaded and the loading completes successfully. + * + * @param loadTime - The number of milliseconds the cache spent computing or retrieving the new value + */ + recordLoadSuccess(loadTime: number): void; + /** + * Records the failed load of a new entry. This method should be called when a cache request + * causes an entry to be loaded, but an exception is thrown while loading the entry. + * + * @param loadTime - The number of milliseconds the cache spent computing or retrieving the new value + * prior to the failure + */ + recordLoadFailure(loadTime: number): void; + /** + * Records the eviction of an entry from the cache. This should only be called when an entry is + * evicted due to the cache's eviction strategy, and not as a result of manual invalidations. + * + * @param count - The number of evictions to record + */ + recordEvictions(count: number): void; + /** + * Returns a snapshot of this counter's values. Note that this may be an inconsistent view, as it + * may be interleaved with update operations. + * + * @return A snapshot of this counter's values + */ + snapshot(): CacheStats; +} +type CachingClient = RedisClient; +type CmdFunc = () => Promise; +type EvictionPolicy = "LRU" | "FIFO"; +/** + * Configuration options for Client Side Cache + */ +export interface ClientSideCacheConfig { + /** + * Time-to-live in milliseconds for cached entries. + * Use 0 for no expiration. + * @default 0 + */ + ttl?: number; + /** + * Maximum number of entries to store in the cache. + * Use 0 for unlimited entries. + * @default 0 + */ + maxEntries?: number; + /** + * Eviction policy to use when the cache reaches its capacity. + * - "LRU" (Least Recently Used): Evicts least recently accessed entries first + * - "FIFO" (First In First Out): Evicts oldest entries first + * @default "LRU" + */ + evictPolicy?: EvictionPolicy; + /** + * Whether to collect statistics about cache operations. + * @default true + */ + recordStats?: boolean; +} +interface ClientSideCacheEntry { + invalidate(): void; + validate(): boolean; +} +declare abstract class ClientSideCacheEntryBase implements ClientSideCacheEntry { + #private; + constructor(ttl: number); + invalidate(): void; + validate(): boolean; +} +declare class ClientSideCacheEntryValue extends ClientSideCacheEntryBase { + #private; + get value(): any; + constructor(ttl: number, value: any); +} +declare class ClientSideCacheEntryPromise extends ClientSideCacheEntryBase { + #private; + get promise(): Promise; + constructor(ttl: number, sendCommandPromise: Promise); +} +export declare abstract class ClientSideCacheProvider extends EventEmitter { + abstract handleCache(client: CachingClient, parser: BasicCommandParser, fn: CmdFunc, transformReply: TransformReply | undefined, typeMapping: TypeMapping | undefined): Promise; + abstract trackingOn(): Array; + abstract invalidate(key: RedisArgument | null): void; + abstract clear(): void; + abstract stats(): CacheStats; + abstract onError(): void; + abstract onClose(): void; +} +export declare class BasicClientSideCache extends ClientSideCacheProvider { + #private; + readonly ttl: number; + readonly maxEntries: number; + readonly lru: boolean; + recordEvictions(count: number): void; + recordHits(count: number): void; + recordMisses(count: number): void; + constructor(config?: ClientSideCacheConfig); + handleCache(client: CachingClient, parser: BasicCommandParser, fn: CmdFunc, transformReply?: TransformReply, typeMapping?: TypeMapping): Promise; + trackingOn(): string[]; + invalidate(key: RedisArgument | null): void; + clear(resetStats?: boolean): void; + get(cacheKey: string): ClientSideCacheEntry | undefined; + delete(cacheKey: string): void; + has(cacheKey: string): boolean; + set(cacheKey: string, cacheEntry: ClientSideCacheEntry, keys: Array): void; + size(): number; + createValueEntry(client: CachingClient, value: any): ClientSideCacheEntryValue; + createPromiseEntry(client: CachingClient, sendCommandPromise: Promise): ClientSideCacheEntryPromise; + stats(): CacheStats; + onError(): void; + onClose(): void; + /** + * @internal + */ + deleteOldest(): void; + /** + * Get cache entries for debugging + * @internal + */ + entryEntries(): IterableIterator<[string, ClientSideCacheEntry]>; + /** + * Get key set entries for debugging + * @internal + */ + keySetEntries(): IterableIterator<[string, Set]>; +} +export declare abstract class PooledClientSideCacheProvider extends BasicClientSideCache { + #private; + disable(): void; + enable(): void; + get(cacheKey: string): ClientSideCacheEntry | undefined; + has(cacheKey: string): boolean; + onPoolClose(): void; +} +export declare class BasicPooledClientSideCache extends PooledClientSideCacheProvider { + onError(): void; + onClose(): void; +} +export declare class PooledNoRedirectClientSideCache extends BasicPooledClientSideCache { + createValueEntry(client: CachingClient, value: any): ClientSideCacheEntryValue; + createPromiseEntry(client: CachingClient, sendCommandPromise: Promise): ClientSideCacheEntryPromise; + onError(): void; + onClose(): void; +} +export {}; +//# sourceMappingURL=cache.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/cache.d.ts.map b/back/node_modules/@redis/client/dist/lib/client/cache.d.ts.map new file mode 100644 index 0000000..3c8f14a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/cache.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../lib/client/cache.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/cache.js b/back/node_modules/@redis/client/dist/lib/client/cache.js new file mode 100644 index 0000000..ec8d27c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/cache.js @@ -0,0 +1,614 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PooledNoRedirectClientSideCache = exports.BasicPooledClientSideCache = exports.PooledClientSideCacheProvider = exports.BasicClientSideCache = exports.ClientSideCacheProvider = exports.CacheStats = void 0; +const stream_1 = require("stream"); +/** + * A snapshot of cache statistics. + * + * This class provides an immutable view of the cache's operational statistics at a particular + * point in time. It is heavily inspired by the statistics reporting capabilities found in + * Ben Manes's Caffeine cache (https://github.com/ben-manes/caffeine). + * + * Instances of `CacheStats` are typically obtained from a {@link StatsCounter} and can be used + * for performance monitoring, debugging, or logging. It includes metrics such as hit rate, + * miss rate, load success/failure rates, average load penalty, and eviction counts. + * + * All statistics are non-negative. Rates and averages are typically in the range `[0.0, 1.0]`, + * or `0` if the an operation has not occurred (e.g. hit rate is 0 if there are no requests). + * + * Cache statistics are incremented according to specific rules: + * - When a cache lookup encounters an existing entry, hitCount is incremented. + * - When a cache lookup encounters a missing entry, missCount is incremented. + * - When a new entry is successfully loaded, loadSuccessCount is incremented and the + * loading time is added to totalLoadTime. + * - When an entry fails to load, loadFailureCount is incremented and the + * loading time is added to totalLoadTime. + * - When an entry is evicted due to size constraints or expiration, + * evictionCount is incremented. + */ +class CacheStats { + hitCount; + missCount; + loadSuccessCount; + loadFailureCount; + totalLoadTime; + evictionCount; + /** + * Creates a new CacheStats instance with the specified statistics. + */ + constructor(hitCount, missCount, loadSuccessCount, loadFailureCount, totalLoadTime, evictionCount) { + this.hitCount = hitCount; + this.missCount = missCount; + this.loadSuccessCount = loadSuccessCount; + this.loadFailureCount = loadFailureCount; + this.totalLoadTime = totalLoadTime; + this.evictionCount = evictionCount; + if (hitCount < 0 || + missCount < 0 || + loadSuccessCount < 0 || + loadFailureCount < 0 || + totalLoadTime < 0 || + evictionCount < 0) { + throw new Error('All statistics values must be non-negative'); + } + } + /** + * Creates a new CacheStats instance with the specified statistics. + * + * @param hitCount - Number of cache hits + * @param missCount - Number of cache misses + * @param loadSuccessCount - Number of successful cache loads + * @param loadFailureCount - Number of failed cache loads + * @param totalLoadTime - Total load time in milliseconds + * @param evictionCount - Number of cache evictions + */ + static of(hitCount = 0, missCount = 0, loadSuccessCount = 0, loadFailureCount = 0, totalLoadTime = 0, evictionCount = 0) { + return new CacheStats(hitCount, missCount, loadSuccessCount, loadFailureCount, totalLoadTime, evictionCount); + } + /** + * Returns a statistics instance where no cache events have been recorded. + * + * @returns An empty statistics instance + */ + static empty() { + return CacheStats.EMPTY_STATS; + } + /** + * An empty stats instance with all counters set to zero. + */ + static EMPTY_STATS = new CacheStats(0, 0, 0, 0, 0, 0); + /** + * Returns the total number of times cache lookup methods have returned + * either a cached or uncached value. + * + * @returns Total number of requests (hits + misses) + */ + requestCount() { + return this.hitCount + this.missCount; + } + /** + * Returns the hit rate of the cache. + * This is defined as hitCount / requestCount, or 1.0 when requestCount is 0. + * + * @returns The ratio of cache requests that were hits (between 0.0 and 1.0) + */ + hitRate() { + const requestCount = this.requestCount(); + return requestCount === 0 ? 1.0 : this.hitCount / requestCount; + } + /** + * Returns the miss rate of the cache. + * This is defined as missCount / requestCount, or 0.0 when requestCount is 0. + * + * @returns The ratio of cache requests that were misses (between 0.0 and 1.0) + */ + missRate() { + const requestCount = this.requestCount(); + return requestCount === 0 ? 0.0 : this.missCount / requestCount; + } + /** + * Returns the total number of load operations (successful + failed). + * + * @returns Total number of load operations + */ + loadCount() { + return this.loadSuccessCount + this.loadFailureCount; + } + /** + * Returns the ratio of cache loading attempts that failed. + * This is defined as loadFailureCount / loadCount, or 0.0 when loadCount is 0. + * + * @returns Ratio of load operations that failed (between 0.0 and 1.0) + */ + loadFailureRate() { + const loadCount = this.loadCount(); + return loadCount === 0 ? 0.0 : this.loadFailureCount / loadCount; + } + /** + * Returns the average time spent loading new values, in milliseconds. + * This is defined as totalLoadTime / loadCount, or 0.0 when loadCount is 0. + * + * @returns Average load time in milliseconds + */ + averageLoadPenalty() { + const loadCount = this.loadCount(); + return loadCount === 0 ? 0.0 : this.totalLoadTime / loadCount; + } + /** + * Returns a new CacheStats representing the difference between this CacheStats + * and another. Negative values are rounded up to zero. + * + * @param other - The statistics to subtract from this instance + * @returns The difference between this instance and other + */ + minus(other) { + return CacheStats.of(Math.max(0, this.hitCount - other.hitCount), Math.max(0, this.missCount - other.missCount), Math.max(0, this.loadSuccessCount - other.loadSuccessCount), Math.max(0, this.loadFailureCount - other.loadFailureCount), Math.max(0, this.totalLoadTime - other.totalLoadTime), Math.max(0, this.evictionCount - other.evictionCount)); + } + /** + * Returns a new CacheStats representing the sum of this CacheStats and another. + * + * @param other - The statistics to add to this instance + * @returns The sum of this instance and other + */ + plus(other) { + return CacheStats.of(this.hitCount + other.hitCount, this.missCount + other.missCount, this.loadSuccessCount + other.loadSuccessCount, this.loadFailureCount + other.loadFailureCount, this.totalLoadTime + other.totalLoadTime, this.evictionCount + other.evictionCount); + } +} +exports.CacheStats = CacheStats; +/** + * A StatsCounter implementation that does nothing and always returns empty stats. + */ +class DisabledStatsCounter { + static INSTANCE = new DisabledStatsCounter(); + constructor() { } + recordHits(count) { } + recordMisses(count) { } + recordLoadSuccess(loadTime) { } + recordLoadFailure(loadTime) { } + recordEvictions(count) { } + snapshot() { return CacheStats.empty(); } +} +/** + * Returns a StatsCounter that does not record any cache events. + * + * @return A StatsCounter that does not record metrics + */ +function disabledStatsCounter() { + return DisabledStatsCounter.INSTANCE; +} +/** + * A StatsCounter implementation that maintains cache statistics. + */ +class DefaultStatsCounter { + #hitCount = 0; + #missCount = 0; + #loadSuccessCount = 0; + #loadFailureCount = 0; + #totalLoadTime = 0; + #evictionCount = 0; + /** + * Records cache hits. + * + * @param count - The number of hits to record + */ + recordHits(count) { + this.#hitCount += count; + } + /** + * Records cache misses. + * + * @param count - The number of misses to record + */ + recordMisses(count) { + this.#missCount += count; + } + /** + * Records the successful load of a new entry. + * + * @param loadTime - The number of milliseconds spent loading the entry + */ + recordLoadSuccess(loadTime) { + this.#loadSuccessCount++; + this.#totalLoadTime += loadTime; + } + /** + * Records the failed load of a new entry. + * + * @param loadTime - The number of milliseconds spent attempting to load the entry + */ + recordLoadFailure(loadTime) { + this.#loadFailureCount++; + this.#totalLoadTime += loadTime; + } + /** + * Records cache evictions. + * + * @param count - The number of evictions to record + */ + recordEvictions(count) { + this.#evictionCount += count; + } + /** + * Returns a snapshot of the current statistics. + * + * @returns A snapshot of the current statistics + */ + snapshot() { + return CacheStats.of(this.#hitCount, this.#missCount, this.#loadSuccessCount, this.#loadFailureCount, this.#totalLoadTime, this.#evictionCount); + } + /** + * Creates a new DefaultStatsCounter. + * + * @returns A new DefaultStatsCounter instance + */ + static create() { + return new DefaultStatsCounter(); + } +} +/** + * Generates a unique cache key from Redis command arguments + * + * @param redisArgs - Array of Redis command arguments + * @returns A unique string key for caching + */ +function generateCacheKey(redisArgs) { + const tmp = new Array(redisArgs.length * 2); + for (let i = 0; i < redisArgs.length; i++) { + tmp[i] = redisArgs[i].length; + tmp[i + redisArgs.length] = redisArgs[i]; + } + return tmp.join('_'); +} +class ClientSideCacheEntryBase { + #invalidated = false; + #expireTime; + constructor(ttl) { + if (ttl == 0) { + this.#expireTime = 0; + } + else { + this.#expireTime = Date.now() + ttl; + } + } + invalidate() { + this.#invalidated = true; + } + validate() { + return !this.#invalidated && (this.#expireTime == 0 || (Date.now() < this.#expireTime)); + } +} +class ClientSideCacheEntryValue extends ClientSideCacheEntryBase { + #value; + get value() { + return this.#value; + } + constructor(ttl, value) { + super(ttl); + this.#value = value; + } +} +class ClientSideCacheEntryPromise extends ClientSideCacheEntryBase { + #sendCommandPromise; + get promise() { + return this.#sendCommandPromise; + } + constructor(ttl, sendCommandPromise) { + super(ttl); + this.#sendCommandPromise = sendCommandPromise; + } +} +class ClientSideCacheProvider extends stream_1.EventEmitter { +} +exports.ClientSideCacheProvider = ClientSideCacheProvider; +class BasicClientSideCache extends ClientSideCacheProvider { + #cacheKeyToEntryMap; + #keyToCacheKeySetMap; + ttl; + maxEntries; + lru; + #statsCounter; + recordEvictions(count) { + this.#statsCounter.recordEvictions(count); + } + recordHits(count) { + this.#statsCounter.recordHits(count); + } + recordMisses(count) { + this.#statsCounter.recordMisses(count); + } + constructor(config) { + super(); + this.#cacheKeyToEntryMap = new Map(); + this.#keyToCacheKeySetMap = new Map(); + this.ttl = config?.ttl ?? 0; + this.maxEntries = config?.maxEntries ?? 0; + this.lru = config?.evictPolicy !== "FIFO"; + const recordStats = config?.recordStats !== false; + this.#statsCounter = recordStats ? DefaultStatsCounter.create() : disabledStatsCounter(); + } + /* logic of how caching works: + + 1. commands use a CommandParser + it enables us to define/retrieve + cacheKey - a unique key that corresponds to this command and its arguments + redisKeys - an array of redis keys as strings that if the key is modified, will cause redis to invalidate this result when cached + 2. check if cacheKey is in our cache + 2b1. if its a value cacheEntry - return it + 2b2. if it's a promise cache entry - wait on promise and then go to 3c. + 3. if cacheEntry is not in cache + 3a. send the command save the promise into a a cacheEntry and then wait on result + 3b. transform reply (if required) based on transformReply + 3b. check the cacheEntry is still valid - in cache and hasn't been deleted) + 3c. if valid - overwrite with value entry + 4. return previously non cached result + */ + async handleCache(client, parser, fn, transformReply, typeMapping) { + let reply; + const cacheKey = generateCacheKey(parser.redisArgs); + // "2" + let cacheEntry = this.get(cacheKey); + if (cacheEntry) { + // If instanceof is "too slow", can add a "type" and then use an "as" cast to call proper getters. + if (cacheEntry instanceof ClientSideCacheEntryValue) { // "2b1" + this.#statsCounter.recordHits(1); + return structuredClone(cacheEntry.value); + } + else if (cacheEntry instanceof ClientSideCacheEntryPromise) { // 2b2 + // This counts as a miss since the value hasn't been fully loaded yet. + this.#statsCounter.recordMisses(1); + reply = await cacheEntry.promise; + } + else { + throw new Error("unknown cache entry type"); + } + } + else { // 3/3a + this.#statsCounter.recordMisses(1); + const startTime = performance.now(); + const promise = fn(); + cacheEntry = this.createPromiseEntry(client, promise); + this.set(cacheKey, cacheEntry, parser.keys); + try { + reply = await promise; + const loadTime = performance.now() - startTime; + this.#statsCounter.recordLoadSuccess(loadTime); + } + catch (err) { + const loadTime = performance.now() - startTime; + this.#statsCounter.recordLoadFailure(loadTime); + if (cacheEntry.validate()) { + this.delete(cacheKey); + } + throw err; + } + } + // 3b + let val; + if (transformReply) { + val = transformReply(reply, parser.preserve, typeMapping); + } + else { + val = reply; + } + // 3c + if (cacheEntry.validate()) { // revalidating promise entry (dont save value, if promise entry has been invalidated) + // 3d + cacheEntry = this.createValueEntry(client, val); + this.set(cacheKey, cacheEntry, parser.keys); + this.emit("cached-key", cacheKey); + } + else { + // cache entry for key got invalidated between execution and saving, so not saving + } + return structuredClone(val); + } + trackingOn() { + return ['CLIENT', 'TRACKING', 'ON']; + } + invalidate(key) { + if (key === null) { + this.clear(false); + this.emit("invalidate", key); + return; + } + const keySet = this.#keyToCacheKeySetMap.get(key.toString()); + if (keySet) { + for (const cacheKey of keySet) { + const entry = this.#cacheKeyToEntryMap.get(cacheKey); + if (entry) { + entry.invalidate(); + } + this.#cacheKeyToEntryMap.delete(cacheKey); + } + this.#keyToCacheKeySetMap.delete(key.toString()); + } + this.emit('invalidate', key); + } + clear(resetStats = true) { + const oldSize = this.#cacheKeyToEntryMap.size; + this.#cacheKeyToEntryMap.clear(); + this.#keyToCacheKeySetMap.clear(); + if (resetStats) { + if (!(this.#statsCounter instanceof DisabledStatsCounter)) { + this.#statsCounter = DefaultStatsCounter.create(); + } + } + else { + // If old entries were evicted due to clear, record them as evictions + if (oldSize > 0) { + this.#statsCounter.recordEvictions(oldSize); + } + } + } + get(cacheKey) { + const val = this.#cacheKeyToEntryMap.get(cacheKey); + if (val && !val.validate()) { + this.delete(cacheKey); + this.#statsCounter.recordEvictions(1); + this.emit("cache-evict", cacheKey); + return undefined; + } + if (val !== undefined && this.lru) { + this.#cacheKeyToEntryMap.delete(cacheKey); + this.#cacheKeyToEntryMap.set(cacheKey, val); + } + return val; + } + delete(cacheKey) { + const entry = this.#cacheKeyToEntryMap.get(cacheKey); + if (entry) { + entry.invalidate(); + this.#cacheKeyToEntryMap.delete(cacheKey); + } + } + has(cacheKey) { + return this.#cacheKeyToEntryMap.has(cacheKey); + } + set(cacheKey, cacheEntry, keys) { + let count = this.#cacheKeyToEntryMap.size; + const oldEntry = this.#cacheKeyToEntryMap.get(cacheKey); + if (oldEntry) { + count--; // overwriting, so not incrementig + oldEntry.invalidate(); + } + if (this.maxEntries > 0 && count >= this.maxEntries) { + this.deleteOldest(); + this.#statsCounter.recordEvictions(1); + } + this.#cacheKeyToEntryMap.set(cacheKey, cacheEntry); + for (const key of keys) { + if (!this.#keyToCacheKeySetMap.has(key.toString())) { + this.#keyToCacheKeySetMap.set(key.toString(), new Set()); + } + const cacheKeySet = this.#keyToCacheKeySetMap.get(key.toString()); + cacheKeySet.add(cacheKey); + } + } + size() { + return this.#cacheKeyToEntryMap.size; + } + createValueEntry(client, value) { + return new ClientSideCacheEntryValue(this.ttl, value); + } + createPromiseEntry(client, sendCommandPromise) { + return new ClientSideCacheEntryPromise(this.ttl, sendCommandPromise); + } + stats() { + return this.#statsCounter.snapshot(); + } + onError() { + this.clear(); + } + onClose() { + this.clear(); + } + /** + * @internal + */ + deleteOldest() { + const it = this.#cacheKeyToEntryMap[Symbol.iterator](); + const n = it.next(); + if (!n.done) { + const key = n.value[0]; + const entry = this.#cacheKeyToEntryMap.get(key); + if (entry) { + entry.invalidate(); + } + this.#cacheKeyToEntryMap.delete(key); + } + } + /** + * Get cache entries for debugging + * @internal + */ + entryEntries() { + return this.#cacheKeyToEntryMap.entries(); + } + /** + * Get key set entries for debugging + * @internal + */ + keySetEntries() { + return this.#keyToCacheKeySetMap.entries(); + } +} +exports.BasicClientSideCache = BasicClientSideCache; +class PooledClientSideCacheProvider extends BasicClientSideCache { + #disabled = false; + disable() { + this.#disabled = true; + } + enable() { + this.#disabled = false; + } + get(cacheKey) { + if (this.#disabled) { + return undefined; + } + return super.get(cacheKey); + } + has(cacheKey) { + if (this.#disabled) { + return false; + } + return super.has(cacheKey); + } + onPoolClose() { + this.clear(); + } +} +exports.PooledClientSideCacheProvider = PooledClientSideCacheProvider; +class BasicPooledClientSideCache extends PooledClientSideCacheProvider { + onError() { + this.clear(false); + } + onClose() { + this.clear(false); + } +} +exports.BasicPooledClientSideCache = BasicPooledClientSideCache; +class PooledClientSideCacheEntryValue extends ClientSideCacheEntryValue { + #creator; + constructor(ttl, creator, value) { + super(ttl, value); + this.#creator = creator; + } + validate() { + let ret = super.validate(); + if (this.#creator) { + ret = ret && this.#creator.client.isReady && this.#creator.client.socketEpoch == this.#creator.epoch; + } + return ret; + } +} +class PooledClientSideCacheEntryPromise extends ClientSideCacheEntryPromise { + #creator; + constructor(ttl, creator, sendCommandPromise) { + super(ttl, sendCommandPromise); + this.#creator = creator; + } + validate() { + let ret = super.validate(); + return ret && this.#creator.client.isReady && this.#creator.client.socketEpoch == this.#creator.epoch; + } +} +class PooledNoRedirectClientSideCache extends BasicPooledClientSideCache { + createValueEntry(client, value) { + const creator = { + epoch: client.socketEpoch, + client: client + }; + return new PooledClientSideCacheEntryValue(this.ttl, creator, value); + } + createPromiseEntry(client, sendCommandPromise) { + const creator = { + epoch: client.socketEpoch, + client: client + }; + return new PooledClientSideCacheEntryPromise(this.ttl, creator, sendCommandPromise); + } + onError() { } + onClose() { } +} +exports.PooledNoRedirectClientSideCache = PooledNoRedirectClientSideCache; +//# sourceMappingURL=cache.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/cache.js.map b/back/node_modules/@redis/client/dist/lib/client/cache.js.map new file mode 100644 index 0000000..a0dcdf9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/cache.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../lib/client/cache.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/commands-queue.d.ts b/back/node_modules/@redis/client/dist/lib/client/commands-queue.d.ts new file mode 100644 index 0000000..0e9ea40 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/commands-queue.d.ts @@ -0,0 +1,97 @@ +/// +import { Decoder } from '../RESP/decoder'; +import { TypeMapping, RespVersions, RedisArgument } from '../RESP/types'; +import { ChannelListeners, PubSubListener, PubSubType, PubSubTypeListeners } from './pub-sub'; +import { MonitorCallback } from '.'; +export interface CommandOptions { + chainId?: symbol; + asap?: boolean; + abortSignal?: AbortSignal; + /** + * Maps between RESP and JavaScript types + */ + typeMapping?: T; + /** + * Timeout for the command in milliseconds + */ + timeout?: number; + /** + * @internal + * The slot the command is targeted to (if any) + */ + slotNumber?: number; +} +export interface CommandToWrite extends CommandWaitingForReply { + args: ReadonlyArray; + chainId: symbol | undefined; + abort: { + signal: AbortSignal; + listener: () => unknown; + } | undefined; + timeout: { + signal: AbortSignal; + listener: () => unknown; + originalTimeout: number | undefined; + } | undefined; + slotNumber?: number; +} +interface CommandWaitingForReply { + resolve(reply?: unknown): void; + reject(err: unknown): void; + channelsCounter: number | undefined; + typeMapping: TypeMapping | undefined; +} +export type OnShardedChannelMoved = (channel: string, listeners: ChannelListeners) => void; +type PushHandler = (pushItems: Array) => boolean; +export default class RedisCommandsQueue { + #private; + readonly decoder: Decoder; + setMaintenanceCommandTimeout(ms: number | undefined): void; + get isPubSubActive(): boolean; + constructor(respVersion: RespVersions, maxLength: number | null | undefined, onShardedChannelMoved: OnShardedChannelMoved); + addPushHandler(handler: PushHandler): void; + waitForInflightCommandsToComplete(options?: { + timeoutMs?: number; + flushOnTimeout?: boolean; + }): Promise; + addCommand(args: ReadonlyArray, options?: CommandOptions): Promise; + subscribe(type: PubSubType, channels: string | Array, listener: PubSubListener, returnBuffers?: T): Promise | undefined; + unsubscribe(type: PubSubType, channels?: string | Array, listener?: PubSubListener, returnBuffers?: T): Promise | undefined; + removeAllPubSubListeners(): { + CHANNELS: PubSubTypeListeners; + PATTERNS: PubSubTypeListeners; + SHARDED: PubSubTypeListeners; + }; + removeShardedPubSubListenersForSlots(slots: Set): { + SHARDED: Map; + }; + resubscribe(chainId?: symbol): Promise | undefined; + extendPubSubChannelListeners(type: PubSubType, channel: string, listeners: ChannelListeners): Promise | undefined; + extendPubSubListeners(type: PubSubType, listeners: PubSubTypeListeners): Promise | undefined; + getPubSubListeners(type: PubSubType): PubSubTypeListeners; + monitor(callback: MonitorCallback, options?: CommandOptions): Promise; + resetDecoder(): void; + reset(chainId: symbol, typeMapping?: T): Promise; + isWaitingToWrite(): boolean; + commandsToWrite(): Generator; + flushWaitingForReply(err: Error): void; + flushAll(err: Error): void; + isEmpty(): boolean; + /** + * + * Extracts commands for the given slots from the toWrite queue. + * Some commands dont have "slotNumber", which means they are not designated to particular slot/node. + * We ignore those. + */ + extractCommandsForSlots(slots: Set): CommandToWrite[]; + /** + * Gets all commands from the write queue without removing them. + */ + extractAllCommands(): CommandToWrite[]; + /** + * Prepends commands to the write queue in reverse. + */ + prependCommandsToWrite(commands: CommandToWrite[]): void; +} +export {}; +//# sourceMappingURL=commands-queue.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/commands-queue.d.ts.map b/back/node_modules/@redis/client/dist/lib/client/commands-queue.d.ts.map new file mode 100644 index 0000000..095da81 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/commands-queue.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"commands-queue.d.ts","sourceRoot":"","sources":["../../../lib/client/commands-queue.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/commands-queue.js b/back/node_modules/@redis/client/dist/lib/client/commands-queue.js new file mode 100644 index 0000000..16e01e0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/commands-queue.js @@ -0,0 +1,482 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const linked_list_1 = require("./linked-list"); +const encoder_1 = __importDefault(require("../RESP/encoder")); +const decoder_1 = require("../RESP/decoder"); +const pub_sub_1 = require("./pub-sub"); +const errors_1 = require("../errors"); +const enterprise_maintenance_manager_1 = require("./enterprise-maintenance-manager"); +const PONG = Buffer.from('pong'), RESET = Buffer.from('RESET'); +const RESP2_PUSH_TYPE_MAPPING = { + ...decoder_1.PUSH_TYPE_MAPPING, + [decoder_1.RESP_TYPES.SIMPLE_STRING]: Buffer +}; +class RedisCommandsQueue { + #respVersion; + #maxLength; + #toWrite = new linked_list_1.DoublyLinkedList(); + #waitingForReply = new linked_list_1.EmptyAwareSinglyLinkedList(); + #onShardedChannelMoved; + #chainInExecution; + decoder; + #pubSub = new pub_sub_1.PubSub(); + #pushHandlers = [this.#onPush.bind(this)]; + #maintenanceCommandTimeout; + setMaintenanceCommandTimeout(ms) { + // Prevent possible api misuse + if (this.#maintenanceCommandTimeout === ms) { + (0, enterprise_maintenance_manager_1.dbgMaintenance)(`Queue already set maintenanceCommandTimeout to ${ms}, skipping`); + return; + } + ; + (0, enterprise_maintenance_manager_1.dbgMaintenance)(`Setting maintenance command timeout to ${ms}`); + this.#maintenanceCommandTimeout = ms; + if (this.#maintenanceCommandTimeout === undefined) { + (0, enterprise_maintenance_manager_1.dbgMaintenance)(`Queue will keep maintenanceCommandTimeout for exisitng commands, just to be on the safe side. New commands will receive normal timeouts`); + return; + } + let counter = 0; + const total = this.#toWrite.length; + // Overwrite timeouts of all eligible toWrite commands + for (const node of this.#toWrite.nodes()) { + const command = node.value; + // Remove timeout listener if it exists + RedisCommandsQueue.#removeTimeoutListener(command); + counter++; + const newTimeout = this.#maintenanceCommandTimeout; + // Overwrite the command's timeout + const signal = AbortSignal.timeout(newTimeout); + command.timeout = { + signal, + listener: () => { + this.#toWrite.remove(node); + command.reject(new errors_1.CommandTimeoutDuringMaintenanceError(newTimeout)); + }, + originalTimeout: command.timeout?.originalTimeout + }; + signal.addEventListener('abort', command.timeout.listener, { once: true }); + } + ; + (0, enterprise_maintenance_manager_1.dbgMaintenance)(`Total of ${counter} of ${total} timeouts reset to ${ms}`); + } + get isPubSubActive() { + return this.#pubSub.isActive; + } + constructor(respVersion, maxLength, onShardedChannelMoved) { + this.#respVersion = respVersion; + this.#maxLength = maxLength; + this.#onShardedChannelMoved = onShardedChannelMoved; + this.decoder = this.#initiateDecoder(); + } + #onReply(reply) { + this.#waitingForReply.shift().resolve(reply); + } + #onErrorReply(err) { + this.#waitingForReply.shift().reject(err); + } + #onPush(push) { + // TODO: type + if (this.#pubSub.handleMessageReply(push)) + return true; + const isShardedUnsubscribe = pub_sub_1.PubSub.isShardedUnsubscribe(push); + if (isShardedUnsubscribe && !this.#waitingForReply.length) { + const channel = push[1].toString(); + this.#onShardedChannelMoved(channel, this.#pubSub.removeShardedListeners(channel)); + return true; + } + else if (isShardedUnsubscribe || pub_sub_1.PubSub.isStatusReply(push)) { + const head = this.#waitingForReply.head.value; + if ((Number.isNaN(head.channelsCounter) && push[2] === 0) || + --head.channelsCounter === 0) { + this.#waitingForReply.shift().resolve(); + } + return true; + } + return false; + } + #getTypeMapping() { + return this.#waitingForReply.head.value.typeMapping ?? {}; + } + #initiateDecoder() { + return new decoder_1.Decoder({ + onReply: reply => this.#onReply(reply), + onErrorReply: err => this.#onErrorReply(err), + //TODO: we can shave off a few cycles by not adding onPush handler at all if CSC is not used + onPush: push => { + for (const pushHandler of this.#pushHandlers) { + if (pushHandler(push)) + return; + } + }, + getTypeMapping: () => this.#getTypeMapping() + }); + } + addPushHandler(handler) { + this.#pushHandlers.push(handler); + } + async waitForInflightCommandsToComplete(options) { + // In-flight commands already completed + if (this.#waitingForReply.length === 0) { + return; + } + ; + // Otherwise wait for in-flight commands to fire `empty` event + return new Promise(resolve => { + const onEmpty = () => { + if (timeoutId) + clearTimeout(timeoutId); + resolve(); + }; + let timeoutId; + const timeoutMs = options?.timeoutMs; + if (timeoutMs !== undefined && timeoutMs > 0) { + timeoutId = setTimeout(() => { + this.#waitingForReply.events.off('empty', onEmpty); + const pendingCount = this.#waitingForReply.length; + (0, enterprise_maintenance_manager_1.dbgMaintenance)(`waitForInflightCommandsToComplete timed out after ${timeoutMs}ms with ${pendingCount} commands still waiting`); + if (options?.flushOnTimeout && pendingCount > 0) { + (0, enterprise_maintenance_manager_1.dbgMaintenance)(`Flushing ${pendingCount} commands that timed out waiting for reply`); + this.#flushWaitingForReply(new errors_1.TimeoutError()); + } + resolve(); // Resolve instead of reject - we don't want to fail the migration + }, timeoutMs); + } + this.#waitingForReply.events.once('empty', onEmpty); + }); + } + addCommand(args, options) { + if (this.#maxLength && this.#toWrite.length + this.#waitingForReply.length >= this.#maxLength) { + return Promise.reject(new Error('The queue is full')); + } + else if (options?.abortSignal?.aborted) { + return Promise.reject(new errors_1.AbortError()); + } + return new Promise((resolve, reject) => { + let node; + const value = { + args, + chainId: options?.chainId, + abort: undefined, + timeout: undefined, + resolve, + reject, + channelsCounter: undefined, + typeMapping: options?.typeMapping + }; + value.slotNumber = options?.slotNumber; + // If #maintenanceCommandTimeout was explicitly set, we should + // use it instead of the timeout provided by the command + const timeout = this.#maintenanceCommandTimeout ?? options?.timeout; + const wasInMaintenance = this.#maintenanceCommandTimeout !== undefined; + if (timeout) { + const signal = AbortSignal.timeout(timeout); + value.timeout = { + signal, + listener: () => { + this.#toWrite.remove(node); + value.reject(wasInMaintenance ? new errors_1.CommandTimeoutDuringMaintenanceError(timeout) : new errors_1.TimeoutError()); + }, + originalTimeout: options?.timeout + }; + signal.addEventListener('abort', value.timeout.listener, { once: true }); + } + const signal = options?.abortSignal; + if (signal) { + value.abort = { + signal, + listener: () => { + this.#toWrite.remove(node); + value.reject(new errors_1.AbortError()); + } + }; + signal.addEventListener('abort', value.abort.listener, { once: true }); + } + node = this.#toWrite.add(value, options?.asap); + }); + } + #addPubSubCommand(command, asap = false, chainId) { + return new Promise((resolve, reject) => { + this.#toWrite.add({ + args: command.args, + chainId, + abort: undefined, + timeout: undefined, + resolve() { + command.resolve(); + resolve(); + }, + reject(err) { + command.reject?.(); + reject(err); + }, + channelsCounter: command.channelsCounter, + typeMapping: decoder_1.PUSH_TYPE_MAPPING + }, asap); + }); + } + #setupPubSubHandler() { + // RESP3 uses `onPush` to handle PubSub, so no need to modify `onReply` + if (this.#respVersion !== 2) + return; + this.decoder.onReply = (reply => { + if (Array.isArray(reply)) { + if (this.#onPush(reply)) + return; + const firstElement = typeof reply[0] === 'string' ? Buffer.from(reply[0]) : reply[0]; + if (PONG.equals(firstElement)) { + const { resolve, typeMapping } = this.#waitingForReply.shift(), buffer = (reply[1].length === 0 ? reply[0] : reply[1]); + resolve(typeMapping?.[decoder_1.RESP_TYPES.SIMPLE_STRING] === Buffer ? buffer : buffer.toString()); + return; + } + } + return this.#onReply(reply); + }); + this.decoder.getTypeMapping = () => RESP2_PUSH_TYPE_MAPPING; + } + subscribe(type, channels, listener, returnBuffers) { + const command = this.#pubSub.subscribe(type, channels, listener, returnBuffers); + if (!command) + return; + this.#setupPubSubHandler(); + return this.#addPubSubCommand(command); + } + #resetDecoderCallbacks() { + this.decoder.onReply = (reply => this.#onReply(reply)); + this.decoder.getTypeMapping = () => this.#getTypeMapping(); + } + unsubscribe(type, channels, listener, returnBuffers) { + const command = this.#pubSub.unsubscribe(type, channels, listener, returnBuffers); + if (!command) + return; + if (command && this.#respVersion === 2) { + // RESP2 modifies `onReply` to handle PubSub (see #setupPubSubHandler) + const { resolve } = command; + command.resolve = () => { + if (!this.#pubSub.isActive) { + this.#resetDecoderCallbacks(); + } + resolve(); + }; + } + return this.#addPubSubCommand(command); + } + removeAllPubSubListeners() { + return this.#pubSub.removeAllListeners(); + } + removeShardedPubSubListenersForSlots(slots) { + return this.#pubSub.removeShardedPubSubListenersForSlots(slots); + } + resubscribe(chainId) { + const commands = this.#pubSub.resubscribe(); + if (!commands.length) + return; + this.#setupPubSubHandler(); + return Promise.all(commands.map(command => this.#addPubSubCommand(command, true, chainId))); + } + extendPubSubChannelListeners(type, channel, listeners) { + const command = this.#pubSub.extendChannelListeners(type, channel, listeners); + if (!command) + return; + this.#setupPubSubHandler(); + return this.#addPubSubCommand(command); + } + extendPubSubListeners(type, listeners) { + const command = this.#pubSub.extendTypeListeners(type, listeners); + if (!command) + return; + this.#setupPubSubHandler(); + return this.#addPubSubCommand(command); + } + getPubSubListeners(type) { + return this.#pubSub.listeners[type]; + } + monitor(callback, options) { + return new Promise((resolve, reject) => { + const typeMapping = options?.typeMapping ?? {}; + this.#toWrite.add({ + args: ['MONITOR'], + chainId: options?.chainId, + abort: undefined, + timeout: undefined, + // using `resolve` instead of using `.then`/`await` to make sure it'll be called before processing the next reply + resolve: () => { + // after running `MONITOR` only `MONITOR` and `RESET` replies are expected + // any other command should cause an error + // if `RESET` already overrides `onReply`, set monitor as it's fallback + if (this.#resetFallbackOnReply) { + this.#resetFallbackOnReply = callback; + } + else { + this.decoder.onReply = callback; + } + this.decoder.getTypeMapping = () => typeMapping; + resolve(); + }, + reject, + channelsCounter: undefined, + typeMapping + }, options?.asap); + }); + } + resetDecoder() { + this.#resetDecoderCallbacks(); + this.decoder.reset(); + } + #resetFallbackOnReply; + async reset(chainId, typeMapping) { + return new Promise((resolve, reject) => { + // overriding onReply to handle `RESET` while in `MONITOR` or PubSub mode + this.#resetFallbackOnReply = this.decoder.onReply; + this.decoder.onReply = (reply => { + if ((typeof reply === 'string' && reply === 'RESET') || + (reply instanceof Buffer && RESET.equals(reply))) { + this.#resetDecoderCallbacks(); + this.#resetFallbackOnReply = undefined; + this.#pubSub.reset(); + this.#waitingForReply.shift().resolve(reply); + return; + } + this.#resetFallbackOnReply(reply); + }); + this.#toWrite.push({ + args: ['RESET'], + chainId, + abort: undefined, + timeout: undefined, + resolve, + reject, + channelsCounter: undefined, + typeMapping + }); + }); + } + isWaitingToWrite() { + return this.#toWrite.length > 0; + } + *commandsToWrite() { + let toSend = this.#toWrite.shift(); + while (toSend) { + let encoded; + try { + encoded = (0, encoder_1.default)(toSend.args); + } + catch (err) { + toSend.reject(err); + toSend = this.#toWrite.shift(); + continue; + } + // TODO reuse `toSend` or create new object? + toSend.args = undefined; + if (toSend.abort) { + RedisCommandsQueue.#removeAbortListener(toSend); + toSend.abort = undefined; + } + if (toSend.timeout) { + RedisCommandsQueue.#removeTimeoutListener(toSend); + toSend.timeout = undefined; + } + this.#chainInExecution = toSend.chainId; + toSend.chainId = undefined; + this.#waitingForReply.push(toSend); + yield encoded; + toSend = this.#toWrite.shift(); + } + } + #flushWaitingForReply(err) { + for (const node of this.#waitingForReply) { + node.reject(err); + } + this.#waitingForReply.reset(); + } + static #removeAbortListener(command) { + command.abort.signal.removeEventListener('abort', command.abort.listener); + } + static #removeTimeoutListener(command) { + command.timeout?.signal.removeEventListener('abort', command.timeout.listener); + } + static #flushToWrite(toBeSent, err) { + if (toBeSent.abort) { + RedisCommandsQueue.#removeAbortListener(toBeSent); + } + if (toBeSent.timeout) { + RedisCommandsQueue.#removeTimeoutListener(toBeSent); + } + toBeSent.reject(err); + } + flushWaitingForReply(err) { + this.resetDecoder(); + this.#pubSub.reset(); + this.#flushWaitingForReply(err); + if (!this.#chainInExecution) + return; + while (this.#toWrite.head?.value.chainId === this.#chainInExecution) { + RedisCommandsQueue.#flushToWrite(this.#toWrite.shift(), err); + } + this.#chainInExecution = undefined; + } + flushAll(err) { + this.resetDecoder(); + this.#pubSub.reset(); + this.#flushWaitingForReply(err); + for (const node of this.#toWrite) { + RedisCommandsQueue.#flushToWrite(node, err); + } + this.#toWrite.reset(); + } + isEmpty() { + return (this.#toWrite.length === 0 && + this.#waitingForReply.length === 0); + } + /** + * + * Extracts commands for the given slots from the toWrite queue. + * Some commands dont have "slotNumber", which means they are not designated to particular slot/node. + * We ignore those. + */ + extractCommandsForSlots(slots) { + const result = []; + let current = this.#toWrite.head; + while (current !== undefined) { + if (current.value.slotNumber !== undefined && slots.has(current.value.slotNumber)) { + result.push(current.value); + const toRemove = current; + current = current.next; + this.#toWrite.remove(toRemove); + } + else { + // Move to next node even if we don't extract this command + current = current.next; + } + } + return result; + } + /** + * Gets all commands from the write queue without removing them. + */ + extractAllCommands() { + const result = []; + let current = this.#toWrite.head; + while (current) { + result.push(current.value); + this.#toWrite.remove(current); + current = current.next; + } + return result; + } + /** + * Prepends commands to the write queue in reverse. + */ + prependCommandsToWrite(commands) { + if (!commands.length) { + return; + } + for (let i = commands.length - 1; i >= 0; i--) { + this.#toWrite.unshift(commands[i]); + } + } +} +exports.default = RedisCommandsQueue; +//# sourceMappingURL=commands-queue.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/commands-queue.js.map b/back/node_modules/@redis/client/dist/lib/client/commands-queue.js.map new file mode 100644 index 0000000..2a261ea --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/commands-queue.js.map @@ -0,0 +1 @@ +{"version":3,"file":"commands-queue.js","sourceRoot":"","sources":["../../../lib/client/commands-queue.ts"],"names":[],"mappings":";;;;;AAAA,+CAA+F;AAC/F,8DAA4C;AAC5C,6CAAyE;AAEzE,uCAAqH;AACrH,sCAAuG;AAEvG,qFAAkE;AA6ClE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAC9B,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAE/B,MAAM,uBAAuB,GAAG;IAC9B,GAAG,2BAAiB;IACpB,CAAC,oBAAU,CAAC,aAAa,CAAC,EAAE,MAAM;CACnC,CAAC;AASF,MAAqB,kBAAkB;IAC5B,YAAY,CAAC;IACb,UAAU,CAAC;IACX,QAAQ,GAAG,IAAI,8BAAgB,EAAkB,CAAC;IAClD,gBAAgB,GAAG,IAAI,wCAA0B,EAA0B,CAAC;IAC5E,sBAAsB,CAAC;IAChC,iBAAiB,CAAqB;IAC7B,OAAO,CAAC;IACR,OAAO,GAAG,IAAI,gBAAM,EAAE,CAAC;IAEhC,aAAa,GAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAEzD,0BAA0B,CAAoB;IAE9C,4BAA4B,CAAC,EAAsB;QACjD,8BAA8B;QAC9B,IAAI,IAAI,CAAC,0BAA0B,KAAK,EAAE,EAAE,CAAC;YAC3C,IAAA,+CAAc,EAAC,kDAAkD,EAAE,YAAY,CAAC,CAAC;YACjF,OAAO;QACT,CAAC;QAAA,CAAC;QAEF,IAAA,+CAAc,EAAC,0CAA0C,EAAE,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC;QAErC,IAAG,IAAI,CAAC,0BAA0B,KAAK,SAAS,EAAE,CAAC;YACjD,IAAA,+CAAc,EAAC,yIAAyI,CAAC,CAAC;YAC1J,OAAO;QACT,CAAC;QAED,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAEnC,sDAAsD;QACtD,KAAI,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;YAE3B,uCAAuC;YACvC,kBAAkB,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAA;YAElD,OAAO,EAAE,CAAC;YACV,MAAM,UAAU,GAAG,IAAI,CAAC,0BAA0B,CAAC;YAEnD,kCAAkC;YAClC,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC/C,OAAO,CAAC,OAAO,GAAG;gBAChB,MAAM;gBACN,QAAQ,EAAE,GAAG,EAAE;oBACb,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC3B,OAAO,CAAC,MAAM,CAAC,IAAI,6CAAoC,CAAC,UAAU,CAAC,CAAC,CAAC;gBACvE,CAAC;gBACD,eAAe,EAAE,OAAO,CAAC,OAAO,EAAE,eAAe;aAClD,CAAC;YACF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7E,CAAC;QAAA,CAAC;QACF,IAAA,+CAAc,EAAC,YAAY,OAAO,OAAO,KAAK,sBAAsB,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED,YACE,WAAyB,EACzB,SAAoC,EACpC,qBAA4C;QAE5C,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,sBAAsB,GAAG,qBAAqB,CAAC;QACpD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACzC,CAAC;IAED,QAAQ,CAAC,KAAiB;QACxB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,aAAa,CAAC,GAAe;QAC3B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,CAAC,IAAgB;QACtB,aAAa;QACb,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAEvD,MAAM,oBAAoB,GAAG,gBAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,oBAAoB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAC7C,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,oBAAoB,IAAI,gBAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAK,CAAC,KAAK,CAAC;YAC/C,IACE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,eAAgB,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACtD,EAAE,IAAI,CAAC,eAAgB,KAAK,CAAC,EAC7B,CAAC;gBACD,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAG,CAAC,OAAO,EAAE,CAAC;YAC3C,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAK,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;IAC7D,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,iBAAO,CAAC;YACjB,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YACtC,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;YAC5C,4FAA4F;YAC5F,MAAM,EAAE,IAAI,CAAC,EAAE;gBACb,KAAI,MAAM,WAAW,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBAC5C,IAAG,WAAW,CAAC,IAAI,CAAC;wBAAE,OAAM;gBAC9B,CAAC;YACH,CAAC;YACD,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE;SAC7C,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,OAAoB;QACjC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,iCAAiC,CAAC,OAA0D;QAChG,uCAAuC;QACvC,IAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,OAAM;QACR,CAAC;QAAA,CAAC;QACF,8DAA8D;QAC9D,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,IAAI,SAAS;oBAAE,YAAY,CAAC,SAAS,CAAC,CAAC;gBACvC,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YAEF,IAAI,SAAoD,CAAC;YACzD,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;YACrC,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAC7C,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC1B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBACnD,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;oBAClD,IAAA,+CAAc,EAAC,qDAAqD,SAAS,WAAW,YAAY,yBAAyB,CAAC,CAAC;oBAC/H,IAAI,OAAO,EAAE,cAAc,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;wBAChD,IAAA,+CAAc,EAAC,YAAY,YAAY,4CAA4C,CAAC,CAAC;wBACrF,IAAI,CAAC,qBAAqB,CAAC,IAAI,qBAAY,EAAE,CAAC,CAAC;oBACjD,CAAC;oBACD,OAAO,EAAE,CAAC,CAAC,kEAAkE;gBAC/E,CAAC,EAAE,SAAS,CAAC,CAAC;YAChB,CAAC;YAED,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CACR,IAAkC,EAClC,OAAwB;QAExB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9F,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;YACzC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,mBAAU,EAAE,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,IAAsC,CAAC;YAC3C,MAAM,KAAK,GAAmB;gBAC5B,IAAI;gBACJ,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,SAAS;gBAClB,OAAO;gBACP,MAAM;gBACN,eAAe,EAAE,SAAS;gBAC1B,WAAW,EAAE,OAAO,EAAE,WAAW;aAClC,CAAC;YACF,KAAK,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,CAAA;YAEtC,8DAA8D;YAC9D,wDAAwD;YACxD,MAAM,OAAO,GAAG,IAAI,CAAC,0BAA0B,IAAI,OAAO,EAAE,OAAO,CAAC;YACpE,MAAM,gBAAgB,GAAG,IAAI,CAAC,0BAA0B,KAAK,SAAS,CAAC;YACvE,IAAI,OAAO,EAAE,CAAC;gBAEZ,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC5C,KAAK,CAAC,OAAO,GAAG;oBACd,MAAM;oBACN,QAAQ,EAAE,GAAG,EAAE;wBACb,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBAC3B,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,6CAAoC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,qBAAY,EAAE,CAAC,CAAC;oBAC1G,CAAC;oBACD,eAAe,EAAE,OAAO,EAAE,OAAO;iBAClC,CAAC;gBACF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3E,CAAC;YAED,MAAM,MAAM,GAAG,OAAO,EAAE,WAAW,CAAC;YACpC,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,CAAC,KAAK,GAAG;oBACZ,MAAM;oBACN,QAAQ,EAAE,GAAG,EAAE;wBACb,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBAC3B,KAAK,CAAC,MAAM,CAAC,IAAI,mBAAU,EAAE,CAAC,CAAC;oBACjC,CAAC;iBACF,CAAC;gBACF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACzE,CAAC;YAED,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,OAAsB,EAAE,IAAI,GAAG,KAAK,EAAE,OAAgB;QACtE,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO;gBACP,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,SAAS;gBAClB,OAAO;oBACL,OAAO,CAAC,OAAO,EAAE,CAAC;oBAClB,OAAO,EAAE,CAAC;gBACZ,CAAC;gBACD,MAAM,CAAC,GAAG;oBACR,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;oBACnB,MAAM,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC;gBACD,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,WAAW,EAAE,2BAAiB;aAC/B,EAAE,IAAI,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;QACjB,uEAAuE;QACvE,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC;YAAE,OAAO;QAEpC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,EAAE;YAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;oBAAE,OAAO;gBAEhC,MAAM,YAAY,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACrF,IAAI,IAAI,CAAC,MAAM,CAAC,YAAsB,CAAC,EAAE,CAAC;oBACxC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAG,EAC7D,MAAM,GAAG,CAAE,KAAK,CAAC,CAAC,CAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAW,CAAC;oBAC/E,OAAO,CAAC,WAAW,EAAE,CAAC,oBAAU,CAAC,aAAa,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACzF,OAAO;gBACT,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAuB,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,uBAAuB,CAAC;IAC9D,CAAC;IAED,SAAS,CACP,IAAgB,EAChB,QAAgC,EAChC,QAA2B,EAC3B,aAAiB;QAEjB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAChF,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAuB,CAAC;QAC7E,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;IAC7D,CAAC;IAED,WAAW,CACT,IAAgB,EAChB,QAAiC,EACjC,QAA4B,EAC5B,aAAiB;QAEjB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAClF,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,OAAO,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YACvC,sEAAsE;YACtE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAC5B,OAAO,CAAC,OAAO,GAAG,GAAG,EAAE;gBACrB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;oBAC3B,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAChC,CAAC;gBAED,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,wBAAwB;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAC3C,CAAC;IAED,oCAAoC,CAAC,KAAkB;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,oCAAoC,CAAC,KAAK,CAAC,CAAC;IAClE,CAAC;IAED,WAAW,CAAC,OAAgB;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO;QAE7B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,GAAG,CAChB,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CACxE,CAAC;IACJ,CAAC;IAED,4BAA4B,CAC1B,IAAgB,EAChB,OAAe,EACf,SAA2B;QAE3B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAC9E,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,qBAAqB,CAAC,IAAgB,EAAE,SAA8B;QACpE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAClE,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,kBAAkB,CAAC,IAAgB;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,QAAyB,EAAE,OAAwB;QACzD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,EAAE,CAAC;YAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAChB,IAAI,EAAE,CAAC,SAAS,CAAC;gBACjB,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,SAAS;gBAClB,iHAAiH;gBACjH,OAAO,EAAE,GAAG,EAAE;oBACZ,0EAA0E;oBAC1E,0CAA0C;oBAE1C,uEAAuE;oBACvE,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;wBAC/B,IAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC;oBACxC,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC;oBAClC,CAAC;oBAED,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC;oBAChD,OAAO,EAAE,CAAC;gBACZ,CAAC;gBACD,MAAM;gBACN,eAAe,EAAE,SAAS;gBAC1B,WAAW;aACZ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,qBAAqB,CAAsB;IAE3C,KAAK,CAAC,KAAK,CAAwB,OAAe,EAAE,WAAe;QACjE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,yEAAyE;YACzE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAClD,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,EAAE;gBAC9B,IACE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,OAAO,CAAC;oBAChD,CAAC,KAAK,YAAY,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAChD,CAAC;oBACD,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAC9B,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;oBACvC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBAErB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC9C,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,qBAAsB,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC,CAAuB,CAAC;YAEzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,CAAC,OAAO,CAAC;gBACf,OAAO;gBACP,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,SAAS;gBAClB,OAAO;gBACP,MAAM;gBACN,eAAe,EAAE,SAAS;gBAC1B,WAAW;aACZ,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,CAAC,eAAe;QACd,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnC,OAAO,MAAM,EAAE,CAAC;YACd,IAAI,OAAqC,CAAA;YACzC,IAAI,CAAC;gBACH,OAAO,GAAG,IAAA,iBAAa,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACnB,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAC/B,SAAS;YACX,CAAC;YAED,4CAA4C;YAC3C,MAAc,CAAC,IAAI,GAAG,SAAS,CAAC;YACjC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,kBAAkB,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;YAC3B,CAAC;YACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,kBAAkB,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;gBAClD,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;YAC7B,CAAC;YACD,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC;YACxC,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEnC,MAAM,OAAO,CAAC;YACd,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjC,CAAC;IACH,CAAC;IAED,qBAAqB,CAAC,GAAU;QAC9B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,OAAuB;QACjD,OAAO,CAAC,KAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,KAAM,CAAC,QAAQ,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,OAAuB;QACnD,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAQ,CAAC,QAAQ,CAAC,CAAC;IAClF,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,QAAwB,EAAE,GAAU;QACvD,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,kBAAkB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,kBAAkB,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QACtD,CAAC;QAED,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,oBAAoB,CAAC,GAAU;QAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAErB,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAEhC,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAEpC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACpE,kBAAkB,CAAC,aAAa,CAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAG,EACtB,GAAG,CACJ,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;IACrC,CAAC;IAED,QAAQ,CAAC,GAAU;QACjB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,kBAAkB,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED,OAAO;QACL,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,CACnC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,uBAAuB,CAAC,KAAkB;QACxC,MAAM,MAAM,GAAqB,EAAE,CAAC;QACpC,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACjC,OAAM,OAAO,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAG,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC;gBACzB,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,0DAA0D;gBAC1D,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;YACzB,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;MAEE;IACF,kBAAkB;QAChB,MAAM,MAAM,GAAqB,EAAE,CAAC;QACpC,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACjC,OAAM,OAAO,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,QAA0B;QAC/C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;CACF;AA9iBD,qCA8iBC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/enterprise-maintenance-manager.d.ts b/back/node_modules/@redis/client/dist/lib/client/enterprise-maintenance-manager.d.ts new file mode 100644 index 0000000..9b2f204 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/enterprise-maintenance-manager.d.ts @@ -0,0 +1,74 @@ +import RedisClient, { RedisClientOptions } from "."; +import RedisCommandsQueue from "./commands-queue"; +import { RedisArgument } from "../RESP/types"; +type RedisType = RedisClient; +export declare const SMIGRATED_EVENT = "__SMIGRATED"; +interface Address { + host: string; + port: number; +} +interface Destination { + addr: Address; + slots: (number | [number, number])[]; +} +interface SMigratedEntry { + source: Address; + destinations: Destination[]; +} +export interface SMigratedEvent { + seqId: number; + entries: SMigratedEntry[]; +} +export declare const MAINTENANCE_EVENTS: { + readonly PAUSE_WRITING: "pause-writing"; + readonly RESUME_WRITING: "resume-writing"; + readonly TIMEOUTS_UPDATE: "timeouts-update"; +}; +export type DiagnosticsEvent = { + type: string; + timestamp: number; + data?: Object; +}; +export declare const dbgMaintenance: (...args: any[]) => void; +export declare const emitDiagnostics: (event: DiagnosticsEvent) => void; +export interface MaintenanceUpdate { + relaxedCommandTimeout?: number; + relaxedSocketTimeout?: number; +} +export default class EnterpriseMaintenanceManager { + #private; + static setupDefaultMaintOptions(options: RedisClientOptions): void; + static getHandshakeCommand(options: RedisClientOptions): Promise<{ + cmd: Array; + errorHandler: (error: Error) => void; + } | undefined>; + constructor(commandsQueue: RedisCommandsQueue, client: RedisType, options: RedisClientOptions); + /** + * Parses an SMIGRATED push message into a structured SMigratedEvent. + * + * SMIGRATED format: + * - SMIGRATED, "seqid", followed by a list of N triplets: + * - source endpoint + * - target endpoint + * - comma separated list of slot ranges + * + * A source and a target endpoint may appear in multiple triplets. + * There is no optimization of the source, dest, slot-range list in the SMIGRATED message. + * The client code should read through the entire list of triplets in order to get a full + * list of moved slots, or full list of sources and targets. + * + * Example: + * [ 'SMIGRATED', 15, [ [ '127.0.0.1:6379', '127.0.0.2:6379', '123,456,789-1000' ], [ '127.0.0.3:6380', '127.0.0.4:6380', '124,457,300-500' ] ] ] + * ^seq ^source1 ^destination1 ^slots ^source2 ^destination2 ^slots + * + * Result structure guarantees: + * - Each source address appears in exactly one entry (entries are deduplicated by source) + * - Within each entry, each destination address appears exactly once (destinations are deduplicated per source) + * - Each destination contains the complete list of slots that moved from that source to that destination + * - Note: The same destination address CAN appear under different sources (e.g., node X receives slots from both A and B) + */ + static parseSMigratedPush(push: any[]): SMigratedEvent; +} +export type MovingEndpointType = "auto" | "internal-ip" | "internal-fqdn" | "external-ip" | "external-fqdn" | "none"; +export {}; +//# sourceMappingURL=enterprise-maintenance-manager.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/enterprise-maintenance-manager.d.ts.map b/back/node_modules/@redis/client/dist/lib/client/enterprise-maintenance-manager.d.ts.map new file mode 100644 index 0000000..3aceb78 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/enterprise-maintenance-manager.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"enterprise-maintenance-manager.d.ts","sourceRoot":"","sources":["../../../lib/client/enterprise-maintenance-manager.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,EAAE,EAAE,kBAAkB,EAAE,MAAM,GAAG,CAAC;AACpD,OAAO,kBAAkB,MAAM,kBAAkB,CAAC;AAOlD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,KAAK,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEtD,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;CACtC;AAED,UAAU,cAAc;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,WAAW,EAAE,CAAA;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,cAAc,EAAE,CAAA;CAC1B;AAED,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;AAYX,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,cAAc,YAAa,GAAG,EAAE,SAG5C,CAAC;AAEF,eAAO,MAAM,eAAe,UAAW,gBAAgB,SAKtD,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,CAAC,OAAO,OAAO,4BAA4B;;IAM/C,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,kBAAkB;WAgB9C,mBAAmB,CAC9B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CACN;QAAE,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QAAC,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;KAAE,GACnE,SAAS,CACZ;gBA8BC,aAAa,EAAE,kBAAkB,EACjC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,kBAAkB;IAsM7B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,cAAc;CA6DvD;AAGD,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN,aAAa,GACb,eAAe,GACf,aAAa,GACb,eAAe,GACf,MAAM,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/enterprise-maintenance-manager.js b/back/node_modules/@redis/client/dist/lib/client/enterprise-maintenance-manager.js new file mode 100644 index 0000000..8632025 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/enterprise-maintenance-manager.js @@ -0,0 +1,375 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +var _a; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.emitDiagnostics = exports.dbgMaintenance = exports.MAINTENANCE_EVENTS = exports.SMIGRATED_EVENT = void 0; +const net_1 = require("net"); +const promises_1 = require("dns/promises"); +const node_assert_1 = __importDefault(require("node:assert")); +const promises_2 = require("node:timers/promises"); +const node_diagnostics_channel_1 = __importDefault(require("node:diagnostics_channel")); +exports.SMIGRATED_EVENT = "__SMIGRATED"; +exports.MAINTENANCE_EVENTS = { + PAUSE_WRITING: "pause-writing", + RESUME_WRITING: "resume-writing", + TIMEOUTS_UPDATE: "timeouts-update", +}; +const PN = { + MOVING: "MOVING", + MIGRATING: "MIGRATING", + MIGRATED: "MIGRATED", + FAILING_OVER: "FAILING_OVER", + FAILED_OVER: "FAILED_OVER", + SMIGRATING: "SMIGRATING", + SMIGRATED: "SMIGRATED", +}; +const dbgMaintenance = (...args) => { + if (!process.env.REDIS_DEBUG_MAINTENANCE) + return; + return console.log(new Date().toISOString().slice(11, 23), "[MNT]", ...args); +}; +exports.dbgMaintenance = dbgMaintenance; +const emitDiagnostics = (event) => { + if (!process.env.REDIS_EMIT_DIAGNOSTICS) + return; + const channel = node_diagnostics_channel_1.default.channel("redis.maintenance"); + channel.publish(event); +}; +exports.emitDiagnostics = emitDiagnostics; +class EnterpriseMaintenanceManager { + #commandsQueue; + #options; + #isMaintenance = 0; + #client; + static setupDefaultMaintOptions(options) { + if (options.maintNotifications === undefined) { + options.maintNotifications = + options?.RESP === 3 ? "auto" : "disabled"; + } + if (options.maintEndpointType === undefined) { + options.maintEndpointType = "auto"; + } + if (options.maintRelaxedSocketTimeout === undefined) { + options.maintRelaxedSocketTimeout = 10000; + } + if (options.maintRelaxedCommandTimeout === undefined) { + options.maintRelaxedCommandTimeout = 10000; + } + } + static async getHandshakeCommand(options) { + if (options.maintNotifications === "disabled") + return; + const host = options.url + ? new URL(options.url).hostname + : options.socket?.host; + if (!host) + return; + const tls = options.socket?.tls ?? false; + const movingEndpointType = await determineEndpoint(tls, host, options); + return { + cmd: [ + "CLIENT", + "MAINT_NOTIFICATIONS", + "ON", + "moving-endpoint-type", + movingEndpointType, + ], + errorHandler: (error) => { + (0, exports.dbgMaintenance)("handshake failed:", error); + if (options.maintNotifications === "enabled") { + throw error; + } + }, + }; + } + constructor(commandsQueue, client, options) { + this.#commandsQueue = commandsQueue; + this.#options = options; + this.#client = client; + this.#commandsQueue.addPushHandler(this.#onPush); + } + #onPush = (push) => { + (0, exports.dbgMaintenance)("ONPUSH:", push.map(String)); + if (!Array.isArray(push) || !Object.values(PN).includes(String(push[0]))) { + return false; + } + const type = String(push[0]); + (0, exports.emitDiagnostics)({ + type, + timestamp: Date.now(), + data: { + push: push.map(String), + }, + }); + switch (type) { + case PN.MOVING: { + // [ 'MOVING', '17', '15', '54.78.247.156:12075' ] + // ^seq ^after ^new ip + const afterSeconds = push[2]; + const url = push[3] ? String(push[3]) : null; + (0, exports.dbgMaintenance)("Received MOVING:", afterSeconds, url); + this.#onMoving(afterSeconds, url); + return true; + } + case PN.MIGRATING: + case PN.SMIGRATING: + case PN.FAILING_OVER: { + (0, exports.dbgMaintenance)("Received MIGRATING|SMIGRATING|FAILING_OVER"); + this.#onMigrating(); + return true; + } + case PN.MIGRATED: + case PN.FAILED_OVER: { + (0, exports.dbgMaintenance)("Received MIGRATED|FAILED_OVER"); + this.#onMigrated(); + return true; + } + case PN.SMIGRATED: { + (0, exports.dbgMaintenance)("Received SMIGRATED"); + this.#onSMigrated(push); + this.#onMigrated(); // Un-relax timeouts after slot migration completes + return true; + } + } + return false; + }; + // Queue: + // toWrite [ C D E ] + // waitingForReply [ A B ] - aka In-flight commands + // + // time: ---1-2---3-4-5-6--------------------------- + // + // 1. [EVENT] MOVING PN received + // 2. [ACTION] Pause writing ( we need to wait for new socket to connect and for all in-flight commands to complete ) + // 3. [EVENT] New socket connected + // 4. [EVENT] In-flight commands completed + // 5. [ACTION] Destroy old socket + // 6. [ACTION] Resume writing -> we are going to write to the new socket from now on + #onMoving = async (afterSeconds, url) => { + // 1 [EVENT] MOVING PN received + this.#onMigrating(); + let host; + let port; + // The special value `none` indicates that the `MOVING` message doesn’t need + // to contain an endpoint. Instead it contains the value `null` then. In + // such a corner case, the client is expected to schedule a graceful + // reconnect to its currently configured endpoint after half of the grace + // period that was communicated by the server is over. + if (url === null) { + (0, node_assert_1.default)(this.#options.maintEndpointType === "none"); + const { host: h, port: p } = this.#getAddress(); + host = h; + port = p; + const waitTime = (afterSeconds * 1000) / 2; + (0, exports.dbgMaintenance)(`Wait for ${waitTime}ms`); + await (0, promises_2.setTimeout)(waitTime); + } + else { + const split = url.split(":"); + host = split[0]; + port = Number(split[1]); + } + // 2 [ACTION] Pause writing + (0, exports.dbgMaintenance)("Pausing writing of new commands to old socket"); + this.#client._pause(); + (0, exports.dbgMaintenance)("Creating new tmp client"); + let start = performance.now(); + // If the URL is provided, it takes precedense + // the options object could just be mutated + if (this.#options.url) { + const u = new URL(this.#options.url); + u.hostname = host; + u.port = String(port); + this.#options.url = u.toString(); + } + else { + this.#options.socket = { + ...this.#options.socket, + host, + port, + }; + } + const tmpClient = this.#client.duplicate(); + tmpClient.on("error", (error) => { + //We dont know how to handle tmp client errors + (0, exports.dbgMaintenance)(`[ERR]`, error); + }); + (0, exports.dbgMaintenance)(`Tmp client created in ${(performance.now() - start).toFixed(2)}ms`); + (0, exports.dbgMaintenance)(`Set timeout for tmp client to ${this.#options.maintRelaxedSocketTimeout}`); + tmpClient._maintenanceUpdate({ + relaxedCommandTimeout: this.#options.maintRelaxedCommandTimeout, + relaxedSocketTimeout: this.#options.maintRelaxedSocketTimeout, + }); + (0, exports.dbgMaintenance)(`Connecting tmp client: ${host}:${port}`); + start = performance.now(); + await tmpClient.connect(); + (0, exports.dbgMaintenance)(`Connected to tmp client in ${(performance.now() - start).toFixed(2)}ms`); + // 3 [EVENT] New socket connected + (0, exports.dbgMaintenance)(`Wait for all in-flight commands to complete`); + await this.#commandsQueue.waitForInflightCommandsToComplete(); + (0, exports.dbgMaintenance)(`In-flight commands completed`); + // 4 [EVENT] In-flight commands completed + (0, exports.dbgMaintenance)("Swap client sockets..."); + const oldSocket = this.#client._ejectSocket(); + const newSocket = tmpClient._ejectSocket(); + this.#client._insertSocket(newSocket); + tmpClient._insertSocket(oldSocket); + tmpClient.destroy(); + (0, exports.dbgMaintenance)("Swap client sockets done."); + // 5 + 6 + (0, exports.dbgMaintenance)("Resume writing"); + this.#client._unpause(); + this.#onMigrated(); + }; + #onMigrating = () => { + this.#isMaintenance++; + if (this.#isMaintenance > 1) { + (0, exports.dbgMaintenance)(`Timeout relaxation already done`); + return; + } + const update = { + relaxedCommandTimeout: this.#options.maintRelaxedCommandTimeout, + relaxedSocketTimeout: this.#options.maintRelaxedSocketTimeout, + }; + this.#client._maintenanceUpdate(update); + }; + #onMigrated = () => { + //ensure that #isMaintenance doesnt go under 0 + this.#isMaintenance = Math.max(this.#isMaintenance - 1, 0); + if (this.#isMaintenance > 0) { + (0, exports.dbgMaintenance)(`Not ready to unrelax timeouts yet`); + return; + } + const update = { + relaxedCommandTimeout: undefined, + relaxedSocketTimeout: undefined, + }; + this.#client._maintenanceUpdate(update); + }; + #onSMigrated = (push) => { + const smigratedEvent = _a.parseSMigratedPush(push); + (0, exports.dbgMaintenance)(`emit smigratedEvent`, smigratedEvent); + this.#client._handleSmigrated(smigratedEvent); + }; + /** + * Parses an SMIGRATED push message into a structured SMigratedEvent. + * + * SMIGRATED format: + * - SMIGRATED, "seqid", followed by a list of N triplets: + * - source endpoint + * - target endpoint + * - comma separated list of slot ranges + * + * A source and a target endpoint may appear in multiple triplets. + * There is no optimization of the source, dest, slot-range list in the SMIGRATED message. + * The client code should read through the entire list of triplets in order to get a full + * list of moved slots, or full list of sources and targets. + * + * Example: + * [ 'SMIGRATED', 15, [ [ '127.0.0.1:6379', '127.0.0.2:6379', '123,456,789-1000' ], [ '127.0.0.3:6380', '127.0.0.4:6380', '124,457,300-500' ] ] ] + * ^seq ^source1 ^destination1 ^slots ^source2 ^destination2 ^slots + * + * Result structure guarantees: + * - Each source address appears in exactly one entry (entries are deduplicated by source) + * - Within each entry, each destination address appears exactly once (destinations are deduplicated per source) + * - Each destination contains the complete list of slots that moved from that source to that destination + * - Note: The same destination address CAN appear under different sources (e.g., node X receives slots from both A and B) + */ + static parseSMigratedPush(push) { + const map = new Map(); + for (const [src, destination, slots] of push[2]) { + const source = String(src); + const [dHost, dPort] = String(destination).split(':'); + // `slots` could be mix of single slots and ranges, for example: 123,456,789-1000 + const parsedSlots = String(slots).split(',').map((singleOrRange) => { + const separatorIndex = singleOrRange.indexOf('-'); + if (separatorIndex === -1) { + // Its single slot + return Number(singleOrRange); + } + // Its range + return [Number(singleOrRange.substring(0, separatorIndex)), Number(singleOrRange.substring(separatorIndex + 1))]; + }); + const destinations = map.get(source) ?? []; + const dest = destinations.find(d => d.addr.host === dHost && d.addr.port === Number(dPort)); + if (dest) { + // destination already exists, just add the slots + dest.slots = dest.slots.concat(parsedSlots); + } + else { + destinations.push({ + addr: { + host: dHost, + port: Number(dPort) + }, + slots: parsedSlots + }); + } + map.set(source, destinations); + } + const entries = []; + for (const [src, destinations] of map.entries()) { + const [host, port] = src.split(":"); + entries.push({ + source: { + host, + port: Number(port) + }, + destinations + }); + } + return { + seqId: push[1], + entries + }; + } + #getAddress() { + (0, node_assert_1.default)(this.#options.socket !== undefined); + (0, node_assert_1.default)("host" in this.#options.socket); + (0, node_assert_1.default)(typeof this.#options.socket.host === "string"); + const host = this.#options.socket.host; + (0, node_assert_1.default)(typeof this.#options.socket.port === "number"); + const port = this.#options.socket.port; + return { host, port }; + } +} +_a = EnterpriseMaintenanceManager; +exports.default = EnterpriseMaintenanceManager; +function isPrivateIP(ip) { + const version = (0, net_1.isIP)(ip); + if (version === 4) { + const octets = ip.split(".").map(Number); + return (octets[0] === 10 || + (octets[0] === 172 && octets[1] >= 16 && octets[1] <= 31) || + (octets[0] === 192 && octets[1] === 168)); + } + if (version === 6) { + return (ip.startsWith("fc") || // Unique local + ip.startsWith("fd") || // Unique local + ip === "::1" || // Loopback + ip.startsWith("fe80") // Link-local unicast + ); + } + return false; +} +async function determineEndpoint(tlsEnabled, host, options) { + (0, node_assert_1.default)(options.maintEndpointType !== undefined); + if (options.maintEndpointType !== "auto") { + (0, exports.dbgMaintenance)(`Determine endpoint type: ${options.maintEndpointType}`); + return options.maintEndpointType; + } + const ip = (0, net_1.isIP)(host) ? host : (await (0, promises_1.lookup)(host, { family: 0 })).address; + const isPrivate = isPrivateIP(ip); + let result; + if (tlsEnabled) { + result = isPrivate ? "internal-fqdn" : "external-fqdn"; + } + else { + result = isPrivate ? "internal-ip" : "external-ip"; + } + (0, exports.dbgMaintenance)(`Determine endpoint type: ${result}`); + return result; +} +//# sourceMappingURL=enterprise-maintenance-manager.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/enterprise-maintenance-manager.js.map b/back/node_modules/@redis/client/dist/lib/client/enterprise-maintenance-manager.js.map new file mode 100644 index 0000000..f13bfa5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/enterprise-maintenance-manager.js.map @@ -0,0 +1 @@ +{"version":3,"file":"enterprise-maintenance-manager.js","sourceRoot":"","sources":["../../../lib/client/enterprise-maintenance-manager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/index.d.ts b/back/node_modules/@redis/client/dist/lib/client/index.d.ts new file mode 100644 index 0000000..70daae6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/index.d.ts @@ -0,0 +1,375 @@ +/// +/// +/// +import COMMANDS from '../commands'; +import RedisSocket, { RedisSocketOptions } from './socket'; +import { CredentialsProvider } from '../authx'; +import RedisCommandsQueue, { CommandOptions } from './commands-queue'; +import { EventEmitter } from 'node:events'; +import { PubSubType, PubSubListener, PubSubTypeListeners, ChannelListeners } from './pub-sub'; +import { Command, CommandSignature, TypeMapping, CommanderConfig, RedisFunctions, RedisModules, RedisScript, RedisScripts, ReplyUnion, RespVersions, RedisArgument, ReplyWithTypeMapping, SimpleStringReply, TransformReply } from '../RESP/types'; +import { RedisClientMultiCommandType } from './multi-command'; +import { MULTI_MODE, MultiMode, RedisMultiQueuedCommand } from '../multi-command'; +import { ScanOptions, ScanCommonOptions } from '../commands/SCAN'; +import { RedisLegacyClientType } from './legacy-mode'; +import { RedisPoolOptions } from './pool'; +import { RedisVariadicArgument } from '../commands/generic-transformers'; +import { ClientSideCacheConfig, ClientSideCacheProvider } from './cache'; +import { CommandParser } from './parser'; +import { MaintenanceUpdate, MovingEndpointType, SMigratedEvent } from './enterprise-maintenance-manager'; +export interface RedisClientOptions extends CommanderConfig { + /** + * `redis[s]://[[username][:password]@][host][:port][/db-number]` + * See [`redis`](https://www.iana.org/assignments/uri-schemes/prov/redis) and [`rediss`](https://www.iana.org/assignments/uri-schemes/prov/rediss) IANA registration for more details + */ + url?: string; + /** + * Socket connection properties + */ + socket?: SocketOptions; + /** + * ACL username ([see ACL guide](https://redis.io/topics/acl)) + */ + username?: string; + /** + * ACL password or the old "--requirepass" password + */ + password?: string; + /** + * Provides credentials for authentication. Can be set directly or will be created internally + * if username/password are provided instead. If both are supplied, this credentialsProvider + * takes precedence over username/password. + */ + credentialsProvider?: CredentialsProvider; + /** + * Client name ([see `CLIENT SETNAME`](https://redis.io/commands/client-setname)) + */ + name?: string; + /** + * Redis database number (see [`SELECT`](https://redis.io/commands/select) command) + */ + database?: number; + /** + * Maximum length of the client's internal command queue + */ + commandsQueueMaxLength?: number; + /** + * When `true`, commands are rejected when the client is reconnecting. + * When `false`, commands are queued for execution after reconnection. + */ + disableOfflineQueue?: boolean; + /** + * Connect in [`READONLY`](https://redis.io/commands/readonly) mode + */ + readonly?: boolean; + /** + * Send `PING` command at interval (in ms). + * Useful with Redis deployments that do not honor TCP Keep-Alive. + */ + pingInterval?: number; + /** + * Default command options to be applied to all commands executed through this client. + * + * These options can be overridden on a per-command basis when calling specific commands. + * + * @property {symbol} [chainId] - Identifier for chaining commands together + * @property {boolean} [asap] - When true, the command is executed as soon as possible + * @property {AbortSignal} [abortSignal] - AbortSignal to cancel the command + * @property {TypeMapping} [typeMapping] - Custom type mappings between RESP and JavaScript types + * + * @example Setting default command options + * ``` + * const client = createClient({ + * commandOptions: { + * asap: true, + * typeMapping: { + * // Custom type mapping configuration + * } + * } + * }); + * ``` + */ + commandOptions?: CommandOptions; + /** + * Client Side Caching configuration. + * + * Enables Redis Servers and Clients to work together to cache results from commands + * sent to a server. The server will notify the client when cached results are no longer valid. + * + * Note: Client Side Caching is only supported with RESP3. + * + * @example Anonymous cache configuration + * ``` + * const client = createClient({ + * RESP: 3, + * clientSideCache: { + * ttl: 0, + * maxEntries: 0, + * evictPolicy: "LRU" + * } + * }); + * ``` + * + * @example Using a controllable cache + * ``` + * const cache = new BasicClientSideCache({ + * ttl: 0, + * maxEntries: 0, + * evictPolicy: "LRU" + * }); + * const client = createClient({ + * RESP: 3, + * clientSideCache: cache + * }); + * ``` + */ + clientSideCache?: ClientSideCacheProvider | ClientSideCacheConfig; + /** + * If set to true, disables sending client identifier (user-agent like message) to the redis server + */ + disableClientInfo?: boolean; + /** + * Tag to append to library name that is sent to the Redis server + */ + clientInfoTag?: string; + /** + * When set to true, client tracking is turned on and the client emits `invalidate` events when it receives invalidation messages from the redis server. + * Mutually exclusive with `clientSideCache` option. + */ + emitInvalidate?: boolean; + /** + * Controls how the client handles Redis Enterprise maintenance push notifications. + * + * - `disabled`: The feature is not used by the client. + * - `enabled`: The client attempts to enable the feature on the server. If the server responds with an error, the connection is interrupted. + * - `auto`: The client attempts to enable the feature on the server. If the server returns an error, the client disables the feature and continues. + * + * The default is `auto`. + */ + maintNotifications?: 'disabled' | 'enabled' | 'auto'; + /** + * Controls how the client requests the endpoint to reconnect to during a MOVING notification in Redis Enterprise maintenance. + * + * - `auto`: If the connection is opened to a name or IP address that is from/resolves to a reserved private IP range, request an internal endpoint (e.g., internal-ip), otherwise an external one. If TLS is enabled, then request a FQDN. + * - `internal-ip`: Enforce requesting the internal IP. + * - `internal-fqdn`: Enforce requesting the internal FQDN. + * - `external-ip`: Enforce requesting the external IP address. + * - `external-fqdn`: Enforce requesting the external FQDN. + * - `none`: Used to request a null endpoint, which tells the client to reconnect based on its current config + + * The default is `auto`. + */ + maintEndpointType?: MovingEndpointType; + /** + * Specifies a more relaxed timeout (in milliseconds) for commands during a maintenance window. + * This helps minimize command timeouts during maintenance. Timeouts during maintenance period result + * in a `CommandTimeoutDuringMaintenance` error. + * + * The default is 10000 + */ + maintRelaxedCommandTimeout?: number; + /** + * Specifies a more relaxed timeout (in milliseconds) for the socket during a maintenance window. + * This helps minimize socket timeouts during maintenance. Timeouts during maintenance period result + * in a `SocketTimeoutDuringMaintenance` error. + * + * The default is 10000 + */ + maintRelaxedSocketTimeout?: number; +} +export type WithCommands = { + [P in keyof typeof COMMANDS]: CommandSignature<(typeof COMMANDS)[P], RESP, TYPE_MAPPING>; +}; +export type WithModules = { + [P in keyof M]: { + [C in keyof M[P]]: CommandSignature; + }; +}; +export type WithFunctions = { + [L in keyof F]: { + [C in keyof F[L]]: CommandSignature; + }; +}; +export type WithScripts = { + [P in keyof S]: CommandSignature; +}; +export type RedisClientExtensions = (WithCommands & WithModules & WithFunctions & WithScripts); +export type RedisClientType = (RedisClient & RedisClientExtensions); +interface ScanIteratorOptions { + cursor?: RedisArgument; +} +export type MonitorCallback = (reply: ReplyWithTypeMapping) => unknown; +export default class RedisClient extends EventEmitter { + #private; + static factory(config?: CommanderConfig): (options?: Omit, keyof CommanderConfig> | undefined) => RedisClientType; + static create(this: void, options?: RedisClientOptions): RedisClientType; + static parseOptions(options: O): O; + static parseURL(url: string): RedisClientOptions & { + socket: Exclude & { + tls: boolean; + }; + }; + private _self; + private _commandOptions?; + get clientSideCache(): ClientSideCacheProvider | undefined; + get options(): RedisClientOptions; + get isOpen(): boolean; + get isReady(): boolean; + get isPubSubActive(): boolean; + get socketEpoch(): number; + get isWatching(): boolean; + /** + * Indicates whether the client's WATCH command has been invalidated by a topology change. + * When this returns true, any transaction using WATCH will fail with a WatchError. + * @returns true if the watched keys have been modified, false otherwise + */ + get isDirtyWatch(): boolean; + /** + * Marks the client's WATCH command as invalidated due to a topology change. + * This will cause any subsequent EXEC in a transaction to fail with a WatchError. + * @param msg - The error message explaining why the WATCH is dirty + */ + setDirtyWatch(msg: string): void; + constructor(options?: RedisClientOptions); + /** + * @param credentials + */ + private reAuthenticate; + withCommandOptions, TYPE_MAPPING extends TypeMapping>(options: OPTIONS): RedisClientType; + private _commandOptionsProxy; + /** + * Override the `typeMapping` command option + */ + withTypeMapping(typeMapping: TYPE_MAPPING): RedisClientType; + /** + * Override the `abortSignal` command option + */ + withAbortSignal(abortSignal: AbortSignal): RedisClientType; + /** + * Override the `asap` command option to `true` + */ + asap(): RedisClientType; + /** + * Create the "legacy" (v3/callback) interface + */ + legacy(): RedisLegacyClientType; + /** + * Create {@link RedisClientPool `RedisClientPool`} using this client as a prototype + */ + createPool(options?: Partial): import("./pool").RedisClientPoolType; + duplicate<_M extends RedisModules = M, _F extends RedisFunctions = F, _S extends RedisScripts = S, _RESP extends RespVersions = RESP, _TYPE_MAPPING extends TypeMapping = TYPE_MAPPING>(overrides?: Partial>): RedisClientType<_M, _F, _S, _RESP, _TYPE_MAPPING>; + connect(): Promise>; + /** + * @internal + */ + _ejectSocket(): RedisSocket; + /** + * @internal + */ + _insertSocket(socket: RedisSocket): void; + /** + * @internal + */ + _maintenanceUpdate(update: MaintenanceUpdate): void; + /** + * @internal + */ + _pause(): void; + /** + * @internal + */ + _unpause(): void; + /** + * @internal + */ + _handleSmigrated(smigratedEvent: SMigratedEvent): void; + /** + * @internal + */ + _getQueue(): RedisCommandsQueue; + /** + * @internal + */ + _executeCommand(command: Command, parser: CommandParser, commandOptions: CommandOptions | undefined, transformReply: TransformReply | undefined): Promise; + /** + * @internal + */ + _executeScript(script: RedisScript, parser: CommandParser, options: CommandOptions | undefined, transformReply: TransformReply | undefined): Promise; + sendCommand(args: ReadonlyArray, options?: CommandOptions): Promise; + SELECT(db: number): Promise; + select: (db: number) => Promise; + SUBSCRIBE(channels: string | Array, listener: PubSubListener, bufferMode?: T): Promise; + subscribe: (channels: string | Array, listener: PubSubListener, bufferMode?: T | undefined) => Promise; + UNSUBSCRIBE(channels?: string | Array, listener?: PubSubListener, bufferMode?: T): Promise; + unsubscribe: (channels?: string | Array, listener?: PubSubListener | undefined, bufferMode?: T | undefined) => Promise; + PSUBSCRIBE(patterns: string | Array, listener: PubSubListener, bufferMode?: T): Promise; + pSubscribe: (patterns: string | Array, listener: PubSubListener, bufferMode?: T | undefined) => Promise; + PUNSUBSCRIBE(patterns?: string | Array, listener?: PubSubListener, bufferMode?: T): Promise; + pUnsubscribe: (patterns?: string | Array, listener?: PubSubListener | undefined, bufferMode?: T | undefined) => Promise; + SSUBSCRIBE(channels: string | Array, listener: PubSubListener, bufferMode?: T): Promise; + sSubscribe: (channels: string | Array, listener: PubSubListener, bufferMode?: T | undefined) => Promise; + SUNSUBSCRIBE(channels?: string | Array, listener?: PubSubListener, bufferMode?: T): Promise; + sUnsubscribe: (channels?: string | Array, listener?: PubSubListener | undefined, bufferMode?: T | undefined) => Promise; + WATCH(key: RedisVariadicArgument): Promise ? ReplyWithTypeMapping, TYPE_MAPPING> | ReplyWithTypeMapping, TYPE_MAPPING> : "OK">; + watch: (key: RedisVariadicArgument) => Promise ? ReplyWithTypeMapping, TYPE_MAPPING> | ReplyWithTypeMapping, TYPE_MAPPING> : "OK">; + UNWATCH(): Promise ? ReplyWithTypeMapping, TYPE_MAPPING> | ReplyWithTypeMapping, TYPE_MAPPING> : "OK">; + unwatch: () => Promise ? ReplyWithTypeMapping, TYPE_MAPPING> | ReplyWithTypeMapping, TYPE_MAPPING> : "OK">; + getPubSubListeners(type: PubSubType): PubSubTypeListeners; + extendPubSubChannelListeners(type: PubSubType, channel: string, listeners: ChannelListeners): Promise; + extendPubSubListeners(type: PubSubType, listeners: PubSubTypeListeners): Promise; + /** + * @internal + */ + _executePipeline(commands: Array, selectedDB?: number): Promise; + /** + * @internal + */ + _executeMulti(commands: Array, selectedDB?: number): Promise; + MULTI(): RedisClientMultiCommandType; + multi: () => RedisClientMultiCommandType; + scanIterator(this: RedisClientType, options?: ScanOptions & ScanIteratorOptions): AsyncGenerator ? ReplyWithTypeMapping[], T extends StringConstructor ? string : T extends NumberConstructor ? number : T extends BooleanConstructor ? boolean : T extends BigIntConstructor ? bigint : T>, TYPE_MAPPING> : (TYPE_MAPPING[36] extends import("../RESP/types").MappedType ? ReplyWithTypeMapping, TYPE_MAPPING> | ReplyWithTypeMapping, TYPE_MAPPING> : string)[], void, unknown>; + hScanIterator(this: RedisClientType, key: RedisArgument, options?: ScanCommonOptions & ScanIteratorOptions): AsyncGenerator<{ + field: TYPE_MAPPING[36] extends import("../RESP/types").MappedType ? ReplyWithTypeMapping, TYPE_MAPPING> | ReplyWithTypeMapping, TYPE_MAPPING> : string; + value: TYPE_MAPPING[36] extends import("../RESP/types").MappedType ? ReplyWithTypeMapping, TYPE_MAPPING> | ReplyWithTypeMapping, TYPE_MAPPING> : string; + }[], void, unknown>; + hScanValuesIterator(this: RedisClientType, key: RedisArgument, options?: ScanCommonOptions & ScanIteratorOptions): AsyncGenerator<(TYPE_MAPPING[36] extends import("../RESP/types").MappedType ? ReplyWithTypeMapping, TYPE_MAPPING> | ReplyWithTypeMapping, TYPE_MAPPING> : string)[], void, unknown>; + hScanNoValuesIterator(this: RedisClientType, key: RedisArgument, options?: ScanCommonOptions & ScanIteratorOptions): AsyncGenerator<(TYPE_MAPPING[36] extends import("../RESP/types").MappedType ? ReplyWithTypeMapping, TYPE_MAPPING> | ReplyWithTypeMapping, TYPE_MAPPING> : string)[], void, unknown>; + sScanIterator(this: RedisClientType, key: RedisArgument, options?: ScanCommonOptions & ScanIteratorOptions): AsyncGenerator<(TYPE_MAPPING[36] extends import("../RESP/types").MappedType ? ReplyWithTypeMapping, TYPE_MAPPING> | ReplyWithTypeMapping, TYPE_MAPPING> : string)[], void, unknown>; + zScanIterator(this: RedisClientType, key: RedisArgument, options?: ScanCommonOptions & ScanIteratorOptions): AsyncGenerator<{ + value: TYPE_MAPPING[36] extends import("../RESP/types").MappedType ? ReplyWithTypeMapping, TYPE_MAPPING> | ReplyWithTypeMapping, TYPE_MAPPING> : string; + score: TYPE_MAPPING[44] extends import("../RESP/types").MappedType ? ReplyWithTypeMapping, TYPE_MAPPING> | ReplyWithTypeMapping, TYPE_MAPPING> : number; + }[], void, unknown>; + MONITOR(callback: MonitorCallback): Promise; + monitor: (callback: MonitorCallback) => Promise; + /** + * Reset the client to its default state (i.e. stop PubSub, stop monitoring, select default DB, etc.) + */ + reset(): Promise; + /** + * If the client has state, reset it. + * An internal function to be used by wrapper class such as `RedisClientPool`. + * @internal + */ + resetIfDirty(): Promise | undefined; + /** + * @deprecated use .close instead + */ + QUIT(): Promise; + quit: () => Promise; + /** + * @deprecated use .destroy instead + */ + disconnect(): Promise; + /** + * Close the client. Wait for pending commands. + */ + close(): Promise; + /** + * Destroy the client. Rejects all commands immediately. + */ + destroy(): void; + ref(): void; + unref(): void; +} +export {}; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/index.d.ts.map b/back/node_modules/@redis/client/dist/lib/client/index.d.ts.map new file mode 100644 index 0000000..b0fa13d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/client/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/index.js b/back/node_modules/@redis/client/dist/lib/client/index.js new file mode 100644 index 0000000..2f7e693 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/index.js @@ -0,0 +1,990 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +var _a; +Object.defineProperty(exports, "__esModule", { value: true }); +const commands_1 = __importDefault(require("../commands")); +const socket_1 = __importDefault(require("./socket")); +const authx_1 = require("../authx"); +const commands_queue_1 = __importDefault(require("./commands-queue")); +const node_events_1 = require("node:events"); +const commander_1 = require("../commander"); +const errors_1 = require("../errors"); +const node_url_1 = require("node:url"); +const pub_sub_1 = require("./pub-sub"); +const multi_command_1 = __importDefault(require("./multi-command")); +const HELLO_1 = __importDefault(require("../commands/HELLO")); +const legacy_mode_1 = require("./legacy-mode"); +const pool_1 = require("./pool"); +const generic_transformers_1 = require("../commands/generic-transformers"); +const cache_1 = require("./cache"); +const parser_1 = require("./parser"); +const single_entry_cache_1 = __importDefault(require("../single-entry-cache")); +const package_json_1 = require("../../package.json"); +const enterprise_maintenance_manager_1 = __importStar(require("./enterprise-maintenance-manager")); +; +class RedisClient extends node_events_1.EventEmitter { + static #createCommand(command, resp) { + const transformReply = (0, commander_1.getTransformReply)(command, resp); + return async function (...args) { + const parser = new parser_1.BasicCommandParser(); + command.parseCommand(parser, ...args); + return this._self._executeCommand(command, parser, this._commandOptions, transformReply); + }; + } + static #createModuleCommand(command, resp) { + const transformReply = (0, commander_1.getTransformReply)(command, resp); + return async function (...args) { + const parser = new parser_1.BasicCommandParser(); + command.parseCommand(parser, ...args); + return this._self._executeCommand(command, parser, this._self._commandOptions, transformReply); + }; + } + static #createFunctionCommand(name, fn, resp) { + const prefix = (0, commander_1.functionArgumentsPrefix)(name, fn); + const transformReply = (0, commander_1.getTransformReply)(fn, resp); + return async function (...args) { + const parser = new parser_1.BasicCommandParser(); + parser.push(...prefix); + fn.parseCommand(parser, ...args); + return this._self._executeCommand(fn, parser, this._self._commandOptions, transformReply); + }; + } + static #createScriptCommand(script, resp) { + const prefix = (0, commander_1.scriptArgumentsPrefix)(script); + const transformReply = (0, commander_1.getTransformReply)(script, resp); + return async function (...args) { + const parser = new parser_1.BasicCommandParser(); + parser.push(...prefix); + script.parseCommand(parser, ...args); + return this._executeScript(script, parser, this._commandOptions, transformReply); + }; + } + static #SingleEntryCache = new single_entry_cache_1.default(); + static factory(config) { + let Client = _a.#SingleEntryCache.get(config); + if (!Client) { + Client = (0, commander_1.attachConfig)({ + BaseClass: _a, + commands: commands_1.default, + createCommand: _a.#createCommand, + createModuleCommand: _a.#createModuleCommand, + createFunctionCommand: _a.#createFunctionCommand, + createScriptCommand: _a.#createScriptCommand, + config + }); + Client.prototype.Multi = multi_command_1.default.extend(config); + _a.#SingleEntryCache.set(config, Client); + } + return (options) => { + // returning a "proxy" to prevent the namespaces._self to leak between "proxies" + return Object.create(new Client(options)); + }; + } + static create(options) { + return _a.factory(options)(options); + } + static parseOptions(options) { + if (options?.url) { + const parsed = _a.parseURL(options.url); + if (options.socket) { + if (options.socket.tls !== undefined && options.socket.tls !== parsed.socket.tls) { + throw new TypeError(`tls socket option is set to ${options.socket.tls} which is mismatch with protocol or the URL ${options.url} passed`); + } + parsed.socket = Object.assign(options.socket, parsed.socket); + } + Object.assign(options, parsed); + } + return options; + } + static parseURL(url) { + // https://www.iana.org/assignments/uri-schemes/prov/redis + const { hostname, port, protocol, username, password, pathname } = new node_url_1.URL(url), parsed = { + socket: { + // Use net.SocketAddress.parse() once supported. + host: hostname.replace(/^\[([0-9a-f:]+)\]$/, '$1'), + tls: false + } + }; + if (protocol !== 'redis:' && protocol !== 'rediss:') { + throw new TypeError('Invalid protocol'); + } + parsed.socket.tls = protocol === 'rediss:'; + if (port) { + parsed.socket.port = Number(port); + } + if (username) { + parsed.username = decodeURIComponent(username); + } + if (password) { + parsed.password = decodeURIComponent(password); + } + if (username || password) { + parsed.credentialsProvider = { + type: 'async-credentials-provider', + credentials: async () => ({ + username: username ? decodeURIComponent(username) : undefined, + password: password ? decodeURIComponent(password) : undefined + }) + }; + } + if (pathname.length > 1) { + const database = Number(pathname.substring(1)); + if (isNaN(database)) { + throw new TypeError('Invalid pathname'); + } + parsed.database = database; + } + return parsed; + } + #options; + #socket; + #queue; + #selectedDB = 0; + #monitorCallback; + _self = this; + _commandOptions; + // flag used to annotate that the client + // was in a watch transaction when + // a topology change occured + #dirtyWatch; + #watchEpoch; + #clientSideCache; + #credentialsSubscription = null; + // Flag used to pause writing to the socket during maintenance windows. + // When true, prevents new commands from being written while waiting for: + // 1. New socket to be ready after maintenance redirect + // 2. In-flight commands on the old socket to complete + #paused = false; + get clientSideCache() { + return this._self.#clientSideCache; + } + get options() { + return this._self.#options; + } + get isOpen() { + return this._self.#socket.isOpen; + } + get isReady() { + return this._self.#socket.isReady; + } + get isPubSubActive() { + return this._self.#queue.isPubSubActive; + } + get socketEpoch() { + return this._self.#socket.socketEpoch; + } + get isWatching() { + return this._self.#watchEpoch !== undefined; + } + /** + * Indicates whether the client's WATCH command has been invalidated by a topology change. + * When this returns true, any transaction using WATCH will fail with a WatchError. + * @returns true if the watched keys have been modified, false otherwise + */ + get isDirtyWatch() { + return this._self.#dirtyWatch !== undefined; + } + /** + * Marks the client's WATCH command as invalidated due to a topology change. + * This will cause any subsequent EXEC in a transaction to fail with a WatchError. + * @param msg - The error message explaining why the WATCH is dirty + */ + setDirtyWatch(msg) { + this._self.#dirtyWatch = msg; + } + constructor(options) { + super(); + this.#validateOptions(options); + this.#options = this.#initiateOptions(options); + this.#queue = this.#initiateQueue(); + this.#socket = this.#initiateSocket(); + if (this.#options.maintNotifications !== 'disabled') { + new enterprise_maintenance_manager_1.default(this.#queue, this, this.#options); + } + ; + if (this.#options.clientSideCache) { + if (this.#options.clientSideCache instanceof cache_1.ClientSideCacheProvider) { + this.#clientSideCache = this.#options.clientSideCache; + } + else { + const cscConfig = this.#options.clientSideCache; + this.#clientSideCache = new cache_1.BasicClientSideCache(cscConfig); + } + this.#queue.addPushHandler((push) => { + if (push[0].toString() !== 'invalidate') + return false; + if (push[1] !== null) { + for (const key of push[1]) { + this.#clientSideCache?.invalidate(key); + } + } + else { + this.#clientSideCache?.invalidate(null); + } + return true; + }); + } + else if (options?.emitInvalidate) { + this.#queue.addPushHandler((push) => { + if (push[0].toString() !== 'invalidate') + return false; + if (push[1] !== null) { + for (const key of push[1]) { + this.emit('invalidate', key); + } + } + else { + this.emit('invalidate', null); + } + return true; + }); + } + } + #validateOptions(options) { + if (options?.clientSideCache && options?.RESP !== 3) { + throw new Error('Client Side Caching is only supported with RESP3'); + } + if (options?.emitInvalidate && options?.RESP !== 3) { + throw new Error('emitInvalidate is only supported with RESP3'); + } + if (options?.clientSideCache && options?.emitInvalidate) { + throw new Error('emitInvalidate is not supported (or necessary) when clientSideCache is enabled'); + } + if (options?.maintNotifications && options?.maintNotifications !== 'disabled' && options?.RESP !== 3) { + throw new Error('Graceful Maintenance is only supported with RESP3'); + } + } + #initiateOptions(options = {}) { + // Convert username/password to credentialsProvider if no credentialsProvider is already in place + if (!options.credentialsProvider && (options.username || options.password)) { + options.credentialsProvider = { + type: 'async-credentials-provider', + credentials: async () => ({ + username: options.username, + password: options.password + }) + }; + } + if (options.database) { + this._self.#selectedDB = options.database; + } + if (options.commandOptions) { + this._commandOptions = options.commandOptions; + } + if (options.maintNotifications !== 'disabled') { + enterprise_maintenance_manager_1.default.setupDefaultMaintOptions(options); + } + if (options.url) { + const parsedOptions = _a.parseOptions(options); + if (parsedOptions?.database) { + this._self.#selectedDB = parsedOptions.database; + } + return parsedOptions; + } + return options; + } + #initiateQueue() { + return new commands_queue_1.default(this.#options.RESP ?? 2, this.#options.commandsQueueMaxLength, (channel, listeners) => this.emit('sharded-channel-moved', channel, listeners)); + } + /** + * @param credentials + */ + reAuthenticate = async (credentials) => { + // Re-authentication is not supported on RESP2 with PubSub active + if (!(this.isPubSubActive && !this.#options.RESP)) { + await this.sendCommand((0, generic_transformers_1.parseArgs)(commands_1.default.AUTH, { + username: credentials.username, + password: credentials.password ?? '' + })); + } + }; + #subscribeForStreamingCredentials(cp) { + return cp.subscribe({ + onNext: credentials => { + this.reAuthenticate(credentials).catch(error => { + const errorMessage = error instanceof Error ? error.message : String(error); + cp.onReAuthenticationError(new authx_1.CredentialsError(errorMessage)); + }); + }, + onError: (e) => { + const errorMessage = `Error from streaming credentials provider: ${e.message}`; + cp.onReAuthenticationError(new authx_1.UnableToObtainNewCredentialsError(errorMessage)); + } + }); + } + async #handshake(chainId, asap) { + const promises = []; + const commandsWithErrorHandlers = await this.#getHandshakeCommands(); + if (asap) + commandsWithErrorHandlers.reverse(); + for (const { cmd, errorHandler } of commandsWithErrorHandlers) { + promises.push(this.#queue + .addCommand(cmd, { + chainId, + asap + }) + .catch(errorHandler)); + } + return promises; + } + async #getHandshakeCommands() { + const commands = []; + const cp = this.#options.credentialsProvider; + if (this.#options.RESP) { + const hello = {}; + if (cp && cp.type === 'async-credentials-provider') { + const credentials = await cp.credentials(); + if (credentials.password) { + hello.AUTH = { + username: credentials.username ?? 'default', + password: credentials.password + }; + } + } + if (cp && cp.type === 'streaming-credentials-provider') { + const [credentials, disposable] = await this.#subscribeForStreamingCredentials(cp); + this.#credentialsSubscription = disposable; + if (credentials.password) { + hello.AUTH = { + username: credentials.username ?? 'default', + password: credentials.password + }; + } + } + if (this.#options.name) { + hello.SETNAME = this.#options.name; + } + commands.push({ cmd: (0, generic_transformers_1.parseArgs)(HELLO_1.default, this.#options.RESP, hello) }); + } + else { + if (cp && cp.type === 'async-credentials-provider') { + const credentials = await cp.credentials(); + if (credentials.username || credentials.password) { + commands.push({ + cmd: (0, generic_transformers_1.parseArgs)(commands_1.default.AUTH, { + username: credentials.username, + password: credentials.password ?? '' + }) + }); + } + } + if (cp && cp.type === 'streaming-credentials-provider') { + const [credentials, disposable] = await this.#subscribeForStreamingCredentials(cp); + this.#credentialsSubscription = disposable; + if (credentials.username || credentials.password) { + commands.push({ + cmd: (0, generic_transformers_1.parseArgs)(commands_1.default.AUTH, { + username: credentials.username, + password: credentials.password ?? '' + }) + }); + } + } + if (this.#options.name) { + commands.push({ + cmd: (0, generic_transformers_1.parseArgs)(commands_1.default.CLIENT_SETNAME, this.#options.name) + }); + } + } + if (this.#selectedDB !== 0) { + commands.push({ cmd: ['SELECT', this.#selectedDB.toString()] }); + } + if (this.#options.readonly) { + commands.push({ cmd: (0, generic_transformers_1.parseArgs)(commands_1.default.READONLY) }); + } + if (!this.#options.disableClientInfo) { + commands.push({ + cmd: ['CLIENT', 'SETINFO', 'LIB-VER', package_json_1.version], + errorHandler: () => { + // Client libraries are expected to pipeline this command + // after authentication on all connections and ignore failures + // since they could be connected to an older version that doesn't support them. + } + }); + commands.push({ + cmd: [ + 'CLIENT', + 'SETINFO', + 'LIB-NAME', + this.#options.clientInfoTag + ? `node-redis(${this.#options.clientInfoTag})` + : 'node-redis' + ], + errorHandler: () => { + // Client libraries are expected to pipeline this command + // after authentication on all connections and ignore failures + // since they could be connected to an older version that doesn't support them. + } + }); + } + if (this.#clientSideCache) { + commands.push({ cmd: this.#clientSideCache.trackingOn() }); + } + if (this.#options?.emitInvalidate) { + commands.push({ cmd: ['CLIENT', 'TRACKING', 'ON'] }); + } + const maintenanceHandshakeCmd = await enterprise_maintenance_manager_1.default.getHandshakeCommand(this.#options); + if (maintenanceHandshakeCmd) { + commands.push(maintenanceHandshakeCmd); + } + ; + return commands; + } + #attachListeners(socket) { + socket.on('data', chunk => { + try { + this.#queue.decoder.write(chunk); + } + catch (err) { + this.#queue.resetDecoder(); + this.emit('error', err); + } + }) + .on('error', err => { + this.emit('error', err); + this.#clientSideCache?.onError(); + if (this.#socket.isOpen && !this.#options.disableOfflineQueue) { + this.#queue.flushWaitingForReply(err); + } + else { + this.#queue.flushAll(err); + } + }) + .on('connect', () => this.emit('connect')) + .on('ready', () => { + this.emit('ready'); + this.#setPingTimer(); + this.#maybeScheduleWrite(); + }) + .on('reconnecting', () => this.emit('reconnecting')) + .on('drain', () => this.#maybeScheduleWrite()) + .on('end', () => this.emit('end')); + } + #initiateSocket() { + const socketInitiator = async () => { + const promises = [], chainId = Symbol('Socket Initiator'); + const resubscribePromise = this.#queue.resubscribe(chainId); + resubscribePromise?.catch(error => { + if (error.message && error.message.startsWith('MOVED')) { + this.emit('__MOVED', this._self.#queue.removeAllPubSubListeners()); + } + }); + if (resubscribePromise) { + promises.push(resubscribePromise); + } + if (this.#monitorCallback) { + promises.push(this.#queue.monitor(this.#monitorCallback, { + typeMapping: this._commandOptions?.typeMapping, + chainId, + asap: true + })); + } + promises.push(...(await this.#handshake(chainId, true))); + if (promises.length) { + this.#write(); + return Promise.all(promises); + } + }; + const socket = new socket_1.default(socketInitiator, this.#options.socket); + this.#attachListeners(socket); + return socket; + } + #pingTimer; + #setPingTimer() { + if (!this.#options.pingInterval || !this.#socket.isReady) + return; + clearTimeout(this.#pingTimer); + this.#pingTimer = setTimeout(() => { + if (!this.#socket.isReady) + return; + this.sendCommand(['PING']) + .then(reply => this.emit('ping-interval', reply)) + .catch(err => this.emit('error', err)) + .finally(() => this.#setPingTimer()); + }, this.#options.pingInterval); + } + withCommandOptions(options) { + const proxy = Object.create(this._self); + proxy._commandOptions = options; + return proxy; + } + _commandOptionsProxy(key, value) { + const proxy = Object.create(this._self); + proxy._commandOptions = Object.create(this._commandOptions ?? null); + proxy._commandOptions[key] = value; + return proxy; + } + /** + * Override the `typeMapping` command option + */ + withTypeMapping(typeMapping) { + return this._commandOptionsProxy('typeMapping', typeMapping); + } + /** + * Override the `abortSignal` command option + */ + withAbortSignal(abortSignal) { + return this._commandOptionsProxy('abortSignal', abortSignal); + } + /** + * Override the `asap` command option to `true` + */ + asap() { + return this._commandOptionsProxy('asap', true); + } + /** + * Create the "legacy" (v3/callback) interface + */ + legacy() { + return new legacy_mode_1.RedisLegacyClient(this); + } + /** + * Create {@link RedisClientPool `RedisClientPool`} using this client as a prototype + */ + createPool(options) { + return pool_1.RedisClientPool.create(this._self.#options, options); + } + duplicate(overrides) { + return new (Object.getPrototypeOf(this).constructor)({ + ...this._self.#options, + commandOptions: this._commandOptions, + ...overrides + }); + } + async connect() { + await this._self.#socket.connect(); + return this; + } + /** + * @internal + */ + _ejectSocket() { + const socket = this._self.#socket; + // @ts-ignore + this._self.#socket = null; + socket.removeAllListeners(); + return socket; + } + /** + * @internal + */ + _insertSocket(socket) { + if (this._self.#socket) { + this._self._ejectSocket().destroy(); + } + this._self.#socket = socket; + this._self.#attachListeners(this._self.#socket); + } + /** + * @internal + */ + _maintenanceUpdate(update) { + this._self.#socket.setMaintenanceTimeout(update.relaxedSocketTimeout); + this._self.#queue.setMaintenanceCommandTimeout(update.relaxedCommandTimeout); + } + /** + * @internal + */ + _pause() { + this._self.#paused = true; + } + /** + * @internal + */ + _unpause() { + this._self.#paused = false; + this._self.#maybeScheduleWrite(); + } + /** + * @internal + */ + _handleSmigrated(smigratedEvent) { + this._self.emit(enterprise_maintenance_manager_1.SMIGRATED_EVENT, smigratedEvent); + } + /** + * @internal + */ + _getQueue() { + return this._self.#queue; + } + /** + * @internal + */ + async _executeCommand(command, parser, commandOptions, transformReply) { + const csc = this._self.#clientSideCache; + const defaultTypeMapping = this._self.#options.commandOptions === commandOptions || + (this._self.#options.commandOptions?.typeMapping === commandOptions?.typeMapping); + const fn = () => { return this.sendCommand(parser.redisArgs, commandOptions); }; + if (csc && command.CACHEABLE && defaultTypeMapping) { + return await csc.handleCache(this._self, parser, fn, transformReply, commandOptions?.typeMapping); + } + else { + const reply = await fn(); + if (transformReply) { + return transformReply(reply, parser.preserve, commandOptions?.typeMapping); + } + return reply; + } + } + /** + * @internal + */ + async _executeScript(script, parser, options, transformReply) { + const args = parser.redisArgs; + let reply; + try { + reply = await this.sendCommand(args, options); + } + catch (err) { + if (!err?.message?.startsWith?.('NOSCRIPT')) + throw err; + args[0] = 'EVAL'; + args[1] = script.SCRIPT; + reply = await this.sendCommand(args, options); + } + return transformReply ? + transformReply(reply, parser.preserve, options?.typeMapping) : + reply; + } + sendCommand(args, options) { + if (!this._self.#socket.isOpen) { + return Promise.reject(new errors_1.ClientClosedError()); + } + else if (!this._self.#socket.isReady && this._self.#options.disableOfflineQueue) { + return Promise.reject(new errors_1.ClientOfflineError()); + } + // Merge global options with provided options + const opts = { + ...this._self._commandOptions, + ...options, + }; + const promise = this._self.#queue.addCommand(args, opts); + this._self.#scheduleWrite(); + return promise; + } + async SELECT(db) { + await this.sendCommand(['SELECT', db.toString()]); + this._self.#selectedDB = db; + } + select = this.SELECT; + #pubSubCommand(promise) { + if (promise === undefined) + return Promise.resolve(); + this.#scheduleWrite(); + return promise; + } + SUBSCRIBE(channels, listener, bufferMode) { + return this._self.#pubSubCommand(this._self.#queue.subscribe(pub_sub_1.PUBSUB_TYPE.CHANNELS, channels, listener, bufferMode)); + } + subscribe = this.SUBSCRIBE; + UNSUBSCRIBE(channels, listener, bufferMode) { + return this._self.#pubSubCommand(this._self.#queue.unsubscribe(pub_sub_1.PUBSUB_TYPE.CHANNELS, channels, listener, bufferMode)); + } + unsubscribe = this.UNSUBSCRIBE; + PSUBSCRIBE(patterns, listener, bufferMode) { + return this._self.#pubSubCommand(this._self.#queue.subscribe(pub_sub_1.PUBSUB_TYPE.PATTERNS, patterns, listener, bufferMode)); + } + pSubscribe = this.PSUBSCRIBE; + PUNSUBSCRIBE(patterns, listener, bufferMode) { + return this._self.#pubSubCommand(this._self.#queue.unsubscribe(pub_sub_1.PUBSUB_TYPE.PATTERNS, patterns, listener, bufferMode)); + } + pUnsubscribe = this.PUNSUBSCRIBE; + SSUBSCRIBE(channels, listener, bufferMode) { + return this._self.#pubSubCommand(this._self.#queue.subscribe(pub_sub_1.PUBSUB_TYPE.SHARDED, channels, listener, bufferMode)); + } + sSubscribe = this.SSUBSCRIBE; + SUNSUBSCRIBE(channels, listener, bufferMode) { + return this._self.#pubSubCommand(this._self.#queue.unsubscribe(pub_sub_1.PUBSUB_TYPE.SHARDED, channels, listener, bufferMode)); + } + sUnsubscribe = this.SUNSUBSCRIBE; + async WATCH(key) { + const reply = await this._self.sendCommand((0, generic_transformers_1.pushVariadicArguments)(['WATCH'], key)); + this._self.#watchEpoch ??= this._self.socketEpoch; + return reply; + } + watch = this.WATCH; + async UNWATCH() { + const reply = await this._self.sendCommand(['UNWATCH']); + this._self.#watchEpoch = undefined; + return reply; + } + unwatch = this.UNWATCH; + getPubSubListeners(type) { + return this._self.#queue.getPubSubListeners(type); + } + extendPubSubChannelListeners(type, channel, listeners) { + return this._self.#pubSubCommand(this._self.#queue.extendPubSubChannelListeners(type, channel, listeners)); + } + extendPubSubListeners(type, listeners) { + return this._self.#pubSubCommand(this._self.#queue.extendPubSubListeners(type, listeners)); + } + #write() { + if (this.#paused) { + return; + } + this.#socket.write(this.#queue.commandsToWrite()); + } + #scheduledWrite; + #scheduleWrite() { + if (!this.#socket.isReady || this.#scheduledWrite) + return; + this.#scheduledWrite = setImmediate(() => { + this.#write(); + this.#scheduledWrite = undefined; + }); + } + #maybeScheduleWrite() { + if (!this.#queue.isWaitingToWrite()) + return; + this.#scheduleWrite(); + } + /** + * @internal + */ + async _executePipeline(commands, selectedDB) { + if (!this._self.#socket.isOpen) { + return Promise.reject(new errors_1.ClientClosedError()); + } + const chainId = Symbol('Pipeline Chain'), promise = Promise.all(commands.map(({ args }) => this._self.#queue.addCommand(args, { + chainId, + typeMapping: this._commandOptions?.typeMapping + }))); + this._self.#scheduleWrite(); + const result = await promise; + if (selectedDB !== undefined) { + this._self.#selectedDB = selectedDB; + } + return result; + } + /** + * @internal + */ + async _executeMulti(commands, selectedDB) { + const dirtyWatch = this._self.#dirtyWatch; + this._self.#dirtyWatch = undefined; + const watchEpoch = this._self.#watchEpoch; + this._self.#watchEpoch = undefined; + if (!this._self.#socket.isOpen) { + throw new errors_1.ClientClosedError(); + } + if (dirtyWatch) { + throw new errors_1.WatchError(dirtyWatch); + } + if (watchEpoch && watchEpoch !== this._self.socketEpoch) { + throw new errors_1.WatchError('Client reconnected after WATCH'); + } + const typeMapping = this._commandOptions?.typeMapping; + const chainId = Symbol('MULTI Chain'); + const promises = [ + this._self.#queue.addCommand(['MULTI'], { chainId }), + ]; + for (const { args } of commands) { + promises.push(this._self.#queue.addCommand(args, { + chainId, + typeMapping + })); + } + promises.push(this._self.#queue.addCommand(['EXEC'], { chainId })); + this._self.#scheduleWrite(); + const results = await Promise.all(promises), execResult = results[results.length - 1]; + if (execResult === null) { + throw new errors_1.WatchError(); + } + if (selectedDB !== undefined) { + this._self.#selectedDB = selectedDB; + } + return execResult; + } + MULTI() { + return new this.Multi(this._executeMulti.bind(this), this._executePipeline.bind(this), this._commandOptions?.typeMapping); + } + multi = this.MULTI; + async *scanIterator(options) { + let cursor = options?.cursor ?? '0'; + do { + const reply = await this.scan(cursor, options); + cursor = reply.cursor; + yield reply.keys; + } while (cursor !== '0'); + } + async *hScanIterator(key, options) { + let cursor = options?.cursor ?? '0'; + do { + const reply = await this.hScan(key, cursor, options); + cursor = reply.cursor; + yield reply.entries; + } while (cursor !== '0'); + } + async *hScanValuesIterator(key, options) { + let cursor = options?.cursor ?? '0'; + do { + const reply = await this.hScanNoValues(key, cursor, options); + cursor = reply.cursor; + yield reply.fields; + } while (cursor !== '0'); + } + async *hScanNoValuesIterator(key, options) { + let cursor = options?.cursor ?? '0'; + do { + const reply = await this.hScanNoValues(key, cursor, options); + cursor = reply.cursor; + yield reply.fields; + } while (cursor !== '0'); + } + async *sScanIterator(key, options) { + let cursor = options?.cursor ?? '0'; + do { + const reply = await this.sScan(key, cursor, options); + cursor = reply.cursor; + yield reply.members; + } while (cursor !== '0'); + } + async *zScanIterator(key, options) { + let cursor = options?.cursor ?? '0'; + do { + const reply = await this.zScan(key, cursor, options); + cursor = reply.cursor; + yield reply.members; + } while (cursor !== '0'); + } + async MONITOR(callback) { + const promise = this._self.#queue.monitor(callback, { + typeMapping: this._commandOptions?.typeMapping + }); + this._self.#scheduleWrite(); + await promise; + this._self.#monitorCallback = callback; + } + monitor = this.MONITOR; + /** + * Reset the client to its default state (i.e. stop PubSub, stop monitoring, select default DB, etc.) + */ + async reset() { + const chainId = Symbol('Reset Chain'), promises = [this._self.#queue.reset(chainId)], selectedDB = this._self.#options?.database ?? 0; + this._self.#credentialsSubscription?.dispose(); + this._self.#credentialsSubscription = null; + promises.push(...(await this._self.#handshake(chainId, false))); + this._self.#scheduleWrite(); + await Promise.all(promises); + this._self.#selectedDB = selectedDB; + this._self.#monitorCallback = undefined; + this._self.#dirtyWatch = undefined; + this._self.#watchEpoch = undefined; + } + /** + * If the client has state, reset it. + * An internal function to be used by wrapper class such as `RedisClientPool`. + * @internal + */ + resetIfDirty() { + let shouldReset = false; + if (this._self.#selectedDB !== (this._self.#options?.database ?? 0)) { + console.warn('Returning a client with a different selected DB'); + shouldReset = true; + } + if (this._self.#monitorCallback) { + console.warn('Returning a client with active MONITOR'); + shouldReset = true; + } + if (this._self.#queue.isPubSubActive) { + console.warn('Returning a client with active PubSub'); + shouldReset = true; + } + if (this._self.#dirtyWatch || this._self.#watchEpoch) { + console.warn('Returning a client with active WATCH'); + shouldReset = true; + } + if (shouldReset) { + return this.reset(); + } + } + /** + * @deprecated use .close instead + */ + QUIT() { + this._self.#credentialsSubscription?.dispose(); + this._self.#credentialsSubscription = null; + return this._self.#socket.quit(async () => { + clearTimeout(this._self.#pingTimer); + const quitPromise = this._self.#queue.addCommand(['QUIT']); + this._self.#scheduleWrite(); + return quitPromise; + }); + } + quit = this.QUIT; + /** + * @deprecated use .destroy instead + */ + disconnect() { + return Promise.resolve(this.destroy()); + } + /** + * Close the client. Wait for pending commands. + */ + close() { + return new Promise(resolve => { + clearTimeout(this._self.#pingTimer); + this._self.#socket.close(); + this._self.#clientSideCache?.onClose(); + if (this._self.#queue.isEmpty()) { + this._self.#socket.destroySocket(); + return resolve(); + } + const maybeClose = () => { + if (!this._self.#queue.isEmpty()) + return; + this._self.#socket.off('data', maybeClose); + this._self.#socket.destroySocket(); + resolve(); + }; + this._self.#socket.on('data', maybeClose); + this._self.#credentialsSubscription?.dispose(); + this._self.#credentialsSubscription = null; + }); + } + /** + * Destroy the client. Rejects all commands immediately. + */ + destroy() { + clearTimeout(this._self.#pingTimer); + this._self.#queue.flushAll(new errors_1.DisconnectsClientError()); + this._self.#socket.destroy(); + this._self.#clientSideCache?.onClose(); + this._self.#credentialsSubscription?.dispose(); + this._self.#credentialsSubscription = null; + } + ref() { + this._self.#socket.ref(); + } + unref() { + this._self.#socket.unref(); + } +} +_a = RedisClient; +exports.default = RedisClient; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/index.js.map b/back/node_modules/@redis/client/dist/lib/client/index.js.map new file mode 100644 index 0000000..c99e7a4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/client/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/legacy-mode.d.ts b/back/node_modules/@redis/client/dist/lib/client/legacy-mode.d.ts new file mode 100644 index 0000000..eb6166d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/legacy-mode.d.ts @@ -0,0 +1,37 @@ +/// +import { RedisModules, RedisFunctions, RedisScripts, RespVersions, Command, CommandArguments, ReplyUnion } from '../RESP/types'; +import { RedisClientType } from '.'; +import { ErrorReply } from '../errors'; +import COMMANDS from '../commands'; +type LegacyArgument = string | Buffer | number | Date; +type LegacyArguments = Array; +type LegacyCallback = (err: ErrorReply | null, reply?: ReplyUnion) => unknown; +type LegacyCommandArguments = LegacyArguments | [ + ...args: LegacyArguments, + callback: LegacyCallback +]; +type WithCommands = { + [P in keyof typeof COMMANDS]: (...args: LegacyCommandArguments) => void; +}; +export type RedisLegacyClientType = RedisLegacyClient & WithCommands; +export declare class RedisLegacyClient { + #private; + static pushArguments(redisArgs: CommandArguments, args: LegacyArguments): void; + static getTransformReply(command: Command, resp: RespVersions): import("../RESP/types").TransformReply | undefined; + constructor(client: RedisClientType); + sendCommand(...args: LegacyCommandArguments): void; + multi(): RedisLegacyMultiType; +} +type MultiWithCommands = { + [P in keyof typeof COMMANDS]: (...args: LegacyCommandArguments) => RedisLegacyMultiType; +}; +export type RedisLegacyMultiType = LegacyMultiCommand & MultiWithCommands; +declare class LegacyMultiCommand { + #private; + static factory(resp: RespVersions): (client: RedisClientType) => RedisLegacyMultiType; + constructor(client: RedisClientType); + sendCommand(...args: LegacyArguments): this; + exec(cb?: (err: ErrorReply | null, replies?: Array) => unknown): void; +} +export {}; +//# sourceMappingURL=legacy-mode.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/legacy-mode.d.ts.map b/back/node_modules/@redis/client/dist/lib/client/legacy-mode.d.ts.map new file mode 100644 index 0000000..976d82b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/legacy-mode.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"legacy-mode.d.ts","sourceRoot":"","sources":["../../../lib/client/legacy-mode.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChI,OAAO,EAAE,eAAe,EAAE,MAAM,GAAG,CAAC;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,QAAQ,MAAM,aAAa,CAAC;AAGnC,KAAK,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAEtD,KAAK,eAAe,GAAG,KAAK,CAAC,cAAc,GAAG,eAAe,CAAC,CAAC;AAE/D,KAAK,cAAc,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,UAAU,KAAK,OAAO,CAAA;AAE7E,KAAK,sBAAsB,GAAG,eAAe,GAAG;IAC9C,GAAG,IAAI,EAAE,eAAe;IACxB,QAAQ,EAAE,cAAc;CACzB,CAAC;AAEF,KAAK,YAAY,GAAG;KACjB,CAAC,IAAI,MAAM,OAAO,QAAQ,GAAG,CAAC,GAAG,IAAI,EAAE,sBAAsB,KAAK,IAAI;CACxE,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GAAG,YAAY,CAAC;AAErE,qBAAa,iBAAiB;;IAY5B,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,eAAe;IAevE,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY;gBA4B3D,MAAM,EAAE,eAAe,CAAC,YAAY,EAAE,cAAc,EAAE,YAAY,CAAC;IAiBrE,WAAW,CAAC,GAAG,IAAI,EAAE,sBAAsB;IAe3C,KAAK;CAGN;AAED,KAAK,iBAAiB,GAAG;KACtB,CAAC,IAAI,MAAM,OAAO,QAAQ,GAAG,CAAC,GAAG,IAAI,EAAE,sBAAsB,KAAK,oBAAoB;CACxF,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG,iBAAiB,CAAC;AAE1E,cAAM,kBAAkB;;IAWtB,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,YAYf,gBAAgB,YAAY,EAAE,cAAc,EAAE,YAAY,CAAC;gBAQjE,MAAM,EAAE,eAAe,CAAC,YAAY,EAAE,cAAc,EAAE,YAAY,CAAC;IAI/E,WAAW,CAAC,GAAG,IAAI,EAAE,eAAe;IAOpC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,OAAO;CAYxE"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/legacy-mode.js b/back/node_modules/@redis/client/dist/lib/client/legacy-mode.js new file mode 100644 index 0000000..5431d58 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/legacy-mode.js @@ -0,0 +1,119 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.RedisLegacyClient = void 0; +const commander_1 = require("../commander"); +const commands_1 = __importDefault(require("../commands")); +const multi_command_1 = __importDefault(require("../multi-command")); +class RedisLegacyClient { + static #transformArguments(redisArgs, args) { + let callback; + if (typeof args[args.length - 1] === 'function') { + callback = args.pop(); + } + RedisLegacyClient.pushArguments(redisArgs, args); + return callback; + } + static pushArguments(redisArgs, args) { + for (let i = 0; i < args.length; ++i) { + const arg = args[i]; + if (Array.isArray(arg)) { + RedisLegacyClient.pushArguments(redisArgs, arg); + } + else { + redisArgs.push(typeof arg === 'number' || arg instanceof Date ? + arg.toString() : + arg); + } + } + } + static getTransformReply(command, resp) { + return command.TRANSFORM_LEGACY_REPLY ? + (0, commander_1.getTransformReply)(command, resp) : + undefined; + } + static #createCommand(name, command, resp) { + const transformReply = RedisLegacyClient.getTransformReply(command, resp); + return function (...args) { + const redisArgs = [name], callback = RedisLegacyClient.#transformArguments(redisArgs, args), promise = this.#client.sendCommand(redisArgs); + if (!callback) { + promise.catch(err => this.#client.emit('error', err)); + return; + } + promise + .then(reply => callback(null, transformReply ? transformReply(reply) : reply)) + .catch(err => callback(err)); + }; + } + #client; + #Multi; + constructor(client) { + this.#client = client; + const RESP = client.options?.RESP ?? 2; + for (const [name, command] of Object.entries(commands_1.default)) { + // TODO: as any? + this[name] = RedisLegacyClient.#createCommand(name, command, RESP); + } + this.#Multi = LegacyMultiCommand.factory(RESP); + } + sendCommand(...args) { + const redisArgs = [], callback = RedisLegacyClient.#transformArguments(redisArgs, args), promise = this.#client.sendCommand(redisArgs); + if (!callback) { + promise.catch(err => this.#client.emit('error', err)); + return; + } + promise + .then(reply => callback(null, reply)) + .catch(err => callback(err)); + } + multi() { + return this.#Multi(this.#client); + } +} +exports.RedisLegacyClient = RedisLegacyClient; +class LegacyMultiCommand { + static #createCommand(name, command, resp) { + const transformReply = RedisLegacyClient.getTransformReply(command, resp); + return function (...args) { + const redisArgs = [name]; + RedisLegacyClient.pushArguments(redisArgs, args); + this.#multi.addCommand(redisArgs, transformReply); + return this; + }; + } + static factory(resp) { + const Multi = class extends LegacyMultiCommand { + }; + for (const [name, command] of Object.entries(commands_1.default)) { + // TODO: as any? + Multi.prototype[name] = LegacyMultiCommand.#createCommand(name, command, resp); + } + return (client) => { + return new Multi(client); + }; + } + #multi = new multi_command_1.default(); + #client; + constructor(client) { + this.#client = client; + } + sendCommand(...args) { + const redisArgs = []; + RedisLegacyClient.pushArguments(redisArgs, args); + this.#multi.addCommand(redisArgs); + return this; + } + exec(cb) { + const promise = this.#client._executeMulti(this.#multi.queue); + if (!cb) { + promise.catch(err => this.#client.emit('error', err)); + return; + } + promise + .then(results => cb(null, this.#multi.transformReplies(results))) + .catch(err => cb?.(err)); + } +} +//# sourceMappingURL=legacy-mode.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/legacy-mode.js.map b/back/node_modules/@redis/client/dist/lib/client/legacy-mode.js.map new file mode 100644 index 0000000..e596e99 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/legacy-mode.js.map @@ -0,0 +1 @@ +{"version":3,"file":"legacy-mode.js","sourceRoot":"","sources":["../../../lib/client/legacy-mode.ts"],"names":[],"mappings":";;;;;;AAEA,4CAAiD;AAEjD,2DAAmC;AACnC,qEAAiD;AAmBjD,MAAa,iBAAiB;IAC5B,MAAM,CAAC,mBAAmB,CAAC,SAA2B,EAAE,IAA4B;QAClF,IAAI,QAAoC,CAAC;QACzC,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;YAChD,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAoB,CAAC;QAC1C,CAAC;QAED,iBAAiB,CAAC,aAAa,CAAC,SAAS,EAAE,IAAuB,CAAC,CAAC;QAEpE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,SAA2B,EAAE,IAAqB;QACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,iBAAiB,CAAC,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,IAAI,CACZ,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,YAAY,IAAI,CAAC,CAAC;oBAC9C,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAChB,GAAG,CACN,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,OAAgB,EAAE,IAAkB;QAC3D,OAAO,OAAO,CAAC,sBAAsB,CAAC,CAAC;YACrC,IAAA,6BAAiB,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAClC,SAAS,CAAC;IACd,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,IAAY,EAAE,OAAgB,EAAE,IAAkB;QACtE,MAAM,cAAc,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1E,OAAO,UAAmC,GAAG,IAA4B;YACvE,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,EACtB,QAAQ,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,EACjE,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAEhD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YAED,OAAO;iBACJ,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;iBAC7E,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,CAA8D;IACrE,MAAM,CAAmD;IAEzD,YACE,MAAmE;QAEnE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC;QACvC,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,kBAAQ,CAAC,EAAE,CAAC;YACvD,gBAAgB;YACf,IAAY,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,cAAc,CACpD,IAAI,EACJ,OAAO,EACP,IAAI,CACL,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,WAAW,CAAC,GAAG,IAA4B;QACzC,MAAM,SAAS,GAAqB,EAAE,EACpC,QAAQ,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,EACjE,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAEhD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAED,OAAO;aACJ,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACpC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;CACF;AA1FD,8CA0FC;AAQD,MAAM,kBAAkB;IACtB,MAAM,CAAC,cAAc,CAAC,IAAY,EAAE,OAAgB,EAAE,IAAkB;QACtE,MAAM,cAAc,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1E,OAAO,UAAoC,GAAG,IAAqB;YACjE,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,CAAC;YACzB,iBAAiB,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,IAAkB;QAC/B,MAAM,KAAK,GAAG,KAAM,SAAQ,kBAAkB;SAAG,CAAC;QAElD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,kBAAQ,CAAC,EAAE,CAAC;YACvD,gBAAgB;YACf,KAAa,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,cAAc,CAChE,IAAI,EACJ,OAAO,EACP,IAAI,CACL,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,MAAmE,EAAE,EAAE;YAC7E,OAAO,IAAI,KAAK,CAAC,MAAM,CAAoC,CAAC;QAC9D,CAAC,CAAC;IACJ,CAAC;IAEQ,MAAM,GAAG,IAAI,uBAAiB,EAAE,CAAC;IACjC,OAAO,CAA8D;IAE9E,YAAY,MAAmE;QAC7E,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,WAAW,CAAC,GAAG,IAAqB;QAClC,MAAM,SAAS,GAAqB,EAAE,CAAC;QACvC,iBAAiB,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,EAAkE;QACrE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE9D,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAED,OAAO;aACJ,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;aAChE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC;CACF"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/linked-list.d.ts b/back/node_modules/@redis/client/dist/lib/client/linked-list.d.ts new file mode 100644 index 0000000..fd4e15d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/linked-list.d.ts @@ -0,0 +1,68 @@ +/// +import EventEmitter from "events"; +export interface DoublyLinkedNode { + value: T; + previous: DoublyLinkedNode | undefined; + next: DoublyLinkedNode | undefined; +} +export declare class DoublyLinkedList { + #private; + get length(): number; + get head(): DoublyLinkedNode | undefined; + get tail(): DoublyLinkedNode | undefined; + push(value: T): { + previous: DoublyLinkedNode | undefined; + next: undefined; + value: T; + }; + unshift(value: T): { + previous: undefined; + next: undefined; + value: T; + } | { + previous: undefined; + next: DoublyLinkedNode; + value: T; + }; + add(value: T, prepend?: boolean): { + previous: DoublyLinkedNode | undefined; + next: undefined; + value: T; + } | { + previous: undefined; + next: DoublyLinkedNode; + value: T; + }; + shift(): T | undefined; + remove(node: DoublyLinkedNode): void; + reset(): void; + [Symbol.iterator](): Generator; + nodes(): Generator, void, unknown>; +} +export interface SinglyLinkedNode { + value: T; + next: SinglyLinkedNode | undefined; + removed: boolean; +} +export declare class SinglyLinkedList { + #private; + get length(): number; + get head(): SinglyLinkedNode | undefined; + get tail(): SinglyLinkedNode | undefined; + push(value: T): { + value: T; + next: undefined; + removed: boolean; + }; + remove(node: SinglyLinkedNode, parent: SinglyLinkedNode | undefined): void; + shift(): T | undefined; + reset(): void; + [Symbol.iterator](): Generator; +} +export declare class EmptyAwareSinglyLinkedList extends SinglyLinkedList { + readonly events: EventEmitter; + reset(): void; + shift(): T | undefined; + remove(node: SinglyLinkedNode, parent: SinglyLinkedNode | undefined): void; +} +//# sourceMappingURL=linked-list.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/linked-list.d.ts.map b/back/node_modules/@redis/client/dist/lib/client/linked-list.d.ts.map new file mode 100644 index 0000000..43693fd --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/linked-list.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"linked-list.d.ts","sourceRoot":"","sources":["../../../lib/client/linked-list.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAElC,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAC1C,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;CACvC;AAED,qBAAa,gBAAgB,CAAC,CAAC;;IAG7B,IAAI,MAAM,WAET;IAID,IAAI,IAAI,oCAEP;IAID,IAAI,IAAI,oCAEP;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;;;;;IAkBb,OAAO,CAAC,KAAK,EAAE,CAAC;;;;;;;;;IAkBhB,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,UAAQ;;;;;;;;;IAM7B,KAAK;IAeL,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAqBhC,KAAK;IAKJ,CAAC,MAAM,CAAC,QAAQ,CAAC;IAQjB,KAAK;CAQP;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC;IACT,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACtC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,gBAAgB,CAAC,CAAC;;IAG7B,IAAI,MAAM,WAET;IAID,IAAI,IAAI,oCAEP;IAID,IAAI,IAAI,oCAEP;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;;;;;IAgBb,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS;IAsBzE,KAAK;IAcL,KAAK;IAKJ,CAAC,MAAM,CAAC,QAAQ,CAAC;CAOnB;AAED,qBAAa,0BAA0B,CAAC,CAAC,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC;IACpE,QAAQ,CAAC,MAAM,eAAsB;IACrC,KAAK;IAOL,KAAK,IAAI,CAAC,GAAG,SAAS;IAQtB,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS;CAQ1E"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/linked-list.js b/back/node_modules/@redis/client/dist/lib/client/linked-list.js new file mode 100644 index 0000000..d49b6ca --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/linked-list.js @@ -0,0 +1,212 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.EmptyAwareSinglyLinkedList = exports.SinglyLinkedList = exports.DoublyLinkedList = void 0; +const events_1 = __importDefault(require("events")); +class DoublyLinkedList { + #length = 0; + get length() { + return this.#length; + } + #head; + get head() { + return this.#head; + } + #tail; + get tail() { + return this.#tail; + } + push(value) { + ++this.#length; + if (this.#tail === undefined) { + return this.#head = this.#tail = { + previous: this.#head, + next: undefined, + value + }; + } + return this.#tail = this.#tail.next = { + previous: this.#tail, + next: undefined, + value + }; + } + unshift(value) { + ++this.#length; + if (this.#head === undefined) { + return this.#head = this.#tail = { + previous: undefined, + next: undefined, + value + }; + } + return this.#head = this.#head.previous = { + previous: undefined, + next: this.#head, + value + }; + } + add(value, prepend = false) { + return prepend ? + this.unshift(value) : + this.push(value); + } + shift() { + if (this.#head === undefined) + return undefined; + --this.#length; + const node = this.#head; + if (node.next) { + node.next.previous = undefined; + this.#head = node.next; + node.next = undefined; + } + else { + this.#head = this.#tail = undefined; + } + return node.value; + } + remove(node) { + if (this.#length === 0) + return; + --this.#length; + if (this.#tail === node) { + this.#tail = node.previous; + } + if (this.#head === node) { + this.#head = node.next; + } + else { + if (node.previous) { + node.previous.next = node.next; + } + if (node.next) { + node.next.previous = node.previous; + } + } + node.previous = undefined; + node.next = undefined; + } + reset() { + this.#length = 0; + this.#head = this.#tail = undefined; + } + *[Symbol.iterator]() { + let node = this.#head; + while (node !== undefined) { + yield node.value; + node = node.next; + } + } + *nodes() { + let node = this.#head; + while (node) { + const next = node.next; + yield node; + node = next; + } + } +} +exports.DoublyLinkedList = DoublyLinkedList; +class SinglyLinkedList { + #length = 0; + get length() { + return this.#length; + } + #head; + get head() { + return this.#head; + } + #tail; + get tail() { + return this.#tail; + } + push(value) { + ++this.#length; + const node = { + value, + next: undefined, + removed: false + }; + if (this.#head === undefined) { + return this.#head = this.#tail = node; + } + return this.#tail.next = this.#tail = node; + } + remove(node, parent) { + if (node.removed) { + throw new Error("node already removed"); + } + --this.#length; + if (this.#head === node) { + if (this.#tail === node) { + this.#head = this.#tail = undefined; + } + else { + this.#head = node.next; + } + } + else if (this.#tail === node) { + this.#tail = parent; + parent.next = undefined; + } + else { + parent.next = node.next; + } + node.removed = true; + } + shift() { + if (this.#head === undefined) + return undefined; + const node = this.#head; + if (--this.#length === 0) { + this.#head = this.#tail = undefined; + } + else { + this.#head = node.next; + } + node.removed = true; + return node.value; + } + reset() { + this.#length = 0; + this.#head = this.#tail = undefined; + } + *[Symbol.iterator]() { + let node = this.#head; + while (node !== undefined) { + yield node.value; + node = node.next; + } + } +} +exports.SinglyLinkedList = SinglyLinkedList; +class EmptyAwareSinglyLinkedList extends SinglyLinkedList { + events = new events_1.default(); + reset() { + const old = this.length; + super.reset(); + if (old !== this.length && this.length === 0) { + this.events.emit('empty'); + } + } + shift() { + const old = this.length; + const ret = super.shift(); + if (old !== this.length && this.length === 0) { + this.events.emit('empty'); + } + return ret; + } + remove(node, parent) { + const old = this.length; + super.remove(node, parent); + if (old !== this.length && this.length === 0) { + this.events.emit('empty'); + } + } +} +exports.EmptyAwareSinglyLinkedList = EmptyAwareSinglyLinkedList; +//# sourceMappingURL=linked-list.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/linked-list.js.map b/back/node_modules/@redis/client/dist/lib/client/linked-list.js.map new file mode 100644 index 0000000..a7c70a1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/linked-list.js.map @@ -0,0 +1 @@ +{"version":3,"file":"linked-list.js","sourceRoot":"","sources":["../../../lib/client/linked-list.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/multi-command.d.ts b/back/node_modules/@redis/client/dist/lib/client/multi-command.d.ts new file mode 100644 index 0000000..a515d28 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/multi-command.d.ts @@ -0,0 +1,45 @@ +import COMMANDS from '../commands'; +import { MULTI_MODE, MULTI_REPLY, MultiMode, MultiReply, MultiReplyType, RedisMultiQueuedCommand } from '../multi-command'; +import { ReplyWithTypeMapping, CommandReply, Command, CommandArguments, CommanderConfig, RedisFunctions, RedisModules, RedisScripts, RespVersions, TransformReply, TypeMapping } from '../RESP/types'; +import { Tail } from '../commands/generic-transformers'; +type CommandSignature, C extends Command, M extends RedisModules, F extends RedisFunctions, S extends RedisScripts, RESP extends RespVersions, TYPE_MAPPING extends TypeMapping> = (...args: Tail>) => InternalRedisClientMultiCommandType<[ + ...REPLIES, + ReplyWithTypeMapping, TYPE_MAPPING> +], M, F, S, RESP, TYPE_MAPPING>; +type WithCommands, M extends RedisModules, F extends RedisFunctions, S extends RedisScripts, RESP extends RespVersions, TYPE_MAPPING extends TypeMapping> = { + [P in keyof typeof COMMANDS]: CommandSignature; +}; +type WithModules, M extends RedisModules, F extends RedisFunctions, S extends RedisScripts, RESP extends RespVersions, TYPE_MAPPING extends TypeMapping> = { + [P in keyof M]: { + [C in keyof M[P]]: CommandSignature; + }; +}; +type WithFunctions, M extends RedisModules, F extends RedisFunctions, S extends RedisScripts, RESP extends RespVersions, TYPE_MAPPING extends TypeMapping> = { + [L in keyof F]: { + [C in keyof F[L]]: CommandSignature; + }; +}; +type WithScripts, M extends RedisModules, F extends RedisFunctions, S extends RedisScripts, RESP extends RespVersions, TYPE_MAPPING extends TypeMapping> = { + [P in keyof S]: CommandSignature; +}; +type InternalRedisClientMultiCommandType, M extends RedisModules, F extends RedisFunctions, S extends RedisScripts, RESP extends RespVersions, TYPE_MAPPING extends TypeMapping> = (RedisClientMultiCommand & WithCommands & WithModules & WithFunctions & WithScripts); +type TypedOrAny = [ + Flag +] extends [MULTI_MODE['TYPED']] ? T : any; +export type RedisClientMultiCommandType, M extends RedisModules, F extends RedisFunctions, S extends RedisScripts, RESP extends RespVersions, TYPE_MAPPING extends TypeMapping> = TypedOrAny>; +type ExecuteMulti = (commands: Array, selectedDB?: number) => Promise>; +export default class RedisClientMultiCommand { + #private; + static extend, F extends RedisFunctions = Record, S extends RedisScripts = Record, RESP extends RespVersions = 2>(config?: CommanderConfig): any; + constructor(executeMulti: ExecuteMulti, executePipeline: ExecuteMulti, typeMapping?: TypeMapping); + SELECT(db: number, transformReply?: TransformReply): this; + select: (db: number, transformReply?: TransformReply) => this; + addCommand(args: CommandArguments, transformReply?: TransformReply): this; + exec(execAsPipeline?: boolean): Promise>; + EXEC: (execAsPipeline?: boolean) => Promise>; + execTyped(execAsPipeline?: boolean): Promise; + execAsPipeline(): Promise>; + execAsPipelineTyped(): Promise; +} +export {}; +//# sourceMappingURL=multi-command.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/multi-command.d.ts.map b/back/node_modules/@redis/client/dist/lib/client/multi-command.d.ts.map new file mode 100644 index 0000000..a5eb960 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/multi-command.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"multi-command.d.ts","sourceRoot":"","sources":["../../../lib/client/multi-command.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/multi-command.js b/back/node_modules/@redis/client/dist/lib/client/multi-command.js new file mode 100644 index 0000000..12778af --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/multi-command.js @@ -0,0 +1,106 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const commands_1 = __importDefault(require("../commands")); +const multi_command_1 = __importDefault(require("../multi-command")); +const commander_1 = require("../commander"); +const parser_1 = require("./parser"); +class RedisClientMultiCommand { + static #createCommand(command, resp) { + const transformReply = (0, commander_1.getTransformReply)(command, resp); + return function (...args) { + const parser = new parser_1.BasicCommandParser(); + command.parseCommand(parser, ...args); + const redisArgs = parser.redisArgs; + redisArgs.preserve = parser.preserve; + return this.addCommand(redisArgs, transformReply); + }; + } + static #createModuleCommand(command, resp) { + const transformReply = (0, commander_1.getTransformReply)(command, resp); + return function (...args) { + const parser = new parser_1.BasicCommandParser(); + command.parseCommand(parser, ...args); + const redisArgs = parser.redisArgs; + redisArgs.preserve = parser.preserve; + return this._self.addCommand(redisArgs, transformReply); + }; + } + static #createFunctionCommand(name, fn, resp) { + const prefix = (0, commander_1.functionArgumentsPrefix)(name, fn); + const transformReply = (0, commander_1.getTransformReply)(fn, resp); + return function (...args) { + const parser = new parser_1.BasicCommandParser(); + parser.push(...prefix); + fn.parseCommand(parser, ...args); + const redisArgs = parser.redisArgs; + redisArgs.preserve = parser.preserve; + return this._self.addCommand(redisArgs, transformReply); + }; + } + static #createScriptCommand(script, resp) { + const transformReply = (0, commander_1.getTransformReply)(script, resp); + return function (...args) { + const parser = new parser_1.BasicCommandParser(); + script.parseCommand(parser, ...args); + const redisArgs = parser.redisArgs; + redisArgs.preserve = parser.preserve; + return this.#addScript(script, redisArgs, transformReply); + }; + } + static extend(config) { + return (0, commander_1.attachConfig)({ + BaseClass: RedisClientMultiCommand, + commands: commands_1.default, + createCommand: RedisClientMultiCommand.#createCommand, + createModuleCommand: RedisClientMultiCommand.#createModuleCommand, + createFunctionCommand: RedisClientMultiCommand.#createFunctionCommand, + createScriptCommand: RedisClientMultiCommand.#createScriptCommand, + config + }); + } + #multi; + #executeMulti; + #executePipeline; + #selectedDB; + constructor(executeMulti, executePipeline, typeMapping) { + this.#multi = new multi_command_1.default(typeMapping); + this.#executeMulti = executeMulti; + this.#executePipeline = executePipeline; + } + SELECT(db, transformReply) { + this.#selectedDB = db; + this.#multi.addCommand(['SELECT', db.toString()], transformReply); + return this; + } + select = this.SELECT; + addCommand(args, transformReply) { + this.#multi.addCommand(args, transformReply); + return this; + } + #addScript(script, args, transformReply) { + this.#multi.addScript(script, args, transformReply); + return this; + } + async exec(execAsPipeline = false) { + if (execAsPipeline) + return this.execAsPipeline(); + return this.#multi.transformReplies(await this.#executeMulti(this.#multi.queue, this.#selectedDB)); + } + EXEC = this.exec; + execTyped(execAsPipeline = false) { + return this.exec(execAsPipeline); + } + async execAsPipeline() { + if (this.#multi.queue.length === 0) + return []; + return this.#multi.transformReplies(await this.#executePipeline(this.#multi.queue, this.#selectedDB)); + } + execAsPipelineTyped() { + return this.execAsPipeline(); + } +} +exports.default = RedisClientMultiCommand; +//# sourceMappingURL=multi-command.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/multi-command.js.map b/back/node_modules/@redis/client/dist/lib/client/multi-command.js.map new file mode 100644 index 0000000..7212bea --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/multi-command.js.map @@ -0,0 +1 @@ +{"version":3,"file":"multi-command.js","sourceRoot":"","sources":["../../../lib/client/multi-command.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/parser.d.ts b/back/node_modules/@redis/client/dist/lib/client/parser.d.ts new file mode 100644 index 0000000..1a06f8c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/parser.d.ts @@ -0,0 +1,31 @@ +import { RedisArgument } from '../RESP/types'; +import { RedisVariadicArgument } from '../commands/generic-transformers'; +export interface CommandParser { + redisArgs: ReadonlyArray; + keys: ReadonlyArray; + firstKey: RedisArgument | undefined; + preserve: unknown; + push: (...arg: Array) => unknown; + pushVariadic: (vals: RedisVariadicArgument) => unknown; + pushVariadicWithLength: (vals: RedisVariadicArgument) => unknown; + pushVariadicNumber: (vals: number | Array) => unknown; + pushKey: (key: RedisArgument) => unknown; + pushKeys: (keys: RedisVariadicArgument) => unknown; + pushKeysLength: (keys: RedisVariadicArgument) => unknown; +} +export declare class BasicCommandParser implements CommandParser { + #private; + preserve: unknown; + get redisArgs(): RedisArgument[]; + get keys(): RedisArgument[]; + get firstKey(): RedisArgument; + get cacheKey(): string; + push(...arg: Array): void; + pushVariadic(vals: RedisVariadicArgument): void; + pushVariadicWithLength(vals: RedisVariadicArgument): void; + pushVariadicNumber(vals: number | number[]): void; + pushKey(key: RedisArgument): void; + pushKeysLength(keys: RedisVariadicArgument): void; + pushKeys(keys: RedisVariadicArgument): void; +} +//# sourceMappingURL=parser.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/parser.d.ts.map b/back/node_modules/@redis/client/dist/lib/client/parser.d.ts.map new file mode 100644 index 0000000..7496e4a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/parser.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../lib/client/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IACxC,IAAI,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IACnC,QAAQ,EAAE,aAAa,GAAG,SAAS,CAAC;IACpC,QAAQ,EAAE,OAAO,CAAC;IAElB,IAAI,EAAE,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,OAAO,CAAC;IAChD,YAAY,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,OAAO,CAAC;IACvD,sBAAsB,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,OAAO,CAAC;IACjE,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC;IAC9D,OAAO,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC;IACzC,QAAQ,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,OAAO,CAAC;IACnD,cAAc,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,OAAO,CAAC;CAC1D;AAED,qBAAa,kBAAmB,YAAW,aAAa;;IAGtD,QAAQ,EAAE,OAAO,CAAC;IAElB,IAAI,SAAS,oBAEZ;IAED,IAAI,IAAI,oBAEP;IAED,IAAI,QAAQ,kBAEX;IAED,IAAI,QAAQ,WASX;IAED,IAAI,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC;IAIjC,YAAY,CAAC,IAAI,EAAE,qBAAqB;IAUxC,sBAAsB,CAAC,IAAI,EAAE,qBAAqB;IASlD,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAU1C,OAAO,CAAC,GAAG,EAAE,aAAa;IAK1B,cAAc,CAAC,IAAI,EAAE,qBAAqB;IAS1C,QAAQ,CAAC,IAAI,EAAE,qBAAqB;CASrC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/parser.js b/back/node_modules/@redis/client/dist/lib/client/parser.js new file mode 100644 index 0000000..675a4f2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/parser.js @@ -0,0 +1,83 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.BasicCommandParser = void 0; +class BasicCommandParser { + #redisArgs = []; + #keys = []; + preserve; + get redisArgs() { + return this.#redisArgs; + } + get keys() { + return this.#keys; + } + get firstKey() { + return this.#keys[0]; + } + get cacheKey() { + const tmp = new Array(this.#redisArgs.length * 2); + for (let i = 0; i < this.#redisArgs.length; i++) { + tmp[i] = this.#redisArgs[i].length; + tmp[i + this.#redisArgs.length] = this.#redisArgs[i]; + } + return tmp.join('_'); + } + push(...arg) { + this.#redisArgs.push(...arg); + } + ; + pushVariadic(vals) { + if (Array.isArray(vals)) { + for (const val of vals) { + this.push(val); + } + } + else { + this.push(vals); + } + } + pushVariadicWithLength(vals) { + if (Array.isArray(vals)) { + this.#redisArgs.push(vals.length.toString()); + } + else { + this.#redisArgs.push('1'); + } + this.pushVariadic(vals); + } + pushVariadicNumber(vals) { + if (Array.isArray(vals)) { + for (const val of vals) { + this.push(val.toString()); + } + } + else { + this.push(vals.toString()); + } + } + pushKey(key) { + this.#keys.push(key); + this.#redisArgs.push(key); + } + pushKeysLength(keys) { + if (Array.isArray(keys)) { + this.#redisArgs.push(keys.length.toString()); + } + else { + this.#redisArgs.push('1'); + } + this.pushKeys(keys); + } + pushKeys(keys) { + if (Array.isArray(keys)) { + this.#keys.push(...keys); + this.#redisArgs.push(...keys); + } + else { + this.#keys.push(keys); + this.#redisArgs.push(keys); + } + } +} +exports.BasicCommandParser = BasicCommandParser; +//# sourceMappingURL=parser.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/parser.js.map b/back/node_modules/@redis/client/dist/lib/client/parser.js.map new file mode 100644 index 0000000..054273a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/parser.js.map @@ -0,0 +1 @@ +{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../lib/client/parser.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/pool.d.ts b/back/node_modules/@redis/client/dist/lib/client/pool.d.ts new file mode 100644 index 0000000..61e9926 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/pool.d.ts @@ -0,0 +1,143 @@ +/// +/// +/// +import { NON_STICKY_COMMANDS } from '../commands'; +import { CommandSignature, RedisArgument, RedisFunctions, RedisModules, RedisScripts, RespVersions, TypeMapping } from '../RESP/types'; +import { RedisClientType, RedisClientOptions, WithModules, WithFunctions, WithScripts } from '.'; +import { EventEmitter } from 'node:events'; +import { CommandOptions } from './commands-queue'; +import { RedisClientMultiCommandType } from './multi-command'; +import { ClientSideCacheConfig, PooledClientSideCacheProvider } from './cache'; +import { MULTI_MODE, MultiMode } from '../multi-command'; +export interface RedisPoolOptions { + /** + * The minimum number of clients to keep in the pool (>= 1). + */ + minimum: number; + /** + * The maximum number of clients to keep in the pool (>= {@link RedisPoolOptions.minimum} >= 1). + */ + maximum: number; + /** + * The maximum time a task can wait for a client to become available (>= 0). + */ + acquireTimeout: number; + /** + * The delay in milliseconds before a cleanup operation is performed on idle clients. + * + * After this delay, the pool will check if there are too many idle clients and destroy + * excess ones to maintain optimal pool size. + */ + cleanupDelay: number; + /** + * Client Side Caching configuration for the pool. + * + * Enables Redis Servers and Clients to work together to cache results from commands + * sent to a server. The server will notify the client when cached results are no longer valid. + * In pooled mode, the cache is shared across all clients in the pool. + * + * Note: Client Side Caching is only supported with RESP3. + * + * @example Anonymous cache configuration + * ``` + * const client = createClientPool({RESP: 3}, { + * clientSideCache: { + * ttl: 0, + * maxEntries: 0, + * evictPolicy: "LRU" + * }, + * minimum: 5 + * }); + * ``` + * + * @example Using a controllable cache + * ``` + * const cache = new BasicPooledClientSideCache({ + * ttl: 0, + * maxEntries: 0, + * evictPolicy: "LRU" + * }); + * const client = createClientPool({RESP: 3}, { + * clientSideCache: cache, + * minimum: 5 + * }); + * ``` + */ + clientSideCache?: PooledClientSideCacheProvider | ClientSideCacheConfig; + /** + * Enable experimental support for RESP3 module commands. + * + * When enabled, allows the use of module commands that have been adapted + * for the RESP3 protocol. This is an unstable feature and may change in + * future versions. + * + * @default false + */ + unstableResp3Modules?: boolean; +} +export type PoolTask = (client: RedisClientType) => T; +type PoolWithCommands = { + [P in keyof typeof NON_STICKY_COMMANDS]: CommandSignature<(typeof NON_STICKY_COMMANDS)[P], RESP, TYPE_MAPPING>; +}; +export type RedisClientPoolType = (RedisClientPool & PoolWithCommands & WithModules & WithFunctions & WithScripts); +export declare class RedisClientPool extends EventEmitter { + #private; + static create(clientOptions?: Omit, "clientSideCache">, options?: Partial): RedisClientPoolType; + /** + * The number of idle clients. + */ + get idleClients(): number; + /** + * The number of clients in use. + */ + get clientsInUse(): number; + /** + * The total number of clients in the pool (including connecting, idle, and in use). + */ + get totalClients(): number; + /** + * The number of tasks waiting for a client to become available. + */ + get tasksQueueLength(): number; + /** + * Whether the pool is open (either connecting or connected). + */ + get isOpen(): boolean; + /** + * Whether the pool is closing (*not* closed). + */ + get isClosing(): boolean; + get clientSideCache(): PooledClientSideCacheProvider | undefined; + /** + * You are probably looking for {@link RedisClient.createPool `RedisClient.createPool`}, + * {@link RedisClientPool.fromClient `RedisClientPool.fromClient`}, + * or {@link RedisClientPool.fromOptions `RedisClientPool.fromOptions`}... + */ + constructor(clientOptions?: RedisClientOptions, options?: Partial); + private _self; + private _commandOptions?; + withCommandOptions, TYPE_MAPPING extends TypeMapping>(options: OPTIONS): RedisClientPoolType; + /** + * Override the `typeMapping` command option + */ + withTypeMapping(typeMapping: TYPE_MAPPING): RedisClientPoolType; + /** + * Override the `abortSignal` command option + */ + withAbortSignal(abortSignal: AbortSignal): RedisClientPoolType; + /** + * Override the `asap` command option to `true` + * TODO: remove? + */ + asap(): RedisClientPoolType; + connect(): Promise | undefined>; + execute(fn: PoolTask): Promise>; + cleanupTimeout?: NodeJS.Timeout; + sendCommand(args: Array, options?: CommandOptions): Promise; + MULTI(): RedisClientMultiCommandType; + multi: () => RedisClientMultiCommandType; + close(): Promise; + destroy(): void; +} +export {}; +//# sourceMappingURL=pool.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/pool.d.ts.map b/back/node_modules/@redis/client/dist/lib/client/pool.d.ts.map new file mode 100644 index 0000000..c058934 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/pool.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../../lib/client/pool.ts"],"names":[],"mappings":";;;AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAW,gBAAgB,EAAE,aAAa,EAAiB,cAAc,EAAE,YAAY,EAAe,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5K,OAAoB,EAAE,eAAe,EAAE,kBAAkB,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC;AAC9G,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAgC,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AACvF,OAAO,EAA8B,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAC;AAG3G,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,eAAe,CAAC,EAAE,6BAA6B,GAAG,qBAAqB,CAAC;IACxE;;;;;;;;OAQG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,MAAM,QAAQ,CAClB,CAAC,SAAS,YAAY,EACtB,CAAC,SAAS,cAAc,EACxB,CAAC,SAAS,YAAY,EACtB,IAAI,SAAS,YAAY,EACzB,YAAY,SAAS,WAAW,EAChC,CAAC,GAAG,OAAO,IACT,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AAGhE,KAAK,gBAAgB,CACnB,IAAI,SAAS,YAAY,EACzB,YAAY,SAAS,WAAW,IAC9B;KACD,CAAC,IAAI,MAAM,OAAO,mBAAmB,GAAG,gBAAgB,CAAC,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC;CAC/G,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAC7B,CAAC,SAAS,YAAY,GAAG,EAAE,EAC3B,CAAC,SAAS,cAAc,GAAG,EAAE,EAC7B,CAAC,SAAS,YAAY,GAAG,EAAE,EAC3B,IAAI,SAAS,YAAY,GAAG,CAAC,EAC7B,YAAY,SAAS,WAAW,GAAG,EAAE,IACnC,CACF,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,GAC5C,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,GACpC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,GAClC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,GACpC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CACnC,CAAC;AAMF,qBAAa,eAAe,CAC1B,CAAC,SAAS,YAAY,GAAG,EAAE,EAC3B,CAAC,SAAS,cAAc,GAAG,EAAE,EAC7B,CAAC,SAAS,YAAY,GAAG,EAAE,EAC3B,IAAI,SAAS,YAAY,GAAG,CAAC,EAC7B,YAAY,SAAS,WAAW,GAAG,EAAE,CACrC,SAAQ,YAAY;;IAkDpB,MAAM,CAAC,MAAM,CACX,CAAC,SAAS,YAAY,EACtB,CAAC,SAAS,cAAc,EACxB,CAAC,SAAS,YAAY,EACtB,IAAI,SAAS,YAAY,EACzB,YAAY,SAAS,WAAW,GAAG,EAAE,EAErC,aAAa,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,EAAE,iBAAiB,CAAC,EACxF,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAwCrC;;OAEG;IACH,IAAI,WAAW,WAEd;IAID;;OAEG;IACH,IAAI,YAAY,WAEf;IAED;;OAEG;IACH,IAAI,YAAY,WAEf;IASD;;OAEG;IACH,IAAI,gBAAgB,WAEnB;IAID;;OAEG;IACH,IAAI,MAAM,YAET;IAID;;OAEG;IACH,IAAI,SAAS,YAEZ;IAGD,IAAI,eAAe,8CAElB;IAED;;;;OAIG;gBAED,aAAa,CAAC,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,EAC/D,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAyBrC,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,eAAe,CAAC,CAA+B;IAEvD,kBAAkB,CAChB,OAAO,SAAS,cAAc,CAAC,YAAY,CAAC,EAC5C,YAAY,SAAS,WAAW,EAChC,OAAO,EAAE,OAAO;IA+BlB;;OAEG;IACH,eAAe,CAAC,YAAY,SAAS,WAAW,EAAE,WAAW,EAAE,YAAY;IAI3E;;OAEG;IACH,eAAe,CAAC,WAAW,EAAE,WAAW;IAIxC;;;OAGG;IACH,IAAI;IAIE,OAAO;IAoCb,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IAoEvD,cAAc,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;IAkBhC,WAAW,CACT,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,EAC1B,OAAO,CAAC,EAAE,cAAc;IAM1B,KAAK,CAAC,OAAO,SAAS,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC;IASrD,KAAK,mHAAc;IAEb,KAAK;IA8BX,OAAO;CAgBR"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/pool.js b/back/node_modules/@redis/client/dist/lib/client/pool.js new file mode 100644 index 0000000..b6538b1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/pool.js @@ -0,0 +1,327 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.RedisClientPool = void 0; +const commands_1 = require("../commands"); +const _1 = __importDefault(require(".")); +const node_events_1 = require("node:events"); +const linked_list_1 = require("./linked-list"); +const errors_1 = require("../errors"); +const commander_1 = require("../commander"); +const multi_command_1 = __importDefault(require("./multi-command")); +const cache_1 = require("./cache"); +const parser_1 = require("./parser"); +const single_entry_cache_1 = __importDefault(require("../single-entry-cache")); +class RedisClientPool extends node_events_1.EventEmitter { + static #createCommand(command, resp) { + const transformReply = (0, commander_1.getTransformReply)(command, resp); + return async function (...args) { + const parser = new parser_1.BasicCommandParser(); + command.parseCommand(parser, ...args); + return this.execute(client => client._executeCommand(command, parser, this._commandOptions, transformReply)); + }; + } + static #createModuleCommand(command, resp) { + const transformReply = (0, commander_1.getTransformReply)(command, resp); + return async function (...args) { + const parser = new parser_1.BasicCommandParser(); + command.parseCommand(parser, ...args); + return this._self.execute(client => client._executeCommand(command, parser, this._self._commandOptions, transformReply)); + }; + } + static #createFunctionCommand(name, fn, resp) { + const prefix = (0, commander_1.functionArgumentsPrefix)(name, fn); + const transformReply = (0, commander_1.getTransformReply)(fn, resp); + return async function (...args) { + const parser = new parser_1.BasicCommandParser(); + parser.push(...prefix); + fn.parseCommand(parser, ...args); + return this._self.execute(client => client._executeCommand(fn, parser, this._self._commandOptions, transformReply)); + }; + } + static #createScriptCommand(script, resp) { + const prefix = (0, commander_1.scriptArgumentsPrefix)(script); + const transformReply = (0, commander_1.getTransformReply)(script, resp); + return async function (...args) { + const parser = new parser_1.BasicCommandParser(); + parser.pushVariadic(prefix); + script.parseCommand(parser, ...args); + return this.execute(client => client._executeScript(script, parser, this._commandOptions, transformReply)); + }; + } + static #SingleEntryCache = new single_entry_cache_1.default(); + static create(clientOptions, options) { + let Pool = RedisClientPool.#SingleEntryCache.get(clientOptions); + if (!Pool) { + Pool = (0, commander_1.attachConfig)({ + BaseClass: RedisClientPool, + commands: commands_1.NON_STICKY_COMMANDS, + createCommand: RedisClientPool.#createCommand, + createModuleCommand: RedisClientPool.#createModuleCommand, + createFunctionCommand: RedisClientPool.#createFunctionCommand, + createScriptCommand: RedisClientPool.#createScriptCommand, + config: clientOptions + }); + Pool.prototype.Multi = multi_command_1.default.extend(clientOptions); + RedisClientPool.#SingleEntryCache.set(clientOptions, Pool); + } + // returning a "proxy" to prevent the namespaces._self to leak between "proxies" + return Object.create(new Pool(clientOptions, options)); + } + // TODO: defaults + static #DEFAULTS = { + minimum: 1, + maximum: 100, + acquireTimeout: 3000, + cleanupDelay: 3000 + }; + #clientFactory; + #options; + #idleClients = new linked_list_1.SinglyLinkedList(); + /** + * The number of idle clients. + */ + get idleClients() { + return this._self.#idleClients.length; + } + #clientsInUse = new linked_list_1.DoublyLinkedList(); + /** + * The number of clients in use. + */ + get clientsInUse() { + return this._self.#clientsInUse.length; + } + /** + * The total number of clients in the pool (including connecting, idle, and in use). + */ + get totalClients() { + return this._self.#idleClients.length + this._self.#clientsInUse.length; + } + #tasksQueue = new linked_list_1.SinglyLinkedList(); + /** + * The number of tasks waiting for a client to become available. + */ + get tasksQueueLength() { + return this._self.#tasksQueue.length; + } + #isOpen = false; + /** + * Whether the pool is open (either connecting or connected). + */ + get isOpen() { + return this._self.#isOpen; + } + #isClosing = false; + /** + * Whether the pool is closing (*not* closed). + */ + get isClosing() { + return this._self.#isClosing; + } + #clientSideCache; + get clientSideCache() { + return this._self.#clientSideCache; + } + /** + * You are probably looking for {@link RedisClient.createPool `RedisClient.createPool`}, + * {@link RedisClientPool.fromClient `RedisClientPool.fromClient`}, + * or {@link RedisClientPool.fromOptions `RedisClientPool.fromOptions`}... + */ + constructor(clientOptions, options) { + super(); + this.#options = { + ...RedisClientPool.#DEFAULTS, + ...options + }; + if (options?.clientSideCache) { + if (clientOptions === undefined) { + clientOptions = {}; + } + if (options.clientSideCache instanceof cache_1.PooledClientSideCacheProvider) { + this.#clientSideCache = clientOptions.clientSideCache = options.clientSideCache; + } + else { + const cscConfig = options.clientSideCache; + this.#clientSideCache = clientOptions.clientSideCache = new cache_1.BasicPooledClientSideCache(cscConfig); + // this.#clientSideCache = clientOptions.clientSideCache = new PooledNoRedirectClientSideCache(cscConfig); + } + } + this.#clientFactory = _1.default.factory(clientOptions).bind(undefined, clientOptions); + } + _self = this; + _commandOptions; + withCommandOptions(options) { + const proxy = Object.create(this._self); + proxy._commandOptions = options; + return proxy; + } + #commandOptionsProxy(key, value) { + const proxy = Object.create(this._self); + proxy._commandOptions = Object.create(this._commandOptions ?? null); + proxy._commandOptions[key] = value; + return proxy; + } + /** + * Override the `typeMapping` command option + */ + withTypeMapping(typeMapping) { + return this._self.#commandOptionsProxy('typeMapping', typeMapping); + } + /** + * Override the `abortSignal` command option + */ + withAbortSignal(abortSignal) { + return this._self.#commandOptionsProxy('abortSignal', abortSignal); + } + /** + * Override the `asap` command option to `true` + * TODO: remove? + */ + asap() { + return this._self.#commandOptionsProxy('asap', true); + } + async connect() { + if (this._self.#isOpen) + return; // TODO: throw error? + this._self.#isOpen = true; + const promises = []; + while (promises.length < this._self.#options.minimum) { + promises.push(this._self.#create()); + } + try { + await Promise.all(promises); + } + catch (err) { + this.destroy(); + throw err; + } + return this; + } + async #create() { + const node = this._self.#clientsInUse.push(this._self.#clientFactory() + .on('error', (err) => this.emit('error', err))); + try { + const client = node.value; + await client.connect(); + } + catch (err) { + this._self.#clientsInUse.remove(node); + throw err; + } + this._self.#returnClient(node); + } + execute(fn) { + return new Promise((resolve, reject) => { + const client = this._self.#idleClients.shift(), { tail } = this._self.#tasksQueue; + if (!client) { + let timeout; + if (this._self.#options.acquireTimeout > 0) { + timeout = setTimeout(() => { + this._self.#tasksQueue.remove(task, tail); + reject(new errors_1.TimeoutError('Timeout waiting for a client')); // TODO: message + }, this._self.#options.acquireTimeout); + } + const task = this._self.#tasksQueue.push({ + timeout, + // @ts-ignore + resolve, + reject, + fn + }); + if (this.totalClients < this._self.#options.maximum) { + this._self.#create(); + } + return; + } + const node = this._self.#clientsInUse.push(client); + // @ts-ignore + this._self.#executeTask(node, resolve, reject, fn); + }); + } + #executeTask(node, resolve, reject, fn) { + const result = fn(node.value); + if (result instanceof Promise) { + result + .then(resolve, reject) + .finally(() => this.#returnClient(node)); + } + else { + resolve(result); + this.#returnClient(node); + } + } + #returnClient(node) { + const task = this.#tasksQueue.shift(); + if (task) { + clearTimeout(task.timeout); + this.#executeTask(node, task.resolve, task.reject, task.fn); + return; + } + this.#clientsInUse.remove(node); + this.#idleClients.push(node.value); + this.#scheduleCleanup(); + } + cleanupTimeout; + #scheduleCleanup() { + if (this.totalClients <= this.#options.minimum) + return; + clearTimeout(this.cleanupTimeout); + this.cleanupTimeout = setTimeout(() => this.#cleanup(), this.#options.cleanupDelay); + } + #cleanup() { + const toDestroy = Math.min(this.#idleClients.length, this.totalClients - this.#options.minimum); + for (let i = 0; i < toDestroy; i++) { + // TODO: shift vs pop + const client = this.#idleClients.shift(); + client.destroy(); + } + } + sendCommand(args, options) { + return this.execute(client => client.sendCommand(args, options)); + } + MULTI() { + return new this.Multi((commands, selectedDB) => this.execute(client => client._executeMulti(commands, selectedDB)), commands => this.execute(client => client._executePipeline(commands)), this._commandOptions?.typeMapping); + } + multi = this.MULTI; + async close() { + if (this._self.#isClosing) + return; // TODO: throw err? + if (!this._self.#isOpen) + return; // TODO: throw err? + this._self.#isClosing = true; + try { + const promises = []; + for (const client of this._self.#idleClients) { + promises.push(client.close()); + } + for (const client of this._self.#clientsInUse) { + promises.push(client.close()); + } + await Promise.all(promises); + this._self.#clientSideCache?.onPoolClose(); + this._self.#idleClients.reset(); + this._self.#clientsInUse.reset(); + } + catch (err) { + } + finally { + this._self.#isClosing = false; + } + } + destroy() { + for (const client of this._self.#idleClients) { + client.destroy(); + } + this._self.#idleClients.reset(); + for (const client of this._self.#clientsInUse) { + client.destroy(); + } + this._self.#clientSideCache?.onPoolClose(); + this._self.#clientsInUse.reset(); + this._self.#isOpen = false; + } +} +exports.RedisClientPool = RedisClientPool; +//# sourceMappingURL=pool.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/pool.js.map b/back/node_modules/@redis/client/dist/lib/client/pool.js.map new file mode 100644 index 0000000..6224a2b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/pool.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../lib/client/pool.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/pub-sub.d.ts b/back/node_modules/@redis/client/dist/lib/client/pub-sub.d.ts new file mode 100644 index 0000000..c42a3d7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/pub-sub.d.ts @@ -0,0 +1,65 @@ +/// +import { RedisArgument } from '../RESP/types'; +import { CommandToWrite } from './commands-queue'; +export declare const PUBSUB_TYPE: { + readonly CHANNELS: "CHANNELS"; + readonly PATTERNS: "PATTERNS"; + readonly SHARDED: "SHARDED"; +}; +export type PUBSUB_TYPE = typeof PUBSUB_TYPE; +export type PubSubType = PUBSUB_TYPE[keyof PUBSUB_TYPE]; +export type PubSubListener = (message: T, channel: T) => unknown; +export interface ChannelListeners { + unsubscribing: boolean; + buffers: Set>; + strings: Set>; +} +export type PubSubTypeListeners = Map; +export type PubSubListeners = Record; +export type PubSubCommand = (Required> & { + reject: undefined | (() => unknown); +}); +export declare class PubSub { + #private; + static isStatusReply(reply: Array): boolean; + static isShardedUnsubscribe(reply: Array): boolean; + get isActive(): boolean; + readonly listeners: PubSubListeners; + subscribe(type: PubSubType, channels: string | Array, listener: PubSubListener, returnBuffers?: T): { + args: RedisArgument[]; + channelsCounter: number; + resolve: () => void; + reject: () => void; + } | undefined; + extendChannelListeners(type: PubSubType, channel: string, listeners: ChannelListeners): { + args: (string | Buffer)[]; + channelsCounter: number; + resolve: () => number; + reject: () => void; + } | undefined; + extendTypeListeners(type: PubSubType, listeners: PubSubTypeListeners): { + args: RedisArgument[]; + channelsCounter: number; + resolve: () => number; + reject: () => void; + } | undefined; + unsubscribe(type: PubSubType, channels?: string | Array, listener?: PubSubListener, returnBuffers?: T): { + args: RedisArgument[]; + channelsCounter: number; + resolve: () => void; + reject: undefined; + } | undefined; + reset(): void; + resubscribe(): PubSubCommand[]; + handleMessageReply(reply: Array): boolean; + removeShardedListeners(channel: string): ChannelListeners; + removeAllListeners(): { + CHANNELS: PubSubTypeListeners; + PATTERNS: PubSubTypeListeners; + SHARDED: PubSubTypeListeners; + }; + removeShardedPubSubListenersForSlots(slots: Set): { + SHARDED: Map; + }; +} +//# sourceMappingURL=pub-sub.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/pub-sub.d.ts.map b/back/node_modules/@redis/client/dist/lib/client/pub-sub.d.ts.map new file mode 100644 index 0000000..7bf6f33 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/pub-sub.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"pub-sub.d.ts","sourceRoot":"","sources":["../../../lib/client/pub-sub.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,eAAO,MAAM,WAAW;;;;CAId,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC;AAE7C,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,WAAW,CAAC,CAAC;AAoBxD,MAAM,MAAM,cAAc,CACxB,cAAc,SAAS,OAAO,GAAG,KAAK,IACpC,CAAC,CAAC,SAAS,cAAc,SAAS,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC;AAEjG,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IACnC,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;CACrC;AAED,MAAM,MAAM,mBAAmB,GAAG,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAEhE,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;AAEtE,MAAM,MAAM,aAAa,GAAG,CAC1B,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAAC,CAAC,GAAG;IACvE,MAAM,EAAE,SAAS,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC;CACrC,CACF,CAAC;AAEF,qBAAa,MAAM;;IACjB,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO;IAWnD,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO;IAoB1D,IAAI,QAAQ,YAEX;IAED,QAAQ,CAAC,SAAS,EAAE,eAAe,CAIjC;IAEF,SAAS,CAAC,CAAC,SAAS,OAAO,EACzB,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,EAChC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,EAC3B,aAAa,CAAC,EAAE,CAAC;;;;;;IAkDnB,sBAAsB,CACpB,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,gBAAgB;;;;;;IA0C7B,mBAAmB,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,mBAAmB;;;;;;IAuBpE,WAAW,CAAC,CAAC,SAAS,OAAO,EAC3B,IAAI,EAAE,UAAU,EAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,EACjC,QAAQ,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAC5B,aAAa,CAAC,EAAE,CAAC;;;;;;IAsGnB,KAAK;IAKL,WAAW;IA+CX,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO;IA6BjD,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB;IAOzD,kBAAkB;;;;;IAgBlB,oCAAoC,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC;;;CA2CxD"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/pub-sub.js b/back/node_modules/@redis/client/dist/lib/client/pub-sub.js new file mode 100644 index 0000000..8a42d77 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/pub-sub.js @@ -0,0 +1,340 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PubSub = exports.PUBSUB_TYPE = void 0; +const cluster_key_slot_1 = __importDefault(require("cluster-key-slot")); +exports.PUBSUB_TYPE = { + CHANNELS: 'CHANNELS', + PATTERNS: 'PATTERNS', + SHARDED: 'SHARDED' +}; +const COMMANDS = { + [exports.PUBSUB_TYPE.CHANNELS]: { + subscribe: Buffer.from('subscribe'), + unsubscribe: Buffer.from('unsubscribe'), + message: Buffer.from('message') + }, + [exports.PUBSUB_TYPE.PATTERNS]: { + subscribe: Buffer.from('psubscribe'), + unsubscribe: Buffer.from('punsubscribe'), + message: Buffer.from('pmessage') + }, + [exports.PUBSUB_TYPE.SHARDED]: { + subscribe: Buffer.from('ssubscribe'), + unsubscribe: Buffer.from('sunsubscribe'), + message: Buffer.from('smessage') + } +}; +class PubSub { + static isStatusReply(reply) { + const firstElement = typeof reply[0] === 'string' ? Buffer.from(reply[0]) : reply[0]; + return (COMMANDS[exports.PUBSUB_TYPE.CHANNELS].subscribe.equals(firstElement) || + COMMANDS[exports.PUBSUB_TYPE.CHANNELS].unsubscribe.equals(firstElement) || + COMMANDS[exports.PUBSUB_TYPE.PATTERNS].subscribe.equals(firstElement) || + COMMANDS[exports.PUBSUB_TYPE.PATTERNS].unsubscribe.equals(firstElement) || + COMMANDS[exports.PUBSUB_TYPE.SHARDED].subscribe.equals(firstElement)); + } + static isShardedUnsubscribe(reply) { + const firstElement = typeof reply[0] === 'string' ? Buffer.from(reply[0]) : reply[0]; + return COMMANDS[exports.PUBSUB_TYPE.SHARDED].unsubscribe.equals(firstElement); + } + static #channelsArray(channels) { + return (Array.isArray(channels) ? channels : [channels]); + } + static #listenersSet(listeners, returnBuffers) { + return (returnBuffers ? listeners.buffers : listeners.strings); + } + #subscribing = 0; + #isActive = false; + get isActive() { + return this.#isActive; + } + listeners = { + [exports.PUBSUB_TYPE.CHANNELS]: new Map(), + [exports.PUBSUB_TYPE.PATTERNS]: new Map(), + [exports.PUBSUB_TYPE.SHARDED]: new Map() + }; + subscribe(type, channels, listener, returnBuffers) { + const args = [COMMANDS[type].subscribe], channelsArray = PubSub.#channelsArray(channels); + for (const channel of channelsArray) { + let channelListeners = this.listeners[type].get(channel); + if (!channelListeners || channelListeners.unsubscribing) { + args.push(channel); + } + } + if (args.length === 1) { + // all channels are already subscribed, add listeners without issuing a command + for (const channel of channelsArray) { + PubSub.#listenersSet(this.listeners[type].get(channel), returnBuffers).add(listener); + } + return; + } + this.#isActive = true; + this.#subscribing++; + return { + args, + channelsCounter: args.length - 1, + resolve: () => { + this.#subscribing--; + for (const channel of channelsArray) { + let listeners = this.listeners[type].get(channel); + if (!listeners) { + listeners = { + unsubscribing: false, + buffers: new Set(), + strings: new Set() + }; + this.listeners[type].set(channel, listeners); + } + PubSub.#listenersSet(listeners, returnBuffers).add(listener); + } + }, + reject: () => { + this.#subscribing--; + this.#updateIsActive(); + } + }; + } + extendChannelListeners(type, channel, listeners) { + if (!this.#extendChannelListeners(type, channel, listeners)) + return; + this.#isActive = true; + this.#subscribing++; + return { + args: [ + COMMANDS[type].subscribe, + channel + ], + channelsCounter: 1, + resolve: () => this.#subscribing--, + reject: () => { + this.#subscribing--; + this.#updateIsActive(); + } + }; + } + #extendChannelListeners(type, channel, listeners) { + const existingListeners = this.listeners[type].get(channel); + if (!existingListeners) { + this.listeners[type].set(channel, listeners); + return true; + } + for (const listener of listeners.buffers) { + existingListeners.buffers.add(listener); + } + for (const listener of listeners.strings) { + existingListeners.strings.add(listener); + } + return false; + } + extendTypeListeners(type, listeners) { + const args = [COMMANDS[type].subscribe]; + for (const [channel, channelListeners] of listeners) { + if (this.#extendChannelListeners(type, channel, channelListeners)) { + args.push(channel); + } + } + if (args.length === 1) + return; + this.#isActive = true; + this.#subscribing++; + return { + args, + channelsCounter: args.length - 1, + resolve: () => this.#subscribing--, + reject: () => { + this.#subscribing--; + this.#updateIsActive(); + } + }; + } + unsubscribe(type, channels, listener, returnBuffers) { + const listeners = this.listeners[type]; + if (!channels) { + return this.#unsubscribeCommand([COMMANDS[type].unsubscribe], + // cannot use `this.#subscribed` because there might be some `SUBSCRIBE` commands in the queue + // cannot use `this.#subscribed + this.#subscribing` because some `SUBSCRIBE` commands might fail + NaN, () => listeners.clear()); + } + const channelsArray = PubSub.#channelsArray(channels); + if (!listener) { + return this.#unsubscribeCommand([COMMANDS[type].unsubscribe, ...channelsArray], channelsArray.length, () => { + for (const channel of channelsArray) { + listeners.delete(channel); + } + }); + } + const args = [COMMANDS[type].unsubscribe]; + for (const channel of channelsArray) { + const sets = listeners.get(channel); + if (sets) { + let current, other; + if (returnBuffers) { + current = sets.buffers; + other = sets.strings; + } + else { + current = sets.strings; + other = sets.buffers; + } + const currentSize = current.has(listener) ? current.size - 1 : current.size; + if (currentSize !== 0 || other.size !== 0) + continue; + sets.unsubscribing = true; + } + args.push(channel); + } + if (args.length === 1) { + // all channels has other listeners, + // delete the listeners without issuing a command + for (const channel of channelsArray) { + PubSub.#listenersSet(listeners.get(channel), returnBuffers).delete(listener); + } + return; + } + return this.#unsubscribeCommand(args, args.length - 1, () => { + for (const channel of channelsArray) { + const sets = listeners.get(channel); + if (!sets) + continue; + (returnBuffers ? sets.buffers : sets.strings).delete(listener); + if (sets.buffers.size === 0 && sets.strings.size === 0) { + listeners.delete(channel); + } + } + }); + } + #unsubscribeCommand(args, channelsCounter, removeListeners) { + return { + args, + channelsCounter, + resolve: () => { + removeListeners(); + this.#updateIsActive(); + }, + reject: undefined + }; + } + #updateIsActive() { + this.#isActive = (this.listeners[exports.PUBSUB_TYPE.CHANNELS].size !== 0 || + this.listeners[exports.PUBSUB_TYPE.PATTERNS].size !== 0 || + this.listeners[exports.PUBSUB_TYPE.SHARDED].size !== 0 || + this.#subscribing !== 0); + } + reset() { + this.#isActive = false; + this.#subscribing = 0; + } + resubscribe() { + const commands = []; + for (const [type, listeners] of Object.entries(this.listeners)) { + if (!listeners.size) + continue; + this.#isActive = true; + if (type === exports.PUBSUB_TYPE.SHARDED) { + this.#shardedResubscribe(commands, listeners); + } + else { + this.#normalResubscribe(commands, type, listeners); + } + } + return commands; + } + #normalResubscribe(commands, type, listeners) { + this.#subscribing++; + const callback = () => this.#subscribing--; + commands.push({ + args: [ + COMMANDS[type].subscribe, + ...listeners.keys() + ], + channelsCounter: listeners.size, + resolve: callback, + reject: callback + }); + } + #shardedResubscribe(commands, listeners) { + const callback = () => this.#subscribing--; + for (const channel of listeners.keys()) { + this.#subscribing++; + commands.push({ + args: [ + COMMANDS[exports.PUBSUB_TYPE.SHARDED].subscribe, + channel + ], + channelsCounter: 1, + resolve: callback, + reject: callback + }); + } + } + handleMessageReply(reply) { + const firstElement = typeof reply[0] === 'string' ? Buffer.from(reply[0]) : reply[0]; + if (COMMANDS[exports.PUBSUB_TYPE.CHANNELS].message.equals(firstElement)) { + this.#emitPubSubMessage(exports.PUBSUB_TYPE.CHANNELS, reply[2], reply[1]); + return true; + } + else if (COMMANDS[exports.PUBSUB_TYPE.PATTERNS].message.equals(firstElement)) { + this.#emitPubSubMessage(exports.PUBSUB_TYPE.PATTERNS, reply[3], reply[2], reply[1]); + return true; + } + else if (COMMANDS[exports.PUBSUB_TYPE.SHARDED].message.equals(firstElement)) { + this.#emitPubSubMessage(exports.PUBSUB_TYPE.SHARDED, reply[2], reply[1]); + return true; + } + return false; + } + removeShardedListeners(channel) { + const listeners = this.listeners[exports.PUBSUB_TYPE.SHARDED].get(channel); + this.listeners[exports.PUBSUB_TYPE.SHARDED].delete(channel); + this.#updateIsActive(); + return listeners; + } + removeAllListeners() { + const result = { + [exports.PUBSUB_TYPE.CHANNELS]: this.listeners[exports.PUBSUB_TYPE.CHANNELS], + [exports.PUBSUB_TYPE.PATTERNS]: this.listeners[exports.PUBSUB_TYPE.PATTERNS], + [exports.PUBSUB_TYPE.SHARDED]: this.listeners[exports.PUBSUB_TYPE.SHARDED] + }; + this.#updateIsActive(); + this.listeners[exports.PUBSUB_TYPE.CHANNELS] = new Map(); + this.listeners[exports.PUBSUB_TYPE.PATTERNS] = new Map(); + this.listeners[exports.PUBSUB_TYPE.SHARDED] = new Map(); + return result; + } + removeShardedPubSubListenersForSlots(slots) { + const sharded = new Map(); + for (const [chanel, value] of this.listeners[exports.PUBSUB_TYPE.SHARDED]) { + if (slots.has((0, cluster_key_slot_1.default)(chanel))) { + sharded.set(chanel, value); + this.listeners[exports.PUBSUB_TYPE.SHARDED].delete(chanel); + } + } + this.#updateIsActive(); + return { + [exports.PUBSUB_TYPE.SHARDED]: sharded + }; + } + #emitPubSubMessage(type, message, channel, pattern) { + const keyString = (pattern ?? channel).toString(), listeners = this.listeners[type].get(keyString); + if (!listeners) + return; + for (const listener of listeners.buffers) { + listener(message, channel); + } + if (!listeners.strings.size) + return; + const channelString = pattern ? channel.toString() : keyString, messageString = channelString === '__redis__:invalidate' ? + // https://github.com/redis/redis/pull/7469 + // https://github.com/redis/redis/issues/7463 + (message === null ? null : message.map(x => x.toString())) : + message.toString(); + for (const listener of listeners.strings) { + listener(messageString, channelString); + } + } +} +exports.PubSub = PubSub; +//# sourceMappingURL=pub-sub.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/pub-sub.js.map b/back/node_modules/@redis/client/dist/lib/client/pub-sub.js.map new file mode 100644 index 0000000..9ac4e65 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/pub-sub.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pub-sub.js","sourceRoot":"","sources":["../../../lib/client/pub-sub.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/socket.d.ts b/back/node_modules/@redis/client/dist/lib/client/socket.d.ts new file mode 100644 index 0000000..2212b9f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/socket.d.ts @@ -0,0 +1,59 @@ +/// +/// +/// +import { EventEmitter } from 'node:events'; +import net from 'node:net'; +import tls from 'node:tls'; +import { RedisArgument } from '../RESP/types'; +type NetOptions = { + tls?: false; +}; +type ReconnectStrategyFunction = (retries: number, cause: Error) => false | Error | number; +type RedisSocketOptionsCommon = { + /** + * Connection timeout (in milliseconds) + */ + connectTimeout?: number; + /** + * When the socket closes unexpectedly (without calling `.close()`/`.destroy()`), the client uses `reconnectStrategy` to decide what to do. The following values are supported: + * 1. `false` -> do not reconnect, close the client and flush the command queue. + * 2. `number` -> wait for `X` milliseconds before reconnecting. + * 3. `(retries: number, cause: Error) => false | number | Error` -> `number` is the same as configuring a `number` directly, `Error` is the same as `false`, but with a custom error. + */ + reconnectStrategy?: false | number | ReconnectStrategyFunction; + /** + * The timeout (in milliseconds) after which the socket will be closed. `undefined` means no timeout. + */ + socketTimeout?: number; +}; +type RedisTcpOptions = RedisSocketOptionsCommon & NetOptions & Omit & { + port?: number; +}; +type RedisTlsOptions = RedisSocketOptionsCommon & tls.ConnectionOptions & { + tls: true; +}; +type RedisIpcOptions = RedisSocketOptionsCommon & Omit & { + tls: false; +}; +export type RedisTcpSocketOptions = RedisTcpOptions | RedisTlsOptions; +export type RedisSocketOptions = RedisTcpSocketOptions | RedisIpcOptions; +export type RedisSocketInitiator = () => void | Promise; +export default class RedisSocket extends EventEmitter { + #private; + get isOpen(): boolean; + get isReady(): boolean; + get socketEpoch(): number; + constructor(initiator: RedisSocketInitiator, options?: RedisSocketOptions); + connect(): Promise; + setMaintenanceTimeout(ms?: number): void; + write(iterable: Iterable>): void; + quit(fn: () => Promise): Promise; + close(): void; + destroy(): void; + destroySocket(): void; + ref(): void; + unref(): void; + defaultReconnectStrategy(retries: number, cause: unknown): number | false; +} +export {}; +//# sourceMappingURL=socket.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/socket.d.ts.map b/back/node_modules/@redis/client/dist/lib/client/socket.d.ts.map new file mode 100644 index 0000000..97b09b7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/socket.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../../lib/client/socket.ts"],"names":[],"mappings":";;;AAAA,OAAO,EAAE,YAAY,EAAQ,MAAM,aAAa,CAAC;AACjD,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,GAAG,MAAM,UAAU,CAAC;AAG3B,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG9C,KAAK,UAAU,GAAG;IAChB,GAAG,CAAC,EAAE,KAAK,CAAC;CACb,CAAC;AAEF,KAAK,yBAAyB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3F,KAAK,wBAAwB,GAAG;IAC9B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,yBAAyB,CAAC;IAC/D;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAA;AAED,KAAK,eAAe,GAAG,wBAAwB,GAAG,UAAU,GAAG,IAAI,CACjE,GAAG,CAAC,iBAAiB,EACrB,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CACxD,GAAG;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,eAAe,GAAG,wBAAwB,GAAG,GAAG,CAAC,iBAAiB,GAAG;IACxE,GAAG,EAAE,IAAI,CAAC;CACX,CAAA;AAED,KAAK,eAAe,GAAG,wBAAwB,GAAG,IAAI,CACpD,GAAG,CAAC,iBAAiB,EACrB,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAC/C,GAAG;IACF,GAAG,EAAE,KAAK,CAAC;CACZ,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,eAAe,GAAG,eAAe,CAAC;AAEtE,MAAM,MAAM,kBAAkB,GAAG,qBAAqB,GAAG,eAAe,CAAC;AAEzE,MAAM,MAAM,oBAAoB,GAAG,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEjE,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,YAAY;;IAanD,IAAI,MAAM,YAET;IAID,IAAI,OAAO,YAEV;IAMD,IAAI,WAAW,WAEd;gBAEW,SAAS,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,kBAAkB;IAqHnE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgD9B,qBAAqB,CAAC,EAAE,CAAC,EAAE,MAAM;IAwEjC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IAchD,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAW/C,KAAK;IAQL,OAAO;IASP,aAAa;IAWb,GAAG;IAKH,KAAK;IAKL,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;CAazD"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/socket.js b/back/node_modules/@redis/client/dist/lib/client/socket.js new file mode 100644 index 0000000..79a5ce2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/socket.js @@ -0,0 +1,313 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const node_events_1 = require("node:events"); +const node_net_1 = __importDefault(require("node:net")); +const node_tls_1 = __importDefault(require("node:tls")); +const errors_1 = require("../errors"); +const promises_1 = require("node:timers/promises"); +const enterprise_maintenance_manager_1 = require("./enterprise-maintenance-manager"); +class RedisSocket extends node_events_1.EventEmitter { + #initiator; + #connectTimeout; + #reconnectStrategy; + #socketFactory; + #socketTimeout; + #maintenanceTimeout; + #socket; + #isOpen = false; + get isOpen() { + return this.#isOpen; + } + #isReady = false; + get isReady() { + return this.#isReady; + } + #isSocketUnrefed = false; + #socketEpoch = 0; + get socketEpoch() { + return this.#socketEpoch; + } + constructor(initiator, options) { + super(); + this.#initiator = initiator; + this.#connectTimeout = options?.connectTimeout ?? 5000; + this.#reconnectStrategy = this.#createReconnectStrategy(options); + this.#socketFactory = this.#createSocketFactory(options); + this.#socketTimeout = options?.socketTimeout; + } + #createReconnectStrategy(options) { + const strategy = options?.reconnectStrategy; + if (strategy === false || typeof strategy === 'number') { + return () => strategy; + } + if (strategy) { + return (retries, cause) => { + try { + const retryIn = strategy(retries, cause); + if (retryIn !== false && !(retryIn instanceof Error) && typeof retryIn !== 'number') { + throw new TypeError(`Reconnect strategy should return \`false | Error | number\`, got ${retryIn} instead`); + } + return retryIn; + } + catch (err) { + this.emit('error', err); + return this.defaultReconnectStrategy(retries, err); + } + }; + } + return this.defaultReconnectStrategy; + } + #createSocketFactory(options) { + // TLS + if (options?.tls === true) { + const withDefaults = { + ...options, + port: options?.port ?? 6379, + // https://nodejs.org/api/tls.html#tlsconnectoptions-callback "Any socket.connect() option not already listed" + // @types/node is... incorrect... + // @ts-expect-error + noDelay: options?.noDelay ?? true, + // https://nodejs.org/api/tls.html#tlsconnectoptions-callback "Any socket.connect() option not already listed" + // @types/node is... incorrect... + // @ts-expect-error + keepAlive: options?.keepAlive ?? true, + // https://nodejs.org/api/tls.html#tlsconnectoptions-callback "Any socket.connect() option not already listed" + // @types/node is... incorrect... + // @ts-expect-error + keepAliveInitialDelay: options?.keepAliveInitialDelay ?? 5000, + timeout: undefined, + onread: undefined, + readable: true, + writable: true + }; + return { + create() { + return node_tls_1.default.connect(withDefaults); + }, + event: 'secureConnect' + }; + } + // IPC + if (options && 'path' in options) { + const withDefaults = { + ...options, + timeout: undefined, + onread: undefined, + readable: true, + writable: true + }; + return { + create() { + return node_net_1.default.createConnection(withDefaults); + }, + event: 'connect' + }; + } + // TCP + const withDefaults = { + ...options, + port: options?.port ?? 6379, + noDelay: options?.noDelay ?? true, + keepAlive: options?.keepAlive ?? true, + keepAliveInitialDelay: options?.keepAliveInitialDelay ?? 5000, + timeout: undefined, + onread: undefined, + readable: true, + writable: true + }; + return { + create() { + return node_net_1.default.createConnection(withDefaults); + }, + event: 'connect' + }; + } + #shouldReconnect(retries, cause) { + const retryIn = this.#reconnectStrategy(retries, cause); + if (retryIn === false) { + this.#isOpen = false; + this.emit('error', cause); + return cause; + } + else if (retryIn instanceof Error) { + this.#isOpen = false; + this.emit('error', cause); + return new errors_1.ReconnectStrategyError(retryIn, cause); + } + return retryIn; + } + async connect() { + if (this.#isOpen) { + throw new Error('Socket already opened'); + } + this.#isOpen = true; + return this.#connect(); + } + async #connect() { + let retries = 0; + do { + try { + this.#socket = await this.#createSocket(); + this.emit('connect'); + try { + await this.#initiator(); + // Check if socket was closed/destroyed during initiator execution + if (!this.#socket || this.#socket.destroyed || !this.#socket.readable || !this.#socket.writable) { + const retryIn = this.#shouldReconnect(retries++, new errors_1.SocketClosedUnexpectedlyError()); + if (typeof retryIn !== 'number') { + throw retryIn; + } + await (0, promises_1.setTimeout)(retryIn); + this.emit('reconnecting'); + continue; + } + } + catch (err) { + this.#socket.destroy(); + this.#socket = undefined; + throw err; + } + this.#isReady = true; + this.#socketEpoch++; + this.emit('ready'); + } + catch (err) { + const retryIn = this.#shouldReconnect(retries++, err); + if (typeof retryIn !== 'number') { + throw retryIn; + } + this.emit('error', err); + await (0, promises_1.setTimeout)(retryIn); + this.emit('reconnecting'); + } + } while (this.#isOpen && !this.#isReady); + } + setMaintenanceTimeout(ms) { + (0, enterprise_maintenance_manager_1.dbgMaintenance)(`Set socket timeout to ${ms}`); + if (this.#maintenanceTimeout === ms) { + (0, enterprise_maintenance_manager_1.dbgMaintenance)(`Socket already set maintenanceCommandTimeout to ${ms}, skipping`); + return; + } + ; + this.#maintenanceTimeout = ms; + if (ms !== undefined) { + this.#socket?.setTimeout(ms); + } + else { + this.#socket?.setTimeout(this.#socketTimeout ?? 0); + } + } + async #createSocket() { + const socket = this.#socketFactory.create(); + let onTimeout; + if (this.#connectTimeout !== undefined) { + onTimeout = () => socket.destroy(new errors_1.ConnectionTimeoutError()); + socket.once('timeout', onTimeout); + socket.setTimeout(this.#connectTimeout); + } + if (this.#isSocketUnrefed) { + socket.unref(); + } + await (0, node_events_1.once)(socket, this.#socketFactory.event); + if (onTimeout) { + socket.removeListener('timeout', onTimeout); + } + if (this.#socketTimeout) { + socket.once('timeout', () => { + const error = this.#maintenanceTimeout + ? new errors_1.SocketTimeoutDuringMaintenanceError(this.#maintenanceTimeout) + : new errors_1.SocketTimeoutError(this.#socketTimeout); + socket.destroy(error); + }); + socket.setTimeout(this.#socketTimeout); + } + socket + .once('error', err => this.#onSocketError(err)) + .once('close', hadError => { + if (hadError || !this.#isOpen || this.#socket !== socket) + return; + this.#onSocketError(new errors_1.SocketClosedUnexpectedlyError()); + }) + .on('drain', () => this.emit('drain')) + .on('data', data => this.emit('data', data)); + return socket; + } + #onSocketError(err) { + const wasReady = this.#isReady; + this.#isReady = false; + this.emit('error', err); + if (!wasReady || !this.#isOpen || typeof this.#shouldReconnect(0, err) !== 'number') + return; + this.emit('reconnecting'); + this.#connect().catch(() => { + // the error was already emitted, silently ignore it + }); + } + write(iterable) { + if (!this.#socket) + return; + this.#socket.cork(); + for (const args of iterable) { + for (const toWrite of args) { + this.#socket.write(toWrite); + } + if (this.#socket.writableNeedDrain) + break; + } + this.#socket.uncork(); + } + async quit(fn) { + if (!this.#isOpen) { + throw new errors_1.ClientClosedError(); + } + this.#isOpen = false; + const reply = await fn(); + this.destroySocket(); + return reply; + } + close() { + if (!this.#isOpen) { + throw new errors_1.ClientClosedError(); + } + this.#isOpen = false; + } + destroy() { + if (!this.#isOpen) { + throw new errors_1.ClientClosedError(); + } + this.#isOpen = false; + this.destroySocket(); + } + destroySocket() { + this.#isReady = false; + if (this.#socket) { + this.#socket.destroy(); + this.#socket = undefined; + } + this.emit('end'); + } + ref() { + this.#isSocketUnrefed = false; + this.#socket?.ref(); + } + unref() { + this.#isSocketUnrefed = true; + this.#socket?.unref(); + } + defaultReconnectStrategy(retries, cause) { + // By default, do not reconnect on socket timeout. + if (cause instanceof errors_1.SocketTimeoutError) { + return false; + } + // Generate a random jitter between 0 – 200 ms: + const jitter = Math.floor(Math.random() * 200); + // Delay is an exponential back off, (times^2) * 50 ms, with a maximum value of 2000 ms: + const delay = Math.min(Math.pow(2, retries) * 50, 2000); + return delay + jitter; + } +} +exports.default = RedisSocket; +//# sourceMappingURL=socket.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/client/socket.js.map b/back/node_modules/@redis/client/dist/lib/client/socket.js.map new file mode 100644 index 0000000..3f2e215 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/client/socket.js.map @@ -0,0 +1 @@ +{"version":3,"file":"socket.js","sourceRoot":"","sources":["../../../lib/client/socket.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/cluster/cluster-slots.d.ts b/back/node_modules/@redis/client/dist/lib/cluster/cluster-slots.d.ts new file mode 100644 index 0000000..c1f2305 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/cluster/cluster-slots.d.ts @@ -0,0 +1,77 @@ +/// +/// +import { RedisClusterOptions } from '.'; +import { RedisClientType } from '../client'; +import { EventEmitter } from 'node:stream'; +import { ChannelListeners } from '../client/pub-sub'; +import { RedisArgument, RedisFunctions, RedisModules, RedisScripts, RespVersions, TypeMapping } from '../RESP/types'; +import { PooledClientSideCacheProvider } from '../client/cache'; +interface NodeAddress { + host: string; + port: number; +} +export type NodeAddressMap = { + [address: string]: NodeAddress; +} | ((address: string) => NodeAddress | undefined); +export declare const RESUBSCRIBE_LISTENERS_EVENT = "__resubscribeListeners"; +export interface Node { + address: string; + client?: RedisClientType; + connectPromise?: Promise>; +} +export interface ShardNode extends Node, NodeAddress { + id: string; + readonly: boolean; +} +export interface MasterNode extends ShardNode { + pubSub?: { + connectPromise?: Promise>; + client: RedisClientType; + }; +} +export interface Shard { + master: MasterNode; + replicas?: Array>; + nodesIterator?: IterableIterator>; +} +type PubSubNode = (Omit, 'client'> & Required, 'client'>>); +export type OnShardedChannelMovedError = (err: unknown, channel: string, listeners?: ChannelListeners) => void; +export default class RedisClusterSlots { + #private; + slots: Shard[]; + masters: MasterNode[]; + replicas: ShardNode[]; + readonly nodeByAddress: Map | MasterNode>; + pubSubNode?: PubSubNode; + clientSideCache?: PooledClientSideCacheProvider; + smigratedSeqIdsSeen: Set; + get isOpen(): boolean; + constructor(options: RedisClusterOptions, emit: EventEmitter['emit']); + connect(): Promise; + nodeClient(node: ShardNode): Promise>; + rediscover(startWith: RedisClientType): Promise; + /** + * @deprecated Use `close` instead. + */ + quit(): Promise; + /** + * @deprecated Use `destroy` instead. + */ + disconnect(): Promise; + close(): Promise; + destroy(): void; + getClientAndSlotNumber(firstKey: RedisArgument | undefined, isReadonly: boolean | undefined): Promise<{ + client: RedisClientType; + slotNumber?: number; + }>; + _randomNodeIterator?: IterableIterator>; + getRandomNode(): ShardNode; + getSlotRandomNode(slotNumber: number): ShardNode; + getMasterByAddress(address: string): Promise> | undefined; + getPubSubClient(): Promise>; + executeUnsubscribeCommand(unsubscribe: (client: RedisClientType) => Promise): Promise; + getShardedPubSubClient(channel: string): Promise>; + executeShardedUnsubscribeCommand(channel: string, unsubscribe: (client: RedisClientType) => Promise): Promise; +} +export {}; +//# sourceMappingURL=cluster-slots.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/cluster/cluster-slots.d.ts.map b/back/node_modules/@redis/client/dist/lib/cluster/cluster-slots.d.ts.map new file mode 100644 index 0000000..491d832 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/cluster/cluster-slots.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cluster-slots.d.ts","sourceRoot":"","sources":["../../../lib/cluster/cluster-slots.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/cluster/cluster-slots.js b/back/node_modules/@redis/client/dist/lib/cluster/cluster-slots.js new file mode 100644 index 0000000..442dc5d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/cluster/cluster-slots.js @@ -0,0 +1,652 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +var _a; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.RESUBSCRIBE_LISTENERS_EVENT = void 0; +const errors_1 = require("../errors"); +const client_1 = __importDefault(require("../client")); +const pub_sub_1 = require("../client/pub-sub"); +const cluster_key_slot_1 = __importDefault(require("cluster-key-slot")); +const cache_1 = require("../client/cache"); +const enterprise_maintenance_manager_1 = require("../client/enterprise-maintenance-manager"); +exports.RESUBSCRIBE_LISTENERS_EVENT = '__resubscribeListeners'; +class RedisClusterSlots { + static #SLOTS = 16384; + #options; + #clientFactory; + #emit; + slots = new Array(_a.#SLOTS); + masters = new Array(); + replicas = new Array(); + nodeByAddress = new Map(); + pubSubNode; + clientSideCache; + smigratedSeqIdsSeen = new Set; + #isOpen = false; + get isOpen() { + return this.#isOpen; + } + #validateOptions(options) { + if (options?.clientSideCache && options?.RESP !== 3) { + throw new Error('Client Side Caching is only supported with RESP3'); + } + } + constructor(options, emit) { + this.#validateOptions(options); + this.#options = options; + if (options?.clientSideCache) { + if (options.clientSideCache instanceof cache_1.PooledClientSideCacheProvider) { + this.clientSideCache = options.clientSideCache; + } + else { + this.clientSideCache = new cache_1.BasicPooledClientSideCache(options.clientSideCache); + } + } + this.#clientFactory = client_1.default.factory(this.#options); + this.#emit = emit; + } + async connect() { + if (this.#isOpen) { + throw new Error('Cluster already open'); + } + this.#isOpen = true; + try { + await this.#discoverWithRootNodes(); + this.#emit('connect'); + } + catch (err) { + this.#isOpen = false; + throw err; + } + } + async #discoverWithRootNodes() { + let start = Math.floor(Math.random() * this.#options.rootNodes.length); + for (let i = start; i < this.#options.rootNodes.length; i++) { + if (!this.#isOpen) + throw new Error('Cluster closed'); + if (await this.#discover(this.#options.rootNodes[i])) { + return; + } + } + for (let i = 0; i < start; i++) { + if (!this.#isOpen) + throw new Error('Cluster closed'); + if (await this.#discover(this.#options.rootNodes[i])) { + return; + } + } + throw new errors_1.RootNodesUnavailableError(); + } + #resetSlots() { + this.slots = new Array(_a.#SLOTS); + this.masters = []; + this.replicas = []; + this._randomNodeIterator = undefined; + } + async #discover(rootNode) { + this.clientSideCache?.clear(); + this.clientSideCache?.disable(); + try { + const addressesInUse = new Set(), promises = [], eagerConnect = this.#options.minimizeConnections !== true; + const shards = await this.#getShards(rootNode); + this.#resetSlots(); // Reset slots AFTER shards have been fetched to prevent a race condition + for (const { from, to, master, replicas } of shards) { + const shard = { + master: this.#initiateSlotNode(master, false, eagerConnect, addressesInUse, promises) + }; + if (this.#options.useReplicas) { + shard.replicas = replicas.map(replica => this.#initiateSlotNode(replica, true, eagerConnect, addressesInUse, promises)); + } + for (let i = from; i <= to; i++) { + this.slots[i] = shard; + } + } + if (this.pubSubNode && !addressesInUse.has(this.pubSubNode.address)) { + const channelsListeners = this.pubSubNode.client.getPubSubListeners(pub_sub_1.PUBSUB_TYPE.CHANNELS), patternsListeners = this.pubSubNode.client.getPubSubListeners(pub_sub_1.PUBSUB_TYPE.PATTERNS); + this.pubSubNode.client.destroy(); + if (channelsListeners.size || patternsListeners.size) { + promises.push(this.#initiatePubSubClient({ + [pub_sub_1.PUBSUB_TYPE.CHANNELS]: channelsListeners, + [pub_sub_1.PUBSUB_TYPE.PATTERNS]: patternsListeners + })); + } + } + //Keep only the nodes that are still in use + for (const [address, node] of this.nodeByAddress.entries()) { + if (addressesInUse.has(address)) + continue; + if (node.client) { + node.client.destroy(); + } + const { pubSub } = node; + if (pubSub) { + pubSub.client.destroy(); + } + this.nodeByAddress.delete(address); + } + await Promise.all(promises); + this.clientSideCache?.enable(); + return true; + } + catch (err) { + this.#emit('error', err); + return false; + } + } + #handleSmigrated = async (event) => { + (0, enterprise_maintenance_manager_1.dbgMaintenance)(`[CSlots]: handle smigrated`, JSON.stringify(event, null, 2)); + if (this.smigratedSeqIdsSeen.has(event.seqId)) { + (0, enterprise_maintenance_manager_1.dbgMaintenance)(`[CSlots]: sequence id ${event.seqId} already seen, abort`); + return; + } + this.smigratedSeqIdsSeen.add(event.seqId); + for (const entry of event.entries) { + const sourceAddress = `${entry.source.host}:${entry.source.port}`; + const sourceNode = this.nodeByAddress.get(sourceAddress); + (0, enterprise_maintenance_manager_1.dbgMaintenance)(`[CSlots]: Looking for sourceAddress=${sourceAddress}. Available addresses in nodeByAddress: ${Array.from(this.nodeByAddress.keys()).join(', ')}`); + if (!sourceNode) { + (0, enterprise_maintenance_manager_1.dbgMaintenance)(`[CSlots]: address ${sourceAddress} not in 'nodeByAddress', skipping this entry`); + continue; + } + if (sourceNode.client === undefined) { + (0, enterprise_maintenance_manager_1.dbgMaintenance)(`[CSlots]: Node for ${sourceAddress} does not have a client, skipping this entry`); + continue; + } + // Track all slots being moved for this entry (used for pubsub listener handling) + const allMovingSlots = new Set(); + try { + // 1. Pausing + // 1.1 Normal + sourceNode.client?._pause(); + // 1.2 Sharded pubsub + if ('pubSub' in sourceNode) { + sourceNode.pubSub?.client._pause(); + } + // 2. Process each destination: create nodes, update slot mappings, extract commands, unpause + let lastDestNode; + for (const { addr: { host, port }, slots } of entry.destinations) { + const destinationAddress = `${host}:${port}`; + let destMasterNode = this.nodeByAddress.get(destinationAddress); + (0, enterprise_maintenance_manager_1.dbgMaintenance)(`[CSlots]: Looking for destAddress=${destinationAddress}. Found in nodeByAddress: ${destMasterNode ? 'YES' : 'NO'}`); + let destShard; + // 2.1 Create new Master if needed + if (!destMasterNode) { + const promises = []; + destMasterNode = this.#initiateSlotNode({ host: host, port: port, id: `smigrated-${host}:${port}` }, false, true, new Set(), promises); + await Promise.all([...promises, this.#initiateShardedPubSubClient(destMasterNode)]); + // Pause new destination until migration is complete + destMasterNode.client?._pause(); + destMasterNode.pubSub?.client._pause(); + // In case destination node didnt exist, this means Shard didnt exist as well, so creating a new Shard is completely fine + destShard = { + master: destMasterNode + }; + } + else { + // DEBUG: Log all master hosts/ports in slots array to diagnose mismatch + const allMasters = [...new Set(this.slots)].map(s => `${s.master.host}:${s.master.port}`); + (0, enterprise_maintenance_manager_1.dbgMaintenance)(`[CSlots]: Searching for shard with host=${host}, port=${port}. Available masters in slots: ${allMasters.join(', ')}`); + // In case destination node existed, this means there was a Shard already, so its best if we can find it. + const existingShard = this.slots.find(shard => shard.master.host === host && shard.master.port === port); + if (!existingShard) { + (0, enterprise_maintenance_manager_1.dbgMaintenance)("Could not find shard"); + throw new Error('Could not find shard'); + } + destShard = existingShard; + // Pause existing destination during command transfer + destMasterNode.client?._pause(); + destMasterNode.pubSub?.client._pause(); + } + // Track last destination for slotless commands later + lastDestNode = destMasterNode; + // 3. Convert slots to Set and update shard mappings + const destinationSlots = new Set(); + for (const slot of slots) { + if (typeof slot === 'number') { + this.slots[slot] = destShard; + destinationSlots.add(slot); + allMovingSlots.add(slot); + } + else { + for (let s = slot[0]; s <= slot[1]; s++) { + this.slots[s] = destShard; + destinationSlots.add(s); + allMovingSlots.add(s); + } + } + } + (0, enterprise_maintenance_manager_1.dbgMaintenance)(`[CSlots]: Updated slots to point to destination ${destMasterNode.address}. Sample slots: ${Array.from(slots).slice(0, 5).join(', ')}${slots.length > 5 ? '...' : ''}`); + // 4. Extract commands for this destination's slots and prepend to destination queue + const commandsForDestination = sourceNode.client._getQueue().extractCommandsForSlots(destinationSlots); + destMasterNode.client?._getQueue().prependCommandsToWrite(commandsForDestination); + (0, enterprise_maintenance_manager_1.dbgMaintenance)(`[CSlots]: Extracted ${commandsForDestination.length} commands for ${destinationSlots.size} slots, prepended to ${destMasterNode.address}`); + // 5. Unpause destination + destMasterNode.client?._unpause(); + destMasterNode.pubSub?.client._unpause(); + } + (0, enterprise_maintenance_manager_1.dbgMaintenance)(`[CSlots]: Total ${allMovingSlots.size} slots moved from ${sourceAddress}. Sample: ${Array.from(allMovingSlots).slice(0, 10).join(', ')}${allMovingSlots.size > 10 ? '...' : ''}`); + // 6. Wait for inflight commands on source to complete (with timeout to prevent hangs) + const INFLIGHT_TIMEOUT_MS = 5000; // 5 seconds max wait for inflight commands + const inflightPromises = []; + const inflightOptions = { timeoutMs: INFLIGHT_TIMEOUT_MS, flushOnTimeout: true }; + inflightPromises.push(sourceNode.client._getQueue().waitForInflightCommandsToComplete(inflightOptions)); + if ('pubSub' in sourceNode && sourceNode.pubSub !== undefined) { + inflightPromises.push(sourceNode.pubSub.client._getQueue().waitForInflightCommandsToComplete(inflightOptions)); + } + if (this.pubSubNode?.address === sourceAddress) { + inflightPromises.push(this.pubSubNode.client._getQueue().waitForInflightCommandsToComplete(inflightOptions)); + } + await Promise.all(inflightPromises); + // 7. Handle source cleanup + const sourceStillHasSlots = this.slots.find(slot => slot.master.address === sourceAddress) !== undefined; + if (sourceStillHasSlots) { + // Handle sharded pubsub listeners for moving slots + if ('pubSub' in sourceNode) { + const listeners = sourceNode.pubSub?.client._getQueue().removeShardedPubSubListenersForSlots(allMovingSlots); + this.#emit(exports.RESUBSCRIBE_LISTENERS_EVENT, listeners); + } + // Unpause source since it still has slots + sourceNode.client?._unpause(); + if ('pubSub' in sourceNode) { + sourceNode.pubSub?.client._unpause(); + } + } + else { + // Source has no slots left - move remaining slotless commands and cleanup + const remainingCommands = sourceNode.client._getQueue().extractAllCommands(); + if (remainingCommands.length > 0 && lastDestNode) { + lastDestNode.client?._getQueue().prependCommandsToWrite(remainingCommands); + // Trigger write scheduling since commands were added after destination was unpaused + lastDestNode.client?._unpause(); + (0, enterprise_maintenance_manager_1.dbgMaintenance)(`[CSlots]: Moved ${remainingCommands.length} remaining slotless commands to ${lastDestNode.address}`); + } + if ('pubSub' in sourceNode) { + const listeners = sourceNode.pubSub?.client._getQueue().removeAllPubSubListeners(); + this.#emit(exports.RESUBSCRIBE_LISTENERS_EVENT, listeners); + } + // Remove all local references to the dying shard's clients + this.masters = this.masters.filter(master => master.address !== sourceAddress); + this.replicas = this.replicas.filter(replica => replica.address !== sourceAddress); + this.nodeByAddress.delete(sourceAddress); + // Handle pubSubNode replacement BEFORE destroying source connections + // This ensures subscriptions are resubscribed on a new node before the old connection is lost + if (this.pubSubNode?.address === sourceAddress) { + const channelsListeners = this.pubSubNode.client.getPubSubListeners(pub_sub_1.PUBSUB_TYPE.CHANNELS), patternsListeners = this.pubSubNode.client.getPubSubListeners(pub_sub_1.PUBSUB_TYPE.PATTERNS); + const oldPubSubClient = this.pubSubNode.client; + if (channelsListeners.size || patternsListeners.size) { + await this.#initiatePubSubClient({ + [pub_sub_1.PUBSUB_TYPE.CHANNELS]: channelsListeners, + [pub_sub_1.PUBSUB_TYPE.PATTERNS]: patternsListeners + }); + } + else { + this.pubSubNode = undefined; + } + oldPubSubClient.destroy(); + } + // Destroy source connections (use destroy() instead of close() since the node is being removed + // and close() can hang if the server is not responding) + sourceNode.client?.destroy(); + if ('pubSub' in sourceNode) { + sourceNode.pubSub?.client.destroy(); + } + } + } + catch (err) { + (0, enterprise_maintenance_manager_1.dbgMaintenance)(`[CSlots]: Error during SMIGRATED handling for source ${sourceAddress}: ${err}`); + // Ensure we unpause source on error to prevent deadlock + sourceNode.client?._unpause(); + if ('pubSub' in sourceNode) { + sourceNode.pubSub?.client._unpause(); + } + this.#emit('error', err); + } + } + }; + async #getShards(rootNode) { + const options = this.#clientOptionsDefaults(rootNode); + options.socket ??= {}; + options.socket.reconnectStrategy = false; + options.RESP = this.#options.RESP; + options.commandOptions = undefined; + options.maintNotifications = 'disabled'; + // TODO: find a way to avoid type casting + const client = await this.#clientFactory(options) + .on('error', err => this.#emit('error', err)) + .connect(); + try { + // switch to `CLUSTER SHARDS` when Redis 7.0 will be the minimum supported version + return await client.clusterSlots(); + } + finally { + client.destroy(); + } + } + #getNodeAddress(address) { + switch (typeof this.#options.nodeAddressMap) { + case 'object': + return this.#options.nodeAddressMap[address]; + case 'function': + return this.#options.nodeAddressMap(address); + } + } + #clientOptionsDefaults(options) { + if (!this.#options.defaults) + return options; + let socket; + if (this.#options.defaults.socket) { + socket = { + ...this.#options.defaults.socket, + ...options?.socket + }; + } + else { + socket = options?.socket; + } + return { + ...this.#options.defaults, + ...options, + socket: socket + }; + } + #initiateSlotNode(shard, readonly, eagerConnent, addressesInUse, promises) { + const address = `${shard.host}:${shard.port}`; + let node = this.nodeByAddress.get(address); + if (!node) { + node = { + ...shard, + address, + readonly, + client: undefined, + connectPromise: undefined + }; + if (eagerConnent) { + promises.push(this.#createNodeClient(node)); + } + this.nodeByAddress.set(address, node); + } + if (!addressesInUse.has(address)) { + addressesInUse.add(address); + (readonly ? this.replicas : this.masters).push(node); + } + return node; + } + #createClient(node, readonly = node.readonly) { + const socket = this.#getNodeAddress(node.address) ?? + { host: node.host, port: node.port, }; + const clientInfo = Object.freeze({ + host: socket.host, + port: socket.port, + }); + const emit = this.#emit; + const client = this.#clientFactory(this.#clientOptionsDefaults({ + clientSideCache: this.clientSideCache, + RESP: this.#options.RESP, + socket, + readonly, + })) + .on('error', error => emit('node-error', error, clientInfo)) + .on('reconnecting', () => emit('node-reconnecting', clientInfo)) + .once('ready', () => emit('node-ready', clientInfo)) + .once('connect', () => emit('node-connect', clientInfo)) + .once('end', () => emit('node-disconnect', clientInfo)) + .on(enterprise_maintenance_manager_1.SMIGRATED_EVENT, this.#handleSmigrated) + .on('__MOVED', async (allPubSubListeners) => { + await this.rediscover(client); + this.#emit(exports.RESUBSCRIBE_LISTENERS_EVENT, allPubSubListeners); + }); + return client; + } + #createNodeClient(node, readonly) { + const client = node.client = this.#createClient(node, readonly); + return node.connectPromise = client.connect() + .finally(() => node.connectPromise = undefined); + } + nodeClient(node) { + // if the node is connecting + if (node.connectPromise) + return node.connectPromise; + // if the node is connected + if (node.client) + return Promise.resolve(node.client); + // if the not is disconnected + return this.#createNodeClient(node); + } + #runningRediscoverPromise; + async rediscover(startWith) { + this.#runningRediscoverPromise ??= this.#rediscover(startWith) + .finally(() => { + this.#runningRediscoverPromise = undefined; + }); + return this.#runningRediscoverPromise; + } + async #rediscover(startWith) { + if (await this.#discover(startWith.options)) + return; + return this.#discoverWithRootNodes(); + } + /** + * @deprecated Use `close` instead. + */ + quit() { + return this.#destroy(client => client.quit()); + } + /** + * @deprecated Use `destroy` instead. + */ + disconnect() { + return this.#destroy(client => client.disconnect()); + } + close() { + return this.#destroy(client => client.close()); + } + destroy() { + this.#isOpen = false; + for (const client of this.#clients()) { + client.destroy(); + } + if (this.pubSubNode) { + this.pubSubNode.client.destroy(); + this.pubSubNode = undefined; + } + this.#resetSlots(); + this.nodeByAddress.clear(); + this.#emit('disconnect'); + } + *#clients() { + for (const master of this.masters) { + if (master.client) { + yield master.client; + } + if (master.pubSub) { + yield master.pubSub.client; + } + } + for (const replica of this.replicas) { + if (replica.client) { + yield replica.client; + } + } + } + async #destroy(fn) { + this.#isOpen = false; + const promises = []; + for (const client of this.#clients()) { + promises.push(fn(client)); + } + if (this.pubSubNode) { + promises.push(fn(this.pubSubNode.client)); + this.pubSubNode = undefined; + } + this.#resetSlots(); + this.nodeByAddress.clear(); + await Promise.allSettled(promises); + this.#emit('disconnect'); + } + async getClientAndSlotNumber(firstKey, isReadonly) { + if (!firstKey) { + return { + client: await this.nodeClient(this.getRandomNode()) + }; + } + const slotNumber = (0, cluster_key_slot_1.default)(firstKey); + if (!isReadonly) { + return { + client: await this.nodeClient(this.slots[slotNumber].master), + slotNumber + }; + } + return { + client: await this.nodeClient(this.getSlotRandomNode(slotNumber)), + slotNumber + }; + } + *#iterateAllNodes() { + if (this.masters.length + this.replicas.length === 0) + return; + let i = Math.floor(Math.random() * (this.masters.length + this.replicas.length)); + if (i < this.masters.length) { + do { + yield this.masters[i]; + } while (++i < this.masters.length); + for (const replica of this.replicas) { + yield replica; + } + } + else { + i -= this.masters.length; + do { + yield this.replicas[i]; + } while (++i < this.replicas.length); + } + while (true) { + for (const master of this.masters) { + yield master; + } + for (const replica of this.replicas) { + yield replica; + } + } + } + _randomNodeIterator; + getRandomNode() { + this._randomNodeIterator ??= this.#iterateAllNodes(); + return this._randomNodeIterator.next().value; + } + *#slotNodesIterator(slot) { + let i = Math.floor(Math.random() * (1 + slot.replicas.length)); + if (i < slot.replicas.length) { + do { + yield slot.replicas[i]; + } while (++i < slot.replicas.length); + } + while (true) { + yield slot.master; + for (const replica of slot.replicas) { + yield replica; + } + } + } + getSlotRandomNode(slotNumber) { + const slot = this.slots[slotNumber]; + if (!slot.replicas?.length) { + return slot.master; + } + slot.nodesIterator ??= this.#slotNodesIterator(slot); + return slot.nodesIterator.next().value; + } + getMasterByAddress(address) { + const master = this.nodeByAddress.get(address); + if (!master) + return; + return this.nodeClient(master); + } + getPubSubClient() { + if (!this.pubSubNode) + return this.#initiatePubSubClient(); + return this.pubSubNode.connectPromise ?? Promise.resolve(this.pubSubNode.client); + } + async #initiatePubSubClient(toResubscribe) { + const index = Math.floor(Math.random() * (this.masters.length + this.replicas.length)), node = index < this.masters.length ? + this.masters[index] : + this.replicas[index - this.masters.length], client = this.#createClient(node, false); + this.pubSubNode = { + address: node.address, + client, + connectPromise: client.connect() + .then(async (client) => { + if (toResubscribe) { + await Promise.all([ + client.extendPubSubListeners(pub_sub_1.PUBSUB_TYPE.CHANNELS, toResubscribe[pub_sub_1.PUBSUB_TYPE.CHANNELS]), + client.extendPubSubListeners(pub_sub_1.PUBSUB_TYPE.PATTERNS, toResubscribe[pub_sub_1.PUBSUB_TYPE.PATTERNS]) + ]); + } + this.pubSubNode.connectPromise = undefined; + return client; + }) + .catch(err => { + this.pubSubNode = undefined; + throw err; + }) + }; + return this.pubSubNode.connectPromise; + } + async executeUnsubscribeCommand(unsubscribe) { + const client = await this.getPubSubClient(); + await unsubscribe(client); + if (!client.isPubSubActive) { + client.destroy(); + this.pubSubNode = undefined; + } + } + getShardedPubSubClient(channel) { + const { master } = this.slots[(0, cluster_key_slot_1.default)(channel)]; + if (!master.pubSub) + return this.#initiateShardedPubSubClient(master); + return master.pubSub.connectPromise ?? Promise.resolve(master.pubSub.client); + } + async #initiateShardedPubSubClient(master) { + const client = this.#createClient(master, false) + .on('server-sunsubscribe', async (channel, listeners) => { + try { + await this.rediscover(client); + const redirectTo = await this.getShardedPubSubClient(channel); + await redirectTo.extendPubSubChannelListeners(pub_sub_1.PUBSUB_TYPE.SHARDED, channel, listeners); + } + catch (err) { + this.#emit('sharded-shannel-moved-error', err, channel, listeners); + } + }); + master.pubSub = { + client, + connectPromise: client.connect() + .then(client => { + master.pubSub.connectPromise = undefined; + return client; + }) + .catch(err => { + master.pubSub = undefined; + throw err; + }) + }; + return master.pubSub.connectPromise; + } + async executeShardedUnsubscribeCommand(channel, unsubscribe) { + const { master } = this.slots[(0, cluster_key_slot_1.default)(channel)]; + if (!master.pubSub) + return; + const client = master.pubSub.connectPromise ? + await master.pubSub.connectPromise : + master.pubSub.client; + await unsubscribe(client); + if (!client.isPubSubActive) { + client.destroy(); + master.pubSub = undefined; + } + } +} +_a = RedisClusterSlots; +exports.default = RedisClusterSlots; +//# sourceMappingURL=cluster-slots.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/cluster/cluster-slots.js.map b/back/node_modules/@redis/client/dist/lib/cluster/cluster-slots.js.map new file mode 100644 index 0000000..6cd1a0c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/cluster/cluster-slots.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cluster-slots.js","sourceRoot":"","sources":["../../../lib/cluster/cluster-slots.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/cluster/index.d.ts b/back/node_modules/@redis/client/dist/lib/cluster/index.d.ts new file mode 100644 index 0000000..7689836 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/cluster/index.d.ts @@ -0,0 +1,181 @@ +/// +import { RedisClientOptions, RedisClientType, WithFunctions, WithModules, WithScripts } from '../client'; +import { CommandOptions } from '../client/commands-queue'; +import { CommandArguments, CommanderConfig, CommandSignature, TypeMapping, RedisArgument, RedisFunctions, RedisModules, RedisScripts, ReplyUnion, RespVersions } from '../RESP/types'; +import { NON_STICKY_COMMANDS } from '../commands'; +import { EventEmitter } from 'node:events'; +import RedisClusterSlots, { NodeAddressMap, ShardNode } from './cluster-slots'; +import { RedisClusterMultiCommandType } from './multi-command'; +import { PubSubListener, PubSubListeners } from '../client/pub-sub'; +import { RedisTcpSocketOptions } from '../client/socket'; +import { ClientSideCacheConfig, PooledClientSideCacheProvider } from '../client/cache'; +type WithCommands = { + [P in keyof typeof NON_STICKY_COMMANDS]: CommandSignature<(typeof NON_STICKY_COMMANDS)[P], RESP, TYPE_MAPPING>; +}; +interface ClusterCommander extends CommanderConfig { + commandOptions?: ClusterCommandOptions; +} +export type RedisClusterClientOptions = Omit, keyof ClusterCommander>; +export interface RedisClusterOptions extends ClusterCommander { + /** + * Should contain details for some of the cluster nodes that the client will use to discover + * the "cluster topology". We recommend including details for at least 3 nodes here. + */ + rootNodes: Array; + /** + * Default values used for every client in the cluster. Use this to specify global values, + * for example: ACL credentials, timeouts, TLS configuration etc. + */ + defaults?: Partial; + /** + * When `true`, `.connect()` will only discover the cluster topology, without actually connecting to all the nodes. + * Useful for short-term or PubSub-only connections. + */ + minimizeConnections?: boolean; + /** + * When `true`, distribute load by executing readonly commands (such as `GET`, `GEOSEARCH`, etc.) across all cluster nodes. When `false`, only use master nodes. + */ + useReplicas?: boolean; + /** + * The maximum number of times a command will be redirected due to `MOVED` or `ASK` errors. + */ + maxCommandRedirections?: number; + /** + * Mapping between the addresses in the cluster (see `CLUSTER SHARDS`) and the addresses the client should connect to + * Useful when the cluster is running on another network + */ + nodeAddressMap?: NodeAddressMap; + /** + * Client Side Caching configuration for the pool. + * + * Enables Redis Servers and Clients to work together to cache results from commands + * sent to a server. The server will notify the client when cached results are no longer valid. + * In pooled mode, the cache is shared across all clients in the pool. + * + * Note: Client Side Caching is only supported with RESP3. + * + * @example Anonymous cache configuration + * ``` + * const client = createCluster({ + * clientSideCache: { + * ttl: 0, + * maxEntries: 0, + * evictPolicy: "LRU" + * }, + * minimum: 5 + * }); + * ``` + * + * @example Using a controllable cache + * ``` + * const cache = new BasicPooledClientSideCache({ + * ttl: 0, + * maxEntries: 0, + * evictPolicy: "LRU" + * }); + * const client = createCluster({ + * clientSideCache: cache, + * minimum: 5 + * }); + * ``` + */ + clientSideCache?: PooledClientSideCacheProvider | ClientSideCacheConfig; +} +export type RedisClusterType = (RedisCluster & WithCommands & WithModules & WithFunctions & WithScripts); +export interface ClusterCommandOptions extends CommandOptions { +} +export default class RedisCluster extends EventEmitter { + #private; + static factory(config?: ClusterCommander): (options?: Omit>) => RedisClusterType; + static create(options?: RedisClusterOptions): RedisClusterType; + readonly _options: RedisClusterOptions; + readonly _slots: RedisClusterSlots; + private _self; + private _commandOptions?; + /** + * An array of the cluster slots, each slot contain its `master` and `replicas`. + * Use with {@link RedisCluster.prototype.nodeClient} to get the client for a specific node (master or replica). + */ + get slots(): import("./cluster-slots").Shard[]; + get clientSideCache(): PooledClientSideCacheProvider | undefined; + /** + * An array of the cluster masters. + * Use with {@link RedisCluster.prototype.nodeClient} to get the client for a specific master node. + */ + get masters(): import("./cluster-slots").MasterNode[]; + /** + * An array of the cluster replicas. + * Use with {@link RedisCluster.prototype.nodeClient} to get the client for a specific replica node. + */ + get replicas(): ShardNode[]; + /** + * A map form a node address (`:`) to its shard, each shard contain its `master` and `replicas`. + * Use with {@link RedisCluster.prototype.nodeClient} to get the client for a specific node (master or replica). + */ + get nodeByAddress(): Map | ShardNode>; + /** + * The current pub/sub node. + */ + get pubSubNode(): (Omit, "client"> & Required, "client">>) | undefined; + get isOpen(): boolean; + constructor(options: RedisClusterOptions); + duplicate<_M extends RedisModules = M, _F extends RedisFunctions = F, _S extends RedisScripts = S, _RESP extends RespVersions = RESP, _TYPE_MAPPING extends TypeMapping = TYPE_MAPPING>(overrides?: Partial>): RedisClusterType<_M, _F, _S, _RESP, _TYPE_MAPPING>; + connect(): Promise>; + withCommandOptions, TYPE_MAPPING extends TypeMapping>(options: OPTIONS): RedisClusterType; + private _commandOptionsProxy; + /** + * Override the `typeMapping` command option + */ + withTypeMapping(typeMapping: TYPE_MAPPING): RedisClusterType; + _handleAsk(fn: (client: RedisClientType, opts?: ClusterCommandOptions) => Promise): (client: RedisClientType, options?: ClusterCommandOptions) => Promise; + _execute(firstKey: RedisArgument | undefined, isReadonly: boolean | undefined, options: ClusterCommandOptions | undefined, fn: (client: RedisClientType, opts?: ClusterCommandOptions) => Promise): Promise; + sendCommand(firstKey: RedisArgument | undefined, isReadonly: boolean | undefined, args: CommandArguments, options?: ClusterCommandOptions): Promise; + MULTI(routing?: RedisArgument): RedisClusterMultiCommandType<[], M, F, S, RESP, TYPE_MAPPING>; + multi: (routing?: RedisArgument) => RedisClusterMultiCommandType<[], M, F, S, RESP, TYPE_MAPPING>; + SUBSCRIBE(channels: string | Array, listener: PubSubListener, bufferMode?: T): Promise; + subscribe: (channels: string | Array, listener: PubSubListener, bufferMode?: T | undefined) => Promise; + UNSUBSCRIBE(channels?: string | Array, listener?: PubSubListener, bufferMode?: T): Promise; + unsubscribe: (channels?: string | Array, listener?: PubSubListener, bufferMode?: T | undefined) => Promise; + PSUBSCRIBE(patterns: string | Array, listener: PubSubListener, bufferMode?: T): Promise; + pSubscribe: (patterns: string | Array, listener: PubSubListener, bufferMode?: T | undefined) => Promise; + PUNSUBSCRIBE(patterns?: string | Array, listener?: PubSubListener, bufferMode?: T): Promise; + pUnsubscribe: (patterns?: string | Array, listener?: PubSubListener | undefined, bufferMode?: T | undefined) => Promise; + SSUBSCRIBE(channels: string | Array, listener: PubSubListener, bufferMode?: T): Promise; + sSubscribe: (channels: string | Array, listener: PubSubListener, bufferMode?: T | undefined) => Promise; + SUNSUBSCRIBE(channels: string | Array, listener?: PubSubListener, bufferMode?: T): Promise; + resubscribeAllPubSubListeners(allListeners: Partial): void; + sUnsubscribe: (channels: string | Array, listener?: PubSubListener | undefined, bufferMode?: T | undefined) => Promise; + /** + * @deprecated Use `close` instead. + */ + quit(): Promise; + /** + * @deprecated Use `destroy` instead. + */ + disconnect(): Promise; + close(): Promise; + destroy(): void; + nodeClient(node: ShardNode): Promise>; + /** + * Returns a random node from the cluster. + * Userful for running "forward" commands (like PUBLISH) on a random node. + */ + getRandomNode(): ShardNode; + /** + * Get a random node from a slot. + * Useful for running readonly commands on a slot. + */ + getSlotRandomNode(slot: number): ShardNode; + /** + * @deprecated use `.masters` instead + * TODO + */ + getMasters(): import("./cluster-slots").MasterNode[]; + /** + * @deprecated use `.slots[]` instead + * TODO + */ + getSlotMaster(slot: number): import("./cluster-slots").MasterNode; +} +export {}; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/cluster/index.d.ts.map b/back/node_modules/@redis/client/dist/lib/cluster/index.d.ts.map new file mode 100644 index 0000000..3c677e4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/cluster/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/cluster/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/cluster/index.js b/back/node_modules/@redis/client/dist/lib/cluster/index.js new file mode 100644 index 0000000..e330c1a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/cluster/index.js @@ -0,0 +1,387 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const commands_1 = require("../commands"); +const node_events_1 = require("node:events"); +const commander_1 = require("../commander"); +const cluster_slots_1 = __importStar(require("./cluster-slots")); +const multi_command_1 = __importDefault(require("./multi-command")); +const errors_1 = require("../errors"); +const parser_1 = require("../client/parser"); +const ASKING_1 = require("../commands/ASKING"); +const single_entry_cache_1 = __importDefault(require("../single-entry-cache")); +class RedisCluster extends node_events_1.EventEmitter { + static #createCommand(command, resp) { + const transformReply = (0, commander_1.getTransformReply)(command, resp); + return async function (...args) { + const parser = new parser_1.BasicCommandParser(); + command.parseCommand(parser, ...args); + return this._self._execute(parser.firstKey, command.IS_READ_ONLY, this._commandOptions, (client, opts) => client._executeCommand(command, parser, opts, transformReply)); + }; + } + static #createModuleCommand(command, resp) { + const transformReply = (0, commander_1.getTransformReply)(command, resp); + return async function (...args) { + const parser = new parser_1.BasicCommandParser(); + command.parseCommand(parser, ...args); + return this._self._execute(parser.firstKey, command.IS_READ_ONLY, this._self._commandOptions, (client, opts) => client._executeCommand(command, parser, opts, transformReply)); + }; + } + static #createFunctionCommand(name, fn, resp) { + const prefix = (0, commander_1.functionArgumentsPrefix)(name, fn); + const transformReply = (0, commander_1.getTransformReply)(fn, resp); + return async function (...args) { + const parser = new parser_1.BasicCommandParser(); + parser.push(...prefix); + fn.parseCommand(parser, ...args); + return this._self._execute(parser.firstKey, fn.IS_READ_ONLY, this._self._commandOptions, (client, opts) => client._executeCommand(fn, parser, opts, transformReply)); + }; + } + static #createScriptCommand(script, resp) { + const prefix = (0, commander_1.scriptArgumentsPrefix)(script); + const transformReply = (0, commander_1.getTransformReply)(script, resp); + return async function (...args) { + const parser = new parser_1.BasicCommandParser(); + parser.push(...prefix); + script.parseCommand(parser, ...args); + return this._self._execute(parser.firstKey, script.IS_READ_ONLY, this._commandOptions, (client, opts) => client._executeScript(script, parser, opts, transformReply)); + }; + } + static #SingleEntryCache = new single_entry_cache_1.default(); + static factory(config) { + let Cluster = RedisCluster.#SingleEntryCache.get(config); + if (!Cluster) { + Cluster = (0, commander_1.attachConfig)({ + BaseClass: RedisCluster, + commands: commands_1.NON_STICKY_COMMANDS, + createCommand: RedisCluster.#createCommand, + createModuleCommand: RedisCluster.#createModuleCommand, + createFunctionCommand: RedisCluster.#createFunctionCommand, + createScriptCommand: RedisCluster.#createScriptCommand, + config + }); + Cluster.prototype.Multi = multi_command_1.default.extend(config); + RedisCluster.#SingleEntryCache.set(config, Cluster); + } + return (options) => { + // returning a "proxy" to prevent the namespaces._self to leak between "proxies" + return Object.create(new Cluster(options)); + }; + } + static create(options) { + return RedisCluster.factory(options)(options); + } + _options; + _slots; + _self = this; + _commandOptions; + /** + * An array of the cluster slots, each slot contain its `master` and `replicas`. + * Use with {@link RedisCluster.prototype.nodeClient} to get the client for a specific node (master or replica). + */ + get slots() { + return this._self._slots.slots; + } + get clientSideCache() { + return this._self._slots.clientSideCache; + } + /** + * An array of the cluster masters. + * Use with {@link RedisCluster.prototype.nodeClient} to get the client for a specific master node. + */ + get masters() { + return this._self._slots.masters; + } + /** + * An array of the cluster replicas. + * Use with {@link RedisCluster.prototype.nodeClient} to get the client for a specific replica node. + */ + get replicas() { + return this._self._slots.replicas; + } + /** + * A map form a node address (`:`) to its shard, each shard contain its `master` and `replicas`. + * Use with {@link RedisCluster.prototype.nodeClient} to get the client for a specific node (master or replica). + */ + get nodeByAddress() { + return this._self._slots.nodeByAddress; + } + /** + * The current pub/sub node. + */ + get pubSubNode() { + return this._self._slots.pubSubNode; + } + get isOpen() { + return this._self._slots.isOpen; + } + constructor(options) { + super(); + this._options = options; + this._slots = new cluster_slots_1.default(options, this.emit.bind(this)); + this.on(cluster_slots_1.RESUBSCRIBE_LISTENERS_EVENT, this.resubscribeAllPubSubListeners.bind(this)); + if (options?.commandOptions) { + this._commandOptions = options.commandOptions; + } + } + duplicate(overrides) { + return new (Object.getPrototypeOf(this).constructor)({ + ...this._self._options, + commandOptions: this._commandOptions, + ...overrides + }); + } + async connect() { + await this._self._slots.connect(); + return this; + } + withCommandOptions(options) { + const proxy = Object.create(this); + proxy._commandOptions = options; + return proxy; + } + _commandOptionsProxy(key, value) { + const proxy = Object.create(this); + proxy._commandOptions = Object.create(this._commandOptions ?? null); + proxy._commandOptions[key] = value; + return proxy; + } + /** + * Override the `typeMapping` command option + */ + withTypeMapping(typeMapping) { + return this._commandOptionsProxy('typeMapping', typeMapping); + } + // /** + // * Override the `policies` command option + // * TODO + // */ + // withPolicies (policies: POLICIES) { + // return this._commandOptionsProxy('policies', policies); + // } + _handleAsk(fn) { + return async (client, options) => { + const chainId = Symbol("asking chain"); + const opts = options ? { ...options } : {}; + opts.chainId = chainId; + const ret = await Promise.all([ + client.sendCommand([ASKING_1.ASKING_CMD], { chainId: chainId }), + fn(client, opts) + ]); + return ret[1]; + }; + } + async _execute(firstKey, isReadonly, options, fn) { + const maxCommandRedirections = this._options.maxCommandRedirections ?? 16; + let { client, slotNumber } = await this._slots.getClientAndSlotNumber(firstKey, isReadonly); + let i = 0; + let myFn = fn; + while (true) { + try { + const opts = options ?? {}; + opts.slotNumber = slotNumber; + return await myFn(client, opts); + } + catch (err) { + myFn = fn; + // TODO: error class + if (++i > maxCommandRedirections || !(err instanceof Error)) { + throw err; + } + if (err.message.startsWith('ASK')) { + const address = err.message.substring(err.message.lastIndexOf(' ') + 1); + let redirectTo = await this._slots.getMasterByAddress(address); + if (!redirectTo) { + await this._slots.rediscover(client); + redirectTo = await this._slots.getMasterByAddress(address); + } + if (!redirectTo) { + throw new Error(`Cannot find node ${address}`); + } + client = redirectTo; + myFn = this._handleAsk(fn); + continue; + } + if (err.message.startsWith('MOVED')) { + await this._slots.rediscover(client); + const clientAndSlot = await this._slots.getClientAndSlotNumber(firstKey, isReadonly); + client = clientAndSlot.client; + slotNumber = clientAndSlot.slotNumber; + continue; + } + throw err; + } + } + } + async sendCommand(firstKey, isReadonly, args, options) { + // Merge global options with local options + const opts = { + ...this._self._commandOptions, + ...options + }; + return this._self._execute(firstKey, isReadonly, opts, (client, opts) => client.sendCommand(args, opts)); + } + MULTI(routing) { + return new this.Multi(async (firstKey, isReadonly, commands) => { + const { client } = await this._self._slots.getClientAndSlotNumber(firstKey, isReadonly); + return client._executeMulti(commands); + }, async (firstKey, isReadonly, commands) => { + const { client } = await this._self._slots.getClientAndSlotNumber(firstKey, isReadonly); + return client._executePipeline(commands); + }, routing, this._commandOptions?.typeMapping); + } + multi = this.MULTI; + async SUBSCRIBE(channels, listener, bufferMode) { + return (await this._self._slots.getPubSubClient()) + .SUBSCRIBE(channels, listener, bufferMode); + } + subscribe = this.SUBSCRIBE; + async UNSUBSCRIBE(channels, listener, bufferMode) { + return this._self._slots.executeUnsubscribeCommand(client => client.UNSUBSCRIBE(channels, listener, bufferMode)); + } + unsubscribe = this.UNSUBSCRIBE; + async PSUBSCRIBE(patterns, listener, bufferMode) { + return (await this._self._slots.getPubSubClient()) + .PSUBSCRIBE(patterns, listener, bufferMode); + } + pSubscribe = this.PSUBSCRIBE; + async PUNSUBSCRIBE(patterns, listener, bufferMode) { + return this._self._slots.executeUnsubscribeCommand(client => client.PUNSUBSCRIBE(patterns, listener, bufferMode)); + } + pUnsubscribe = this.PUNSUBSCRIBE; + async SSUBSCRIBE(channels, listener, bufferMode) { + const maxCommandRedirections = this._self._options.maxCommandRedirections ?? 16, firstChannel = Array.isArray(channels) ? channels[0] : channels; + let client = await this._self._slots.getShardedPubSubClient(firstChannel); + for (let i = 0;; i++) { + try { + return await client.SSUBSCRIBE(channels, listener, bufferMode); + } + catch (err) { + if (++i > maxCommandRedirections || !(err instanceof errors_1.ErrorReply)) { + throw err; + } + if (err.message.startsWith('MOVED')) { + await this._self._slots.rediscover(client); + client = await this._self._slots.getShardedPubSubClient(firstChannel); + continue; + } + throw err; + } + } + } + sSubscribe = this.SSUBSCRIBE; + SUNSUBSCRIBE(channels, listener, bufferMode) { + return this._self._slots.executeShardedUnsubscribeCommand(Array.isArray(channels) ? channels[0] : channels, client => client.SUNSUBSCRIBE(channels, listener, bufferMode)); + } + resubscribeAllPubSubListeners(allListeners) { + if (allListeners.CHANNELS) { + for (const [channel, listeners] of allListeners.CHANNELS) { + listeners.buffers.forEach(bufListener => { + this.subscribe(channel, bufListener, true); + }); + listeners.strings.forEach(strListener => { + this.subscribe(channel, strListener); + }); + } + } + if (allListeners.PATTERNS) { + for (const [channel, listeners] of allListeners.PATTERNS) { + listeners.buffers.forEach(bufListener => { + this.pSubscribe(channel, bufListener, true); + }); + listeners.strings.forEach(strListener => { + this.pSubscribe(channel, strListener); + }); + } + } + if (allListeners.SHARDED) { + for (const [channel, listeners] of allListeners.SHARDED) { + listeners.buffers.forEach(bufListener => { + this.sSubscribe(channel, bufListener, true); + }); + listeners.strings.forEach(strListener => { + this.sSubscribe(channel, strListener); + }); + } + } + } + sUnsubscribe = this.SUNSUBSCRIBE; + /** + * @deprecated Use `close` instead. + */ + quit() { + return this._self._slots.quit(); + } + /** + * @deprecated Use `destroy` instead. + */ + disconnect() { + return this._self._slots.disconnect(); + } + close() { + this._self._slots.clientSideCache?.onPoolClose(); + return this._self._slots.close(); + } + destroy() { + this._self._slots.clientSideCache?.onPoolClose(); + return this._self._slots.destroy(); + } + nodeClient(node) { + return this._self._slots.nodeClient(node); + } + /** + * Returns a random node from the cluster. + * Userful for running "forward" commands (like PUBLISH) on a random node. + */ + getRandomNode() { + return this._self._slots.getRandomNode(); + } + /** + * Get a random node from a slot. + * Useful for running readonly commands on a slot. + */ + getSlotRandomNode(slot) { + return this._self._slots.getSlotRandomNode(slot); + } + /** + * @deprecated use `.masters` instead + * TODO + */ + getMasters() { + return this.masters; + } + /** + * @deprecated use `.slots[]` instead + * TODO + */ + getSlotMaster(slot) { + return this.slots[slot].master; + } +} +exports.default = RedisCluster; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/cluster/index.js.map b/back/node_modules/@redis/client/dist/lib/cluster/index.js.map new file mode 100644 index 0000000..e9b960c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/cluster/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/cluster/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/cluster/multi-command.d.ts b/back/node_modules/@redis/client/dist/lib/cluster/multi-command.d.ts new file mode 100644 index 0000000..f591dc3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/cluster/multi-command.d.ts @@ -0,0 +1,39 @@ +import { NON_STICKY_COMMANDS } from '../commands'; +import { MULTI_REPLY, MultiReply, MultiReplyType, RedisMultiQueuedCommand } from '../multi-command'; +import { ReplyWithTypeMapping, CommandReply, Command, CommandArguments, CommanderConfig, RedisFunctions, RedisModules, RedisScripts, RespVersions, TransformReply, TypeMapping, RedisArgument } from '../RESP/types'; +import { Tail } from '../commands/generic-transformers'; +type CommandSignature, C extends Command, M extends RedisModules, F extends RedisFunctions, S extends RedisScripts, RESP extends RespVersions, TYPE_MAPPING extends TypeMapping> = (...args: Tail>) => RedisClusterMultiCommandType<[ + ...REPLIES, + ReplyWithTypeMapping, TYPE_MAPPING> +], M, F, S, RESP, TYPE_MAPPING>; +type WithCommands, M extends RedisModules, F extends RedisFunctions, S extends RedisScripts, RESP extends RespVersions, TYPE_MAPPING extends TypeMapping> = { + [P in keyof typeof NON_STICKY_COMMANDS]: CommandSignature; +}; +type WithModules, M extends RedisModules, F extends RedisFunctions, S extends RedisScripts, RESP extends RespVersions, TYPE_MAPPING extends TypeMapping> = { + [P in keyof M]: { + [C in keyof M[P]]: CommandSignature; + }; +}; +type WithFunctions, M extends RedisModules, F extends RedisFunctions, S extends RedisScripts, RESP extends RespVersions, TYPE_MAPPING extends TypeMapping> = { + [L in keyof F]: { + [C in keyof F[L]]: CommandSignature; + }; +}; +type WithScripts, M extends RedisModules, F extends RedisFunctions, S extends RedisScripts, RESP extends RespVersions, TYPE_MAPPING extends TypeMapping> = { + [P in keyof S]: CommandSignature; +}; +export type RedisClusterMultiCommandType, M extends RedisModules, F extends RedisFunctions, S extends RedisScripts, RESP extends RespVersions, TYPE_MAPPING extends TypeMapping> = (RedisClusterMultiCommand & WithCommands & WithModules & WithFunctions & WithScripts); +export type ClusterMultiExecute = (firstKey: RedisArgument | undefined, isReadonly: boolean | undefined, commands: Array) => Promise>; +export default class RedisClusterMultiCommand { + #private; + static extend, F extends RedisFunctions = Record, S extends RedisScripts = Record, RESP extends RespVersions = 2>(config?: CommanderConfig): any; + constructor(executeMulti: ClusterMultiExecute, executePipeline: ClusterMultiExecute, routing: RedisArgument | undefined, typeMapping?: TypeMapping); + addCommand(firstKey: RedisArgument | undefined, isReadonly: boolean | undefined, args: CommandArguments, transformReply?: TransformReply): this; + exec(execAsPipeline?: boolean): Promise>; + EXEC: (execAsPipeline?: boolean) => Promise>; + execTyped(execAsPipeline?: boolean): Promise; + execAsPipeline(): Promise>; + execAsPipelineTyped(): Promise; +} +export {}; +//# sourceMappingURL=multi-command.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/cluster/multi-command.d.ts.map b/back/node_modules/@redis/client/dist/lib/cluster/multi-command.d.ts.map new file mode 100644 index 0000000..d61f1b6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/cluster/multi-command.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"multi-command.d.ts","sourceRoot":"","sources":["../../../lib/cluster/multi-command.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/cluster/multi-command.js b/back/node_modules/@redis/client/dist/lib/cluster/multi-command.js new file mode 100644 index 0000000..7f5409a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/cluster/multi-command.js @@ -0,0 +1,112 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const commands_1 = require("../commands"); +const multi_command_1 = __importDefault(require("../multi-command")); +const commander_1 = require("../commander"); +const parser_1 = require("../client/parser"); +class RedisClusterMultiCommand { + static #createCommand(command, resp) { + const transformReply = (0, commander_1.getTransformReply)(command, resp); + return function (...args) { + const parser = new parser_1.BasicCommandParser(); + command.parseCommand(parser, ...args); + const redisArgs = parser.redisArgs; + redisArgs.preserve = parser.preserve; + const firstKey = parser.firstKey; + return this.addCommand(firstKey, command.IS_READ_ONLY, redisArgs, transformReply); + }; + } + static #createModuleCommand(command, resp) { + const transformReply = (0, commander_1.getTransformReply)(command, resp); + return function (...args) { + const parser = new parser_1.BasicCommandParser(); + command.parseCommand(parser, ...args); + const redisArgs = parser.redisArgs; + redisArgs.preserve = parser.preserve; + const firstKey = parser.firstKey; + return this._self.addCommand(firstKey, command.IS_READ_ONLY, redisArgs, transformReply); + }; + } + static #createFunctionCommand(name, fn, resp) { + const prefix = (0, commander_1.functionArgumentsPrefix)(name, fn); + const transformReply = (0, commander_1.getTransformReply)(fn, resp); + return function (...args) { + const parser = new parser_1.BasicCommandParser(); + parser.push(...prefix); + fn.parseCommand(parser, ...args); + const redisArgs = parser.redisArgs; + redisArgs.preserve = parser.preserve; + const firstKey = parser.firstKey; + return this._self.addCommand(firstKey, fn.IS_READ_ONLY, redisArgs, transformReply); + }; + } + static #createScriptCommand(script, resp) { + const transformReply = (0, commander_1.getTransformReply)(script, resp); + return function (...args) { + const parser = new parser_1.BasicCommandParser(); + script.parseCommand(parser, ...args); + const scriptArgs = parser.redisArgs; + scriptArgs.preserve = parser.preserve; + const firstKey = parser.firstKey; + return this.#addScript(firstKey, script.IS_READ_ONLY, script, scriptArgs, transformReply); + }; + } + static extend(config) { + return (0, commander_1.attachConfig)({ + BaseClass: RedisClusterMultiCommand, + commands: commands_1.NON_STICKY_COMMANDS, + createCommand: RedisClusterMultiCommand.#createCommand, + createModuleCommand: RedisClusterMultiCommand.#createModuleCommand, + createFunctionCommand: RedisClusterMultiCommand.#createFunctionCommand, + createScriptCommand: RedisClusterMultiCommand.#createScriptCommand, + config + }); + } + #multi; + #executeMulti; + #executePipeline; + #firstKey; + #isReadonly = true; + constructor(executeMulti, executePipeline, routing, typeMapping) { + this.#multi = new multi_command_1.default(typeMapping); + this.#executeMulti = executeMulti; + this.#executePipeline = executePipeline; + this.#firstKey = routing; + } + #setState(firstKey, isReadonly) { + this.#firstKey ??= firstKey; + this.#isReadonly &&= isReadonly; + } + addCommand(firstKey, isReadonly, args, transformReply) { + this.#setState(firstKey, isReadonly); + this.#multi.addCommand(args, transformReply); + return this; + } + #addScript(firstKey, isReadonly, script, args, transformReply) { + this.#setState(firstKey, isReadonly); + this.#multi.addScript(script, args, transformReply); + return this; + } + async exec(execAsPipeline = false) { + if (execAsPipeline) + return this.execAsPipeline(); + return this.#multi.transformReplies(await this.#executeMulti(this.#firstKey, this.#isReadonly, this.#multi.queue)); + } + EXEC = this.exec; + execTyped(execAsPipeline = false) { + return this.exec(execAsPipeline); + } + async execAsPipeline() { + if (this.#multi.queue.length === 0) + return []; + return this.#multi.transformReplies(await this.#executePipeline(this.#firstKey, this.#isReadonly, this.#multi.queue)); + } + execAsPipelineTyped() { + return this.execAsPipeline(); + } +} +exports.default = RedisClusterMultiCommand; +//# sourceMappingURL=multi-command.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/cluster/multi-command.js.map b/back/node_modules/@redis/client/dist/lib/cluster/multi-command.js.map new file mode 100644 index 0000000..b6ae2bb --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/cluster/multi-command.js.map @@ -0,0 +1 @@ +{"version":3,"file":"multi-command.js","sourceRoot":"","sources":["../../../lib/cluster/multi-command.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commander.d.ts b/back/node_modules/@redis/client/dist/lib/commander.d.ts new file mode 100644 index 0000000..b4081ff --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commander.d.ts @@ -0,0 +1,17 @@ +/// +import { Command, CommanderConfig, RedisArgument, RedisCommands, RedisFunction, RedisFunctions, RedisModules, RedisScript, RedisScripts, RespVersions, TransformReply } from './RESP/types'; +interface AttachConfigOptions { + BaseClass: new (...args: any) => any; + commands: RedisCommands; + createCommand(command: Command, resp: RespVersions): (...args: any) => any; + createModuleCommand(command: Command, resp: RespVersions): (...args: any) => any; + createFunctionCommand(name: string, fn: RedisFunction, resp: RespVersions): (...args: any) => any; + createScriptCommand(script: RedisScript, resp: RespVersions): (...args: any) => any; + config?: CommanderConfig; +} +export declare function attachConfig({ BaseClass, commands, createCommand, createModuleCommand, createFunctionCommand, createScriptCommand, config }: AttachConfigOptions): any; +export declare function getTransformReply(command: Command, resp: RespVersions): TransformReply | undefined; +export declare function functionArgumentsPrefix(name: string, fn: RedisFunction): RedisArgument[]; +export declare function scriptArgumentsPrefix(script: RedisScript): (string | Buffer)[]; +export {}; +//# sourceMappingURL=commander.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commander.d.ts.map b/back/node_modules/@redis/client/dist/lib/commander.d.ts.map new file mode 100644 index 0000000..6f0c9e6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commander.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"commander.d.ts","sourceRoot":"","sources":["../../lib/commander.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE5L,UAAU,mBAAmB,CAC3B,CAAC,SAAS,YAAY,EACtB,CAAC,SAAS,cAAc,EACxB,CAAC,SAAS,YAAY,EACtB,IAAI,SAAS,YAAY;IAEzB,SAAS,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;IACrC,QAAQ,EAAE,aAAa,CAAC;IACxB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;IAC3E,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;IACjF,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;IAClG,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;IACpF,MAAM,CAAC,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;CACzC;AAOD,wBAAgB,YAAY,CAC1B,CAAC,SAAS,YAAY,EACtB,CAAC,SAAS,cAAc,EACxB,CAAC,SAAS,YAAY,EACtB,IAAI,SAAS,YAAY,EACzB,EACA,SAAS,EACT,QAAQ,EACR,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,MAAM,EACP,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,OA6CpC;AAaD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,GAAG,cAAc,GAAG,SAAS,CAQlG;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,aAAa,mBAWtE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,uBAWxD"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commander.js b/back/node_modules/@redis/client/dist/lib/commander.js new file mode 100644 index 0000000..d810664 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commander.js @@ -0,0 +1,91 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.scriptArgumentsPrefix = exports.functionArgumentsPrefix = exports.getTransformReply = exports.attachConfig = void 0; +/* FIXME: better error message / link */ +function throwResp3SearchModuleUnstableError() { + throw new Error('Some RESP3 results for Redis Query Engine responses may change. Refer to the readme for guidance'); +} +function attachConfig({ BaseClass, commands, createCommand, createModuleCommand, createFunctionCommand, createScriptCommand, config }) { + const RESP = config?.RESP ?? 2, Class = class extends BaseClass { + }; + for (const [name, command] of Object.entries(commands)) { + if (config?.RESP == 3 && command.unstableResp3 && !config.unstableResp3) { + Class.prototype[name] = throwResp3SearchModuleUnstableError; + } + else { + Class.prototype[name] = createCommand(command, RESP); + } + } + if (config?.modules) { + for (const [moduleName, module] of Object.entries(config.modules)) { + const fns = Object.create(null); + for (const [name, command] of Object.entries(module)) { + if (config.RESP == 3 && command.unstableResp3 && !config.unstableResp3) { + fns[name] = throwResp3SearchModuleUnstableError; + } + else { + fns[name] = createModuleCommand(command, RESP); + } + } + attachNamespace(Class.prototype, moduleName, fns); + } + } + if (config?.functions) { + for (const [library, commands] of Object.entries(config.functions)) { + const fns = Object.create(null); + for (const [name, command] of Object.entries(commands)) { + fns[name] = createFunctionCommand(name, command, RESP); + } + attachNamespace(Class.prototype, library, fns); + } + } + if (config?.scripts) { + for (const [name, script] of Object.entries(config.scripts)) { + Class.prototype[name] = createScriptCommand(script, RESP); + } + } + return Class; +} +exports.attachConfig = attachConfig; +function attachNamespace(prototype, name, fns) { + Object.defineProperty(prototype, name, { + get() { + const value = Object.create(fns); + value._self = this; + Object.defineProperty(this, name, { value }); + return value; + } + }); +} +function getTransformReply(command, resp) { + switch (typeof command.transformReply) { + case 'function': + return command.transformReply; + case 'object': + return command.transformReply[resp]; + } +} +exports.getTransformReply = getTransformReply; +function functionArgumentsPrefix(name, fn) { + const prefix = [ + fn.IS_READ_ONLY ? 'FCALL_RO' : 'FCALL', + name + ]; + if (fn.NUMBER_OF_KEYS !== undefined) { + prefix.push(fn.NUMBER_OF_KEYS.toString()); + } + return prefix; +} +exports.functionArgumentsPrefix = functionArgumentsPrefix; +function scriptArgumentsPrefix(script) { + const prefix = [ + script.IS_READ_ONLY ? 'EVALSHA_RO' : 'EVALSHA', + script.SHA1 + ]; + if (script.NUMBER_OF_KEYS !== undefined) { + prefix.push(script.NUMBER_OF_KEYS.toString()); + } + return prefix; +} +exports.scriptArgumentsPrefix = scriptArgumentsPrefix; +//# sourceMappingURL=commander.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commander.js.map b/back/node_modules/@redis/client/dist/lib/commander.js.map new file mode 100644 index 0000000..8e39d26 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commander.js.map @@ -0,0 +1 @@ +{"version":3,"file":"commander.js","sourceRoot":"","sources":["../../lib/commander.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_CAT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ACL_CAT.d.ts new file mode 100644 index 0000000..393d677 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_CAT.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Lists ACL categories or commands in a category + * @param parser - The Redis command parser + * @param categoryName - Optional category name to filter commands + */ + readonly parseCommand: (this: void, parser: CommandParser, categoryName?: RedisArgument) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=ACL_CAT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_CAT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ACL_CAT.d.ts.map new file mode 100644 index 0000000..288432b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_CAT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ACL_CAT.d.ts","sourceRoot":"","sources":["../../../lib/commands/ACL_CAT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;;IAKlF;;;;OAIG;gDACkB,aAAa,iBAAiB,aAAa;mCAMlB,WAAW,eAAe,CAAC;;AAd3E,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_CAT.js b/back/node_modules/@redis/client/dist/lib/commands/ACL_CAT.js new file mode 100644 index 0000000..8dd5ff3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_CAT.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Lists ACL categories or commands in a category + * @param parser - The Redis command parser + * @param categoryName - Optional category name to filter commands + */ + parseCommand(parser, categoryName) { + parser.push('ACL', 'CAT'); + if (categoryName) { + parser.push(categoryName); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=ACL_CAT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_CAT.js.map b/back/node_modules/@redis/client/dist/lib/commands/ACL_CAT.js.map new file mode 100644 index 0000000..d125b60 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_CAT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ACL_CAT.js","sourceRoot":"","sources":["../../../lib/commands/ACL_CAT.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,YAA4B;QAC9D,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1B,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_DELUSER.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ACL_DELUSER.d.ts new file mode 100644 index 0000000..842f250 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_DELUSER.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Deletes one or more users from the ACL + * @param parser - The Redis command parser + * @param username - Username(s) to delete + */ + readonly parseCommand: (this: void, parser: CommandParser, username: RedisVariadicArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=ACL_DELUSER.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_DELUSER.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ACL_DELUSER.d.ts.map new file mode 100644 index 0000000..22abe78 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_DELUSER.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ACL_DELUSER.d.ts","sourceRoot":"","sources":["../../../lib/commands/ACL_DELUSER.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;;IAK7D;;;;OAIG;gDACkB,aAAa,YAAY,qBAAqB;mCAIrB,WAAW;;AAZ3D,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_DELUSER.js b/back/node_modules/@redis/client/dist/lib/commands/ACL_DELUSER.js new file mode 100644 index 0000000..bea9919 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_DELUSER.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Deletes one or more users from the ACL + * @param parser - The Redis command parser + * @param username - Username(s) to delete + */ + parseCommand(parser, username) { + parser.push('ACL', 'DELUSER'); + parser.pushVariadic(username); + }, + transformReply: undefined +}; +//# sourceMappingURL=ACL_DELUSER.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_DELUSER.js.map b/back/node_modules/@redis/client/dist/lib/commands/ACL_DELUSER.js.map new file mode 100644 index 0000000..0ca6443 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_DELUSER.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ACL_DELUSER.js","sourceRoot":"","sources":["../../../lib/commands/ACL_DELUSER.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,QAA+B;QACjE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC9B,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_DRYRUN.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ACL_DRYRUN.d.ts new file mode 100644 index 0000000..d59a776 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_DRYRUN.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, SimpleStringReply, BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Simulates ACL operations without executing them + * @param parser - The Redis command parser + * @param username - Username to simulate ACL operations for + * @param command - Command arguments to simulate + */ + readonly parseCommand: (this: void, parser: CommandParser, username: RedisArgument, command: Array) => void; + readonly transformReply: () => SimpleStringReply<'OK'> | BlobStringReply; +}; +export default _default; +//# sourceMappingURL=ACL_DRYRUN.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_DRYRUN.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ACL_DRYRUN.d.ts.map new file mode 100644 index 0000000..c9dfba6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_DRYRUN.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ACL_DRYRUN.d.ts","sourceRoot":"","sources":["../../../lib/commands/ACL_DRYRUN.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;;IAKzF;;;;;OAKG;gDACkB,aAAa,YAAY,aAAa,WAAW,MAAM,aAAa,CAAC;mCAG5C,kBAAkB,IAAI,CAAC,GAAG,eAAe;;AAZzF,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_DRYRUN.js b/back/node_modules/@redis/client/dist/lib/commands/ACL_DRYRUN.js new file mode 100644 index 0000000..e2f074b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_DRYRUN.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Simulates ACL operations without executing them + * @param parser - The Redis command parser + * @param username - Username to simulate ACL operations for + * @param command - Command arguments to simulate + */ + parseCommand(parser, username, command) { + parser.push('ACL', 'DRYRUN', username, ...command); + }, + transformReply: undefined +}; +//# sourceMappingURL=ACL_DRYRUN.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_DRYRUN.js.map b/back/node_modules/@redis/client/dist/lib/commands/ACL_DRYRUN.js.map new file mode 100644 index 0000000..8acb1b8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_DRYRUN.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ACL_DRYRUN.js","sourceRoot":"","sources":["../../../lib/commands/ACL_DRYRUN.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,QAAuB,EAAE,OAA6B;QACxF,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC;IACrD,CAAC;IACD,cAAc,EAAE,SAAuE;CAC7D,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_GENPASS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ACL_GENPASS.d.ts new file mode 100644 index 0000000..ddefd3e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_GENPASS.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Generates a secure password for ACL users + * @param parser - The Redis command parser + * @param bits - Optional number of bits for password entropy + */ + readonly parseCommand: (this: void, parser: CommandParser, bits?: number) => void; + readonly transformReply: () => BlobStringReply; +}; +export default _default; +//# sourceMappingURL=ACL_GENPASS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_GENPASS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ACL_GENPASS.d.ts.map new file mode 100644 index 0000000..99fa087 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_GENPASS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ACL_GENPASS.d.ts","sourceRoot":"","sources":["../../../lib/commands/ACL_GENPASS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;;IAKvD;;;;OAIG;gDACkB,aAAa,SAAS,MAAM;mCAMH,eAAe;;AAd/D,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_GENPASS.js b/back/node_modules/@redis/client/dist/lib/commands/ACL_GENPASS.js new file mode 100644 index 0000000..504b93d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_GENPASS.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Generates a secure password for ACL users + * @param parser - The Redis command parser + * @param bits - Optional number of bits for password entropy + */ + parseCommand(parser, bits) { + parser.push('ACL', 'GENPASS'); + if (bits) { + parser.push(bits.toString()); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=ACL_GENPASS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_GENPASS.js.map b/back/node_modules/@redis/client/dist/lib/commands/ACL_GENPASS.js.map new file mode 100644 index 0000000..343532f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_GENPASS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ACL_GENPASS.js","sourceRoot":"","sources":["../../../lib/commands/ACL_GENPASS.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,IAAa;QAC/C,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC9B,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAA6C;CACnC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_GETUSER.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ACL_GETUSER.d.ts new file mode 100644 index 0000000..d4943c5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_GETUSER.d.ts @@ -0,0 +1,71 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, TuplesToMapReply, BlobStringReply, ArrayReply } from '../RESP/types'; +type AclUser = TuplesToMapReply<[ + [ + BlobStringReply<'flags'>, + ArrayReply + ], + [ + BlobStringReply<'passwords'>, + ArrayReply + ], + [ + BlobStringReply<'commands'>, + BlobStringReply + ], + /** changed to BlobStringReply in 7.0 */ + [ + BlobStringReply<'keys'>, + ArrayReply | BlobStringReply + ], + /** added in 6.2, changed to BlobStringReply in 7.0 */ + [ + BlobStringReply<'channels'>, + ArrayReply | BlobStringReply + ], + /** added in 7.0 */ + [ + BlobStringReply<'selectors'>, + ArrayReply, + BlobStringReply + ], + [ + BlobStringReply<'keys'>, + BlobStringReply + ], + [ + BlobStringReply<'channels'>, + BlobStringReply + ] + ]>> + ] +]>; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns ACL information about a specific user + * @param parser - The Redis command parser + * @param username - Username to get information for + */ + readonly parseCommand: (this: void, parser: CommandParser, username: RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: [BlobStringReply<"flags">, import("../RESP/types").RespType<42, BlobStringReply[], never, BlobStringReply[]>, BlobStringReply<"passwords">, import("../RESP/types").RespType<42, BlobStringReply[], never, BlobStringReply[]>, BlobStringReply<"commands">, BlobStringReply, BlobStringReply<"keys">, BlobStringReply | import("../RESP/types").RespType<42, BlobStringReply[], never, BlobStringReply[]>, BlobStringReply<"channels">, BlobStringReply | import("../RESP/types").RespType<42, BlobStringReply[], never, BlobStringReply[]>, BlobStringReply<"selectors">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [BlobStringReply<"commands">, BlobStringReply, BlobStringReply<"keys">, BlobStringReply, BlobStringReply<"channels">, BlobStringReply], never, [BlobStringReply<"commands">, BlobStringReply, BlobStringReply<"keys">, BlobStringReply, BlobStringReply<"channels">, BlobStringReply]>[], never, import("../RESP/types").RespType<42, [BlobStringReply<"commands">, BlobStringReply, BlobStringReply<"keys">, BlobStringReply, BlobStringReply<"channels">, BlobStringReply], never, [BlobStringReply<"commands">, BlobStringReply, BlobStringReply<"keys">, BlobStringReply, BlobStringReply<"channels">, BlobStringReply]>[]>]) => { + flags: import("../RESP/types").RespType<42, BlobStringReply[], never, BlobStringReply[]>; + passwords: import("../RESP/types").RespType<42, BlobStringReply[], never, BlobStringReply[]>; + commands: BlobStringReply; + keys: BlobStringReply | import("../RESP/types").RespType<42, BlobStringReply[], never, BlobStringReply[]>; + channels: BlobStringReply | import("../RESP/types").RespType<42, BlobStringReply[], never, BlobStringReply[]>; + selectors: { + commands: BlobStringReply; + keys: BlobStringReply; + channels: BlobStringReply; + }[]; + }; + readonly 3: () => AclUser; + }; +}; +export default _default; +//# sourceMappingURL=ACL_GETUSER.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_GETUSER.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ACL_GETUSER.d.ts.map new file mode 100644 index 0000000..cfd1aff --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_GETUSER.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ACL_GETUSER.d.ts","sourceRoot":"","sources":["../../../lib/commands/ACL_GETUSER.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,UAAU,EAAoC,MAAM,eAAe,CAAC;AAE/H,KAAK,OAAO,GAAG,gBAAgB,CAAC;IAC9B;QAAC,eAAe,CAAC,OAAO,CAAC;QAAE,UAAU,CAAC,eAAe,CAAC;KAAC;IACvD;QAAC,eAAe,CAAC,WAAW,CAAC;QAAE,UAAU,CAAC,eAAe,CAAC;KAAC;IAC3D;QAAC,eAAe,CAAC,UAAU,CAAC;QAAE,eAAe;KAAC;IAC9C,wCAAwC;IACxC;QAAC,eAAe,CAAC,MAAM,CAAC;QAAE,UAAU,CAAC,eAAe,CAAC,GAAG,eAAe;KAAC;IACxE,sDAAsD;IACtD;QAAC,eAAe,CAAC,UAAU,CAAC;QAAE,UAAU,CAAC,eAAe,CAAC,GAAG,eAAe;KAAC;IAC5E,mBAAmB;IACnB;QAAC,eAAe,CAAC,WAAW,CAAC;QAAE,UAAU,CAAC,gBAAgB,CAAC;YACzD;gBAAC,eAAe,CAAC,UAAU,CAAC;gBAAE,eAAe;aAAC;YAC9C;gBAAC,eAAe,CAAC,MAAM,CAAC;gBAAE,eAAe;aAAC;YAC1C;gBAAC,eAAe,CAAC,UAAU,CAAC;gBAAE,eAAe;aAAC;SAC/C,CAAC,CAAC;KAAC;CACL,CAAC,CAAC;;;;IAKD;;;;OAIG;gDACkB,aAAa,YAAY,aAAa;;;;;;;;;;;;;;;;;AAR7D,wBA6B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_GETUSER.js b/back/node_modules/@redis/client/dist/lib/commands/ACL_GETUSER.js new file mode 100644 index 0000000..45c2837 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_GETUSER.js @@ -0,0 +1,33 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns ACL information about a specific user + * @param parser - The Redis command parser + * @param username - Username to get information for + */ + parseCommand(parser, username) { + parser.push('ACL', 'GETUSER', username); + }, + transformReply: { + 2: (reply) => ({ + flags: reply[1], + passwords: reply[3], + commands: reply[5], + keys: reply[7], + channels: reply[9], + selectors: reply[11]?.map(selector => { + const inferred = selector; + return { + commands: inferred[1], + keys: inferred[3], + channels: inferred[5] + }; + }) + }), + 3: undefined + } +}; +//# sourceMappingURL=ACL_GETUSER.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_GETUSER.js.map b/back/node_modules/@redis/client/dist/lib/commands/ACL_GETUSER.js.map new file mode 100644 index 0000000..8bd8fdf --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_GETUSER.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ACL_GETUSER.js","sourceRoot":"","sources":["../../../lib/commands/ACL_GETUSER.ts"],"names":[],"mappings":";;AAmBA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,QAAuB;QACzD,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAAuC,EAAE,EAAE,CAAC,CAAC;YAC/C,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YACf,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YACnB,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;YAClB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACd,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;YAClB,SAAS,EAAG,KAAK,CAAC,EAAE,CAA8C,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE;gBACjF,MAAM,QAAQ,GAAG,QAAmD,CAAC;gBACrE,OAAO;oBACL,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACrB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACjB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;iBACtB,CAAC;YACJ,CAAC,CAAC;SACH,CAAC;QACF,CAAC,EAAE,SAAqC;KACzC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_LIST.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ACL_LIST.d.ts new file mode 100644 index 0000000..eedfcac --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_LIST.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { ArrayReply, BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns all configured ACL users and their permissions + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=ACL_LIST.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_LIST.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ACL_LIST.d.ts.map new file mode 100644 index 0000000..9b96fbc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_LIST.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ACL_LIST.d.ts","sourceRoot":"","sources":["../../../lib/commands/ACL_LIST.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;;IAKnE;;;OAGG;gDACkB,aAAa;mCAGY,WAAW,eAAe,CAAC;;AAV3E,wBAW6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_LIST.js b/back/node_modules/@redis/client/dist/lib/commands/ACL_LIST.js new file mode 100644 index 0000000..f23a2e9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_LIST.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns all configured ACL users and their permissions + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('ACL', 'LIST'); + }, + transformReply: undefined +}; +//# sourceMappingURL=ACL_LIST.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_LIST.js.map b/back/node_modules/@redis/client/dist/lib/commands/ACL_LIST.js.map new file mode 100644 index 0000000..cf453e4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_LIST.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ACL_LIST.js","sourceRoot":"","sources":["../../../lib/commands/ACL_LIST.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_LOAD.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ACL_LOAD.d.ts new file mode 100644 index 0000000..72250bd --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_LOAD.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Reloads ACL configuration from the ACL file + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=ACL_LOAD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_LOAD.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ACL_LOAD.d.ts.map new file mode 100644 index 0000000..e1cf423 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_LOAD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ACL_LOAD.d.ts","sourceRoot":"","sources":["../../../lib/commands/ACL_LOAD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKzD;;;OAGG;gDACkB,aAAa;mCAGY,kBAAkB,IAAI,CAAC;;AAVvE,wBAW6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_LOAD.js b/back/node_modules/@redis/client/dist/lib/commands/ACL_LOAD.js new file mode 100644 index 0000000..6acbb28 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_LOAD.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Reloads ACL configuration from the ACL file + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('ACL', 'LOAD'); + }, + transformReply: undefined +}; +//# sourceMappingURL=ACL_LOAD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_LOAD.js.map b/back/node_modules/@redis/client/dist/lib/commands/ACL_LOAD.js.map new file mode 100644 index 0000000..b360695 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_LOAD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ACL_LOAD.js","sourceRoot":"","sources":["../../../lib/commands/ACL_LOAD.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_LOG.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ACL_LOG.d.ts new file mode 100644 index 0000000..d603579 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_LOG.d.ts @@ -0,0 +1,74 @@ +import { CommandParser } from '../client/parser'; +import { ArrayReply, TuplesToMapReply, BlobStringReply, NumberReply, DoubleReply, UnwrapReply, Resp2Reply, TypeMapping } from '../RESP/types'; +export type AclLogReply = ArrayReply, + NumberReply + ], + [ + BlobStringReply<'reason'>, + BlobStringReply + ], + [ + BlobStringReply<'context'>, + BlobStringReply + ], + [ + BlobStringReply<'object'>, + BlobStringReply + ], + [ + BlobStringReply<'username'>, + BlobStringReply + ], + [ + BlobStringReply<'age-seconds'>, + DoubleReply + ], + [ + BlobStringReply<'client-info'>, + BlobStringReply + ], + /** added in 7.0 */ + [ + BlobStringReply<'entry-id'>, + NumberReply + ], + /** added in 7.0 */ + [ + BlobStringReply<'timestamp-created'>, + NumberReply + ], + /** added in 7.0 */ + [ + BlobStringReply<'timestamp-last-updated'>, + NumberReply + ] +]>>; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns ACL security events log entries + * @param parser - The Redis command parser + * @param count - Optional maximum number of entries to return + */ + readonly parseCommand: (this: void, parser: CommandParser, count?: number) => void; + readonly transformReply: { + readonly 2: (reply: UnwrapReply>, preserve?: any, typeMapping?: TypeMapping) => { + count: NumberReply; + reason: BlobStringReply; + context: BlobStringReply; + object: BlobStringReply; + username: BlobStringReply; + 'age-seconds': DoubleReply; + 'client-info': BlobStringReply; + 'entry-id': NumberReply; + 'timestamp-created': NumberReply; + 'timestamp-last-updated': NumberReply; + }[]; + readonly 3: () => AclLogReply; + }; +}; +export default _default; +//# sourceMappingURL=ACL_LOG.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_LOG.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ACL_LOG.d.ts.map new file mode 100644 index 0000000..ca0766e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_LOG.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ACL_LOG.d.ts","sourceRoot":"","sources":["../../../lib/commands/ACL_LOG.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAW,WAAW,EAAE,MAAM,eAAe,CAAC;AAGvJ,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,gBAAgB,CAAC;IACpD;QAAC,eAAe,CAAC,OAAO,CAAC;QAAE,WAAW;KAAC;IACvC;QAAC,eAAe,CAAC,QAAQ,CAAC;QAAE,eAAe;KAAC;IAC5C;QAAC,eAAe,CAAC,SAAS,CAAC;QAAE,eAAe;KAAC;IAC7C;QAAC,eAAe,CAAC,QAAQ,CAAC;QAAE,eAAe;KAAC;IAC5C;QAAC,eAAe,CAAC,UAAU,CAAC;QAAE,eAAe;KAAC;IAC9C;QAAC,eAAe,CAAC,aAAa,CAAC;QAAE,WAAW;KAAC;IAC7C;QAAC,eAAe,CAAC,aAAa,CAAC;QAAE,eAAe;KAAC;IACjD,mBAAmB;IACnB;QAAC,eAAe,CAAC,UAAU,CAAC;QAAE,WAAW;KAAC;IAC1C,mBAAmB;IACnB;QAAC,eAAe,CAAC,mBAAmB,CAAC;QAAE,WAAW;KAAC;IACnD,mBAAmB;IACnB;QAAC,eAAe,CAAC,wBAAwB,CAAC;QAAE,WAAW;KAAC;CACzD,CAAC,CAAC,CAAC;;;;IAKF;;;;OAIG;gDACkB,aAAa,UAAU,MAAM;;4BAOrC,YAAY,WAAW,WAAW,CAAC,CAAC,aAAa,GAAG,gBAAgB,WAAW;;;;;;;;;;;;;;;AAf9F,wBAkC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_LOG.js b/back/node_modules/@redis/client/dist/lib/commands/ACL_LOG.js new file mode 100644 index 0000000..6af5749 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_LOG.js @@ -0,0 +1,39 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns ACL security events log entries + * @param parser - The Redis command parser + * @param count - Optional maximum number of entries to return + */ + parseCommand(parser, count) { + parser.push('ACL', 'LOG'); + if (count != undefined) { + parser.push(count.toString()); + } + }, + transformReply: { + 2: (reply, preserve, typeMapping) => { + return reply.map(item => { + const inferred = item; + return { + count: inferred[1], + reason: inferred[3], + context: inferred[5], + object: inferred[7], + username: inferred[9], + 'age-seconds': generic_transformers_1.transformDoubleReply[2](inferred[11], preserve, typeMapping), + 'client-info': inferred[13], + 'entry-id': inferred[15], + 'timestamp-created': inferred[17], + 'timestamp-last-updated': inferred[19] + }; + }); + }, + 3: undefined + } +}; +//# sourceMappingURL=ACL_LOG.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_LOG.js.map b/back/node_modules/@redis/client/dist/lib/commands/ACL_LOG.js.map new file mode 100644 index 0000000..43fd28b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_LOG.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ACL_LOG.js","sourceRoot":"","sources":["../../../lib/commands/ACL_LOG.ts"],"names":[],"mappings":";;AAEA,iEAA8D;AAkB9D,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,KAAc;QAChD,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1B,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAA2C,EAAE,QAAc,EAAE,WAAyB,EAAE,EAAE;YAC5F,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACtB,MAAM,QAAQ,GAAG,IAA2C,CAAC;gBAC7D,OAAO;oBACL,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;oBAClB,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACnB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACpB,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACnB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACrB,aAAa,EAAE,2CAAoB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC;oBAC3E,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC;oBAC3B,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;oBACxB,mBAAmB,EAAE,QAAQ,CAAC,EAAE,CAAC;oBACjC,wBAAwB,EAAE,QAAQ,CAAC,EAAE,CAAC;iBACvC,CAAC;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,CAAC,EAAE,SAAyC;KAC7C;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_LOG_RESET.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ACL_LOG_RESET.d.ts new file mode 100644 index 0000000..f97e936 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_LOG_RESET.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Clears the ACL security events log + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=ACL_LOG_RESET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_LOG_RESET.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ACL_LOG_RESET.d.ts.map new file mode 100644 index 0000000..6fce089 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_LOG_RESET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ACL_LOG_RESET.d.ts","sourceRoot":"","sources":["../../../lib/commands/ACL_LOG_RESET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAMzD;;;OAGG;gDACkB,aAAa;mCAGY,kBAAkB,IAAI,CAAC;;AAVvE,wBAW6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_LOG_RESET.js b/back/node_modules/@redis/client/dist/lib/commands/ACL_LOG_RESET.js new file mode 100644 index 0000000..403bae8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_LOG_RESET.js @@ -0,0 +1,19 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const ACL_LOG_1 = __importDefault(require("./ACL_LOG")); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: ACL_LOG_1.default.IS_READ_ONLY, + /** + * Clears the ACL security events log + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('ACL', 'LOG', 'RESET'); + }, + transformReply: undefined +}; +//# sourceMappingURL=ACL_LOG_RESET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_LOG_RESET.js.map b/back/node_modules/@redis/client/dist/lib/commands/ACL_LOG_RESET.js.map new file mode 100644 index 0000000..25faac0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_LOG_RESET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ACL_LOG_RESET.js","sourceRoot":"","sources":["../../../lib/commands/ACL_LOG_RESET.ts"],"names":[],"mappings":";;;;;AAEA,wDAAgC;AAEhC,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,iBAAO,CAAC,YAAY;IAClC;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_SAVE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ACL_SAVE.d.ts new file mode 100644 index 0000000..cf939b3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_SAVE.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Saves the current ACL configuration to the ACL file + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=ACL_SAVE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_SAVE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ACL_SAVE.d.ts.map new file mode 100644 index 0000000..d7f93de --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_SAVE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ACL_SAVE.d.ts","sourceRoot":"","sources":["../../../lib/commands/ACL_SAVE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKzD;;;OAGG;gDACkB,aAAa;mCAGY,kBAAkB,IAAI,CAAC;;AAVvE,wBAW6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_SAVE.js b/back/node_modules/@redis/client/dist/lib/commands/ACL_SAVE.js new file mode 100644 index 0000000..2bbe030 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_SAVE.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Saves the current ACL configuration to the ACL file + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('ACL', 'SAVE'); + }, + transformReply: undefined +}; +//# sourceMappingURL=ACL_SAVE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_SAVE.js.map b/back/node_modules/@redis/client/dist/lib/commands/ACL_SAVE.js.map new file mode 100644 index 0000000..6d56329 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_SAVE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ACL_SAVE.js","sourceRoot":"","sources":["../../../lib/commands/ACL_SAVE.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_SETUSER.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ACL_SETUSER.d.ts new file mode 100644 index 0000000..7391d3e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_SETUSER.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, SimpleStringReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Creates or modifies ACL user with specified rules + * @param parser - The Redis command parser + * @param username - Username to create or modify + * @param rule - ACL rule(s) to apply to the user + */ + readonly parseCommand: (this: void, parser: CommandParser, username: RedisArgument, rule: RedisVariadicArgument) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=ACL_SETUSER.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_SETUSER.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ACL_SETUSER.d.ts.map new file mode 100644 index 0000000..0786b83 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_SETUSER.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ACL_SETUSER.d.ts","sourceRoot":"","sources":["../../../lib/commands/ACL_SETUSER.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;;IAK7D;;;;;OAKG;gDACkB,aAAa,YAAY,aAAa,QAAQ,qBAAqB;mCAI1C,kBAAkB,IAAI,CAAC;;AAbvE,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_SETUSER.js b/back/node_modules/@redis/client/dist/lib/commands/ACL_SETUSER.js new file mode 100644 index 0000000..4bad3ee --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_SETUSER.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Creates or modifies ACL user with specified rules + * @param parser - The Redis command parser + * @param username - Username to create or modify + * @param rule - ACL rule(s) to apply to the user + */ + parseCommand(parser, username, rule) { + parser.push('ACL', 'SETUSER', username); + parser.pushVariadic(rule); + }, + transformReply: undefined +}; +//# sourceMappingURL=ACL_SETUSER.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_SETUSER.js.map b/back/node_modules/@redis/client/dist/lib/commands/ACL_SETUSER.js.map new file mode 100644 index 0000000..95e850d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_SETUSER.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ACL_SETUSER.js","sourceRoot":"","sources":["../../../lib/commands/ACL_SETUSER.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,QAAuB,EAAE,IAA2B;QACtF,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACxC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_USERS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ACL_USERS.d.ts new file mode 100644 index 0000000..ccf36cf --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_USERS.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { ArrayReply, BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns a list of all configured ACL usernames + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=ACL_USERS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_USERS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ACL_USERS.d.ts.map new file mode 100644 index 0000000..725af1a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_USERS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ACL_USERS.d.ts","sourceRoot":"","sources":["../../../lib/commands/ACL_USERS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;;IAKnE;;;OAGG;gDACkB,aAAa;mCAGY,WAAW,eAAe,CAAC;;AAV3E,wBAW6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_USERS.js b/back/node_modules/@redis/client/dist/lib/commands/ACL_USERS.js new file mode 100644 index 0000000..7ec3f5e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_USERS.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns a list of all configured ACL usernames + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('ACL', 'USERS'); + }, + transformReply: undefined +}; +//# sourceMappingURL=ACL_USERS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_USERS.js.map b/back/node_modules/@redis/client/dist/lib/commands/ACL_USERS.js.map new file mode 100644 index 0000000..c425d45 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_USERS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ACL_USERS.js","sourceRoot":"","sources":["../../../lib/commands/ACL_USERS.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9B,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_WHOAMI.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ACL_WHOAMI.d.ts new file mode 100644 index 0000000..d70d83f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_WHOAMI.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns the username of the current connection + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => BlobStringReply; +}; +export default _default; +//# sourceMappingURL=ACL_WHOAMI.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_WHOAMI.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ACL_WHOAMI.d.ts.map new file mode 100644 index 0000000..635b7ea --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_WHOAMI.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ACL_WHOAMI.d.ts","sourceRoot":"","sources":["../../../lib/commands/ACL_WHOAMI.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;;IAKvD;;;OAGG;gDACkB,aAAa;mCAGY,eAAe;;AAV/D,wBAW6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_WHOAMI.js b/back/node_modules/@redis/client/dist/lib/commands/ACL_WHOAMI.js new file mode 100644 index 0000000..79db2c4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_WHOAMI.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns the username of the current connection + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('ACL', 'WHOAMI'); + }, + transformReply: undefined +}; +//# sourceMappingURL=ACL_WHOAMI.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ACL_WHOAMI.js.map b/back/node_modules/@redis/client/dist/lib/commands/ACL_WHOAMI.js.map new file mode 100644 index 0000000..05ae8aa --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ACL_WHOAMI.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ACL_WHOAMI.js","sourceRoot":"","sources":["../../../lib/commands/ACL_WHOAMI.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC/B,CAAC;IACD,cAAc,EAAE,SAA6C;CACnC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/APPEND.d.ts b/back/node_modules/@redis/client/dist/lib/commands/APPEND.d.ts new file mode 100644 index 0000000..91200ad --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/APPEND.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Appends a value to a string key + * @param parser - The Redis command parser + * @param key - The key to append to + * @param value - The value to append + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, value: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=APPEND.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/APPEND.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/APPEND.d.ts.map new file mode 100644 index 0000000..e2df637 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/APPEND.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"APPEND.d.ts","sourceRoot":"","sources":["../../../lib/commands/APPEND.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;IAIlE;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,SAAS,aAAa;mCAI9B,WAAW;;AAZ3D,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/APPEND.js b/back/node_modules/@redis/client/dist/lib/commands/APPEND.js new file mode 100644 index 0000000..44022c5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/APPEND.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Appends a value to a string key + * @param parser - The Redis command parser + * @param key - The key to append to + * @param value - The value to append + */ + parseCommand(parser, key, value) { + parser.push('APPEND', key, value); + }, + transformReply: undefined +}; +//# sourceMappingURL=APPEND.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/APPEND.js.map b/back/node_modules/@redis/client/dist/lib/commands/APPEND.js.map new file mode 100644 index 0000000..e107615 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/APPEND.js.map @@ -0,0 +1 @@ +{"version":3,"file":"APPEND.js","sourceRoot":"","sources":["../../../lib/commands/APPEND.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAoB;QAC1E,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ASKING.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ASKING.d.ts new file mode 100644 index 0000000..5b8a268 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ASKING.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +export declare const ASKING_CMD = "ASKING"; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Tells a Redis cluster node that the client is ok receiving such redirects + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=ASKING.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ASKING.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ASKING.d.ts.map new file mode 100644 index 0000000..511b9e4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ASKING.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ASKING.d.ts","sourceRoot":"","sources":["../../../lib/commands/ASKING.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;AAE3D,eAAO,MAAM,UAAU,WAAW,CAAC;;;;IAKjC;;;OAGG;gDACkB,aAAa;mCAGY,kBAAkB,IAAI,CAAC;;AAVvE,wBAW6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ASKING.js b/back/node_modules/@redis/client/dist/lib/commands/ASKING.js new file mode 100644 index 0000000..f92be13 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ASKING.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ASKING_CMD = void 0; +exports.ASKING_CMD = 'ASKING'; +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Tells a Redis cluster node that the client is ok receiving such redirects + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push(exports.ASKING_CMD); + }, + transformReply: undefined +}; +//# sourceMappingURL=ASKING.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ASKING.js.map b/back/node_modules/@redis/client/dist/lib/commands/ASKING.js.map new file mode 100644 index 0000000..4849072 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ASKING.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ASKING.js","sourceRoot":"","sources":["../../../lib/commands/ASKING.ts"],"names":[],"mappings":";;;AAGa,QAAA,UAAU,GAAG,QAAQ,CAAC;AAEnC,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,kBAAU,CAAC,CAAC;IAC1B,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/AUTH.d.ts b/back/node_modules/@redis/client/dist/lib/commands/AUTH.d.ts new file mode 100644 index 0000000..98d7a37 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/AUTH.d.ts @@ -0,0 +1,21 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, SimpleStringReply } from '../RESP/types'; +export interface AuthOptions { + username?: RedisArgument; + password: RedisArgument; +} +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Authenticates the connection using a password or username and password + * @param parser - The Redis command parser + * @param options - Authentication options containing username and/or password + * @param options.username - Optional username for authentication + * @param options.password - Password for authentication + */ + readonly parseCommand: (this: void, parser: CommandParser, { username, password }: AuthOptions) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=AUTH.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/AUTH.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/AUTH.d.ts.map new file mode 100644 index 0000000..dced0be --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/AUTH.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AUTH.d.ts","sourceRoot":"","sources":["../../../lib/commands/AUTH.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;AAE1E,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,QAAQ,EAAE,aAAa,CAAC;CACzB;;;;IAKC;;;;;;OAMG;gDACkB,aAAa,0BAA0B,WAAW;mCAOzB,kBAAkB,IAAI,CAAC;;AAjBvE,wBAkB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/AUTH.js b/back/node_modules/@redis/client/dist/lib/commands/AUTH.js new file mode 100644 index 0000000..a2e18e0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/AUTH.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Authenticates the connection using a password or username and password + * @param parser - The Redis command parser + * @param options - Authentication options containing username and/or password + * @param options.username - Optional username for authentication + * @param options.password - Password for authentication + */ + parseCommand(parser, { username, password }) { + parser.push('AUTH'); + if (username !== undefined) { + parser.push(username); + } + parser.push(password); + }, + transformReply: undefined +}; +//# sourceMappingURL=AUTH.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/AUTH.js.map b/back/node_modules/@redis/client/dist/lib/commands/AUTH.js.map new file mode 100644 index 0000000..f498ef1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/AUTH.js.map @@ -0,0 +1 @@ +{"version":3,"file":"AUTH.js","sourceRoot":"","sources":["../../../lib/commands/AUTH.ts"],"names":[],"mappings":";;AAQA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAe;QACrE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BGREWRITEAOF.d.ts b/back/node_modules/@redis/client/dist/lib/commands/BGREWRITEAOF.d.ts new file mode 100644 index 0000000..0c38dc3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BGREWRITEAOF.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Asynchronously rewrites the append-only file + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => SimpleStringReply; +}; +export default _default; +//# sourceMappingURL=BGREWRITEAOF.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BGREWRITEAOF.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/BGREWRITEAOF.d.ts.map new file mode 100644 index 0000000..9b90bff --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BGREWRITEAOF.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BGREWRITEAOF.d.ts","sourceRoot":"","sources":["../../../lib/commands/BGREWRITEAOF.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKzD;;;OAGG;gDACkB,aAAa;mCAGY,iBAAiB;;AAVjE,wBAW6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BGREWRITEAOF.js b/back/node_modules/@redis/client/dist/lib/commands/BGREWRITEAOF.js new file mode 100644 index 0000000..f8c692a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BGREWRITEAOF.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Asynchronously rewrites the append-only file + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('BGREWRITEAOF'); + }, + transformReply: undefined +}; +//# sourceMappingURL=BGREWRITEAOF.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BGREWRITEAOF.js.map b/back/node_modules/@redis/client/dist/lib/commands/BGREWRITEAOF.js.map new file mode 100644 index 0000000..dd9a1a3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BGREWRITEAOF.js.map @@ -0,0 +1 @@ +{"version":3,"file":"BGREWRITEAOF.js","sourceRoot":"","sources":["../../../lib/commands/BGREWRITEAOF.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9B,CAAC;IACD,cAAc,EAAE,SAA+C;CACrC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BGSAVE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/BGSAVE.d.ts new file mode 100644 index 0000000..0fd0599 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BGSAVE.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +export interface BgSaveOptions { + SCHEDULE?: boolean; +} +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Asynchronously saves the dataset to disk + * @param parser - The Redis command parser + * @param options - Optional configuration + * @param options.SCHEDULE - Schedule a BGSAVE operation when no BGSAVE is already in progress + */ + readonly parseCommand: (this: void, parser: CommandParser, options?: BgSaveOptions) => void; + readonly transformReply: () => SimpleStringReply; +}; +export default _default; +//# sourceMappingURL=BGSAVE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BGSAVE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/BGSAVE.d.ts.map new file mode 100644 index 0000000..d3061cf --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BGSAVE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BGSAVE.d.ts","sourceRoot":"","sources":["../../../lib/commands/BGSAVE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;;;;IAKC;;;;;OAKG;gDACkB,aAAa,YAAY,aAAa;mCAMb,iBAAiB;;AAfjE,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BGSAVE.js b/back/node_modules/@redis/client/dist/lib/commands/BGSAVE.js new file mode 100644 index 0000000..e3a06a5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BGSAVE.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Asynchronously saves the dataset to disk + * @param parser - The Redis command parser + * @param options - Optional configuration + * @param options.SCHEDULE - Schedule a BGSAVE operation when no BGSAVE is already in progress + */ + parseCommand(parser, options) { + parser.push('BGSAVE'); + if (options?.SCHEDULE) { + parser.push('SCHEDULE'); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=BGSAVE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BGSAVE.js.map b/back/node_modules/@redis/client/dist/lib/commands/BGSAVE.js.map new file mode 100644 index 0000000..81d1491 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BGSAVE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"BGSAVE.js","sourceRoot":"","sources":["../../../lib/commands/BGSAVE.ts"],"names":[],"mappings":";;AAOA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,OAAuB;QACzD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAA+C;CACrC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BITCOUNT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/BITCOUNT.d.ts new file mode 100644 index 0000000..6b3bc96 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BITCOUNT.d.ts @@ -0,0 +1,24 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +export interface BitCountRange { + start: number; + end: number; + mode?: 'BYTE' | 'BIT'; +} +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Returns the count of set bits in a string key + * @param parser - The Redis command parser + * @param key - The key to count bits in + * @param range - Optional range specification + * @param range.start - Start offset in bytes/bits + * @param range.end - End offset in bytes/bits + * @param range.mode - Optional counting mode: BYTE or BIT + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, range?: BitCountRange) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=BITCOUNT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BITCOUNT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/BITCOUNT.d.ts.map new file mode 100644 index 0000000..391faaf --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BITCOUNT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BITCOUNT.d.ts","sourceRoot":"","sources":["../../../lib/commands/BITCOUNT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AAEpE,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACvB;;;;IAKC;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa,UAAU,aAAa;mCAY/B,WAAW;;AAxB3D,wBAyB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BITCOUNT.js b/back/node_modules/@redis/client/dist/lib/commands/BITCOUNT.js new file mode 100644 index 0000000..c6934fb --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BITCOUNT.js @@ -0,0 +1,28 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Returns the count of set bits in a string key + * @param parser - The Redis command parser + * @param key - The key to count bits in + * @param range - Optional range specification + * @param range.start - Start offset in bytes/bits + * @param range.end - End offset in bytes/bits + * @param range.mode - Optional counting mode: BYTE or BIT + */ + parseCommand(parser, key, range) { + parser.push('BITCOUNT'); + parser.pushKey(key); + if (range) { + parser.push(range.start.toString()); + parser.push(range.end.toString()); + if (range.mode) { + parser.push(range.mode); + } + } + }, + transformReply: undefined +}; +//# sourceMappingURL=BITCOUNT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BITCOUNT.js.map b/back/node_modules/@redis/client/dist/lib/commands/BITCOUNT.js.map new file mode 100644 index 0000000..f64c650 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BITCOUNT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"BITCOUNT.js","sourceRoot":"","sources":["../../../lib/commands/BITCOUNT.ts"],"names":[],"mappings":";;AASA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAqB;QAC3E,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YAElC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BITFIELD.d.ts b/back/node_modules/@redis/client/dist/lib/commands/BITFIELD.d.ts new file mode 100644 index 0000000..9f6268d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BITFIELD.d.ts @@ -0,0 +1,38 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, NumberReply, NullReply } from '../RESP/types'; +export type BitFieldEncoding = `${'i' | 'u'}${number}`; +export interface BitFieldOperation { + operation: S; +} +export interface BitFieldGetOperation extends BitFieldOperation<'GET'> { + encoding: BitFieldEncoding; + offset: number | string; +} +export interface BitFieldSetOperation extends BitFieldOperation<'SET'> { + encoding: BitFieldEncoding; + offset: number | string; + value: number; +} +export interface BitFieldIncrByOperation extends BitFieldOperation<'INCRBY'> { + encoding: BitFieldEncoding; + offset: number | string; + increment: number; +} +export interface BitFieldOverflowOperation extends BitFieldOperation<'OVERFLOW'> { + behavior: string; +} +export type BitFieldOperations = Array; +export type BitFieldRoOperations = Array>; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Performs arbitrary bitfield integer operations on strings + * @param parser - The Redis command parser + * @param key - The key holding the string + * @param operations - Array of bitfield operations to perform: GET, SET, INCRBY or OVERFLOW + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, operations: BitFieldOperations) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=BITFIELD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BITFIELD.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/BITFIELD.d.ts.map new file mode 100644 index 0000000..c6ee3bf --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BITFIELD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BITFIELD.d.ts","sourceRoot":"","sources":["../../../lib/commands/BITFIELD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;AAE3F,MAAM,MAAM,gBAAgB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,EAAE,CAAC;AAEvD,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,MAAM;IACjD,SAAS,EAAE,CAAC,CAAC;CACd;AAED,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB,CAAC,KAAK,CAAC;IACpE,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB,CAAC,KAAK,CAAC;IACpE,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB,CAAC,QAAQ,CAAC;IAC1E,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB,CAAC,UAAU,CAAC;IAC9E,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,kBAAkB,GAAG,KAAK,CACpC,oBAAoB,GACpB,oBAAoB,GACpB,uBAAuB,GACvB,yBAAyB,CAC1B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,KAAK,CACtC,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC,CACxC,CAAC;;;IAIA;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa;mCAyCR,WAAW,WAAW,GAAG,SAAS,CAAC;;AAjDnF,wBAkD6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BITFIELD.js b/back/node_modules/@redis/client/dist/lib/commands/BITFIELD.js new file mode 100644 index 0000000..0c4884c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BITFIELD.js @@ -0,0 +1,33 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Performs arbitrary bitfield integer operations on strings + * @param parser - The Redis command parser + * @param key - The key holding the string + * @param operations - Array of bitfield operations to perform: GET, SET, INCRBY or OVERFLOW + */ + parseCommand(parser, key, operations) { + parser.push('BITFIELD'); + parser.pushKey(key); + for (const options of operations) { + switch (options.operation) { + case 'GET': + parser.push('GET', options.encoding, options.offset.toString()); + break; + case 'SET': + parser.push('SET', options.encoding, options.offset.toString(), options.value.toString()); + break; + case 'INCRBY': + parser.push('INCRBY', options.encoding, options.offset.toString(), options.increment.toString()); + break; + case 'OVERFLOW': + parser.push('OVERFLOW', options.behavior); + break; + } + } + }, + transformReply: undefined +}; +//# sourceMappingURL=BITFIELD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BITFIELD.js.map b/back/node_modules/@redis/client/dist/lib/commands/BITFIELD.js.map new file mode 100644 index 0000000..aa502f8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BITFIELD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"BITFIELD.js","sourceRoot":"","sources":["../../../lib/commands/BITFIELD.ts"],"names":[],"mappings":";;AAyCA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,UAA8B;QACpF,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;YACjC,QAAQ,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC1B,KAAK,KAAK;oBACR,MAAM,CAAC,IAAI,CACT,KAAK,EACL,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAC1B,CAAC;oBACF,MAAM;gBAER,KAAK,KAAK;oBACR,MAAM,CAAC,IAAI,CACT,KAAK,EACL,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EACzB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CACzB,CAAC;oBACF,MAAM;gBAER,KAAK,QAAQ;oBACX,MAAM,CAAC,IAAI,CACT,QAAQ,EACR,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EACzB,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAC7B,CAAC;oBACF,MAAM;gBAER,KAAK,UAAU;oBACb,MAAM,CAAC,IAAI,CACT,UAAU,EACV,OAAO,CAAC,QAAQ,CACjB,CAAC;oBACF,MAAM;YACV,CAAC;QACH,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAiE;CACvD,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BITFIELD_RO.d.ts b/back/node_modules/@redis/client/dist/lib/commands/BITFIELD_RO.d.ts new file mode 100644 index 0000000..ca85393 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BITFIELD_RO.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, NumberReply } from '../RESP/types'; +import { BitFieldGetOperation } from './BITFIELD'; +export type BitFieldRoOperations = Array>; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Performs read-only bitfield integer operations on strings + * @param parser - The Redis command parser + * @param key - The key holding the string + * @param operations - Array of GET operations to perform on the bitfield + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, operations: BitFieldRoOperations) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=BITFIELD_RO.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BITFIELD_RO.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/BITFIELD_RO.d.ts.map new file mode 100644 index 0000000..9351128 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BITFIELD_RO.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BITFIELD_RO.d.ts","sourceRoot":"","sources":["../../../lib/commands/BITFIELD_RO.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,oBAAoB,GAAG,KAAK,CACtC,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC,CACxC,CAAC;;;;IAKA;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa;mCAUR,WAAW,WAAW,CAAC;;AAnBvE,wBAoB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BITFIELD_RO.js b/back/node_modules/@redis/client/dist/lib/commands/BITFIELD_RO.js new file mode 100644 index 0000000..2c0fefe --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BITFIELD_RO.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Performs read-only bitfield integer operations on strings + * @param parser - The Redis command parser + * @param key - The key holding the string + * @param operations - Array of GET operations to perform on the bitfield + */ + parseCommand(parser, key, operations) { + parser.push('BITFIELD_RO'); + parser.pushKey(key); + for (const operation of operations) { + parser.push('GET'); + parser.push(operation.encoding); + parser.push(operation.offset.toString()); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=BITFIELD_RO.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BITFIELD_RO.js.map b/back/node_modules/@redis/client/dist/lib/commands/BITFIELD_RO.js.map new file mode 100644 index 0000000..efd365f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BITFIELD_RO.js.map @@ -0,0 +1 @@ +{"version":3,"file":"BITFIELD_RO.js","sourceRoot":"","sources":["../../../lib/commands/BITFIELD_RO.ts"],"names":[],"mappings":";;AAQA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,UAAgC;QACtF,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BITOP.d.ts b/back/node_modules/@redis/client/dist/lib/commands/BITOP.d.ts new file mode 100644 index 0000000..d3c021f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BITOP.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply, RedisArgument } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +export type BitOperations = 'AND' | 'OR' | 'XOR' | 'NOT' | 'DIFF' | 'DIFF1' | 'ANDOR' | 'ONE'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Performs bitwise operations between strings + * @param parser - The Redis command parser + * @param operation - Bitwise operation to perform: AND, OR, XOR, NOT, DIFF, DIFF1, ANDOR, ONE + * @param destKey - Destination key to store the result + * @param key - Source key(s) to perform operation on + */ + readonly parseCommand: (this: void, parser: CommandParser, operation: BitOperations, destKey: RedisArgument, key: RedisVariadicArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=BITOP.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BITOP.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/BITOP.d.ts.map new file mode 100644 index 0000000..045a58a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BITOP.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BITOP.d.ts","sourceRoot":"","sources":["../../../lib/commands/BITOP.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAW,aAAa,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;;;IAI5F;;;;;;OAMG;gDAEO,aAAa,aACV,aAAa,WACf,aAAa,OACjB,qBAAqB;mCAMkB,WAAW;;AAnB3D,wBAoB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BITOP.js b/back/node_modules/@redis/client/dist/lib/commands/BITOP.js new file mode 100644 index 0000000..f84aa0f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BITOP.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Performs bitwise operations between strings + * @param parser - The Redis command parser + * @param operation - Bitwise operation to perform: AND, OR, XOR, NOT, DIFF, DIFF1, ANDOR, ONE + * @param destKey - Destination key to store the result + * @param key - Source key(s) to perform operation on + */ + parseCommand(parser, operation, destKey, key) { + parser.push('BITOP', operation); + parser.pushKey(destKey); + parser.pushKeys(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=BITOP.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BITOP.js.map b/back/node_modules/@redis/client/dist/lib/commands/BITOP.js.map new file mode 100644 index 0000000..1a89c9e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BITOP.js.map @@ -0,0 +1 @@ +{"version":3,"file":"BITOP.js","sourceRoot":"","sources":["../../../lib/commands/BITOP.ts"],"names":[],"mappings":";;AAMA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;OAMG;IACH,YAAY,CACV,MAAqB,EACrB,SAAwB,EACxB,OAAsB,EACtB,GAA0B;QAExB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BITPOS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/BITPOS.d.ts new file mode 100644 index 0000000..860e791 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BITPOS.d.ts @@ -0,0 +1,20 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +import { BitValue } from './generic-transformers'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Returns the position of first bit set to 0 or 1 in a string + * @param parser - The Redis command parser + * @param key - The key holding the string + * @param bit - The bit value to look for (0 or 1) + * @param start - Optional starting position in bytes/bits + * @param end - Optional ending position in bytes/bits + * @param mode - Optional counting mode: BYTE or BIT + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, bit: BitValue, start?: number, end?: number, mode?: 'BYTE' | 'BIT') => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=BITPOS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BITPOS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/BITPOS.d.ts.map new file mode 100644 index 0000000..5891cdf --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BITPOS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BITPOS.d.ts","sourceRoot":"","sources":["../../../lib/commands/BITPOS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;;;;IAKhD;;;;;;;;OAQG;gDACkB,aAAa,OAC3B,aAAa,OACb,QAAQ,UACL,MAAM,QACR,MAAM,SACL,MAAM,GAAG,KAAK;mCAkBuB,WAAW;;AAnC3D,wBAoC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BITPOS.js b/back/node_modules/@redis/client/dist/lib/commands/BITPOS.js new file mode 100644 index 0000000..a978cb2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BITPOS.js @@ -0,0 +1,31 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Returns the position of first bit set to 0 or 1 in a string + * @param parser - The Redis command parser + * @param key - The key holding the string + * @param bit - The bit value to look for (0 or 1) + * @param start - Optional starting position in bytes/bits + * @param end - Optional ending position in bytes/bits + * @param mode - Optional counting mode: BYTE or BIT + */ + parseCommand(parser, key, bit, start, end, mode) { + parser.push('BITPOS'); + parser.pushKey(key); + parser.push(bit.toString()); + if (start !== undefined) { + parser.push(start.toString()); + } + if (end !== undefined) { + parser.push(end.toString()); + } + if (mode) { + parser.push(mode); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=BITPOS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BITPOS.js.map b/back/node_modules/@redis/client/dist/lib/commands/BITPOS.js.map new file mode 100644 index 0000000..755e9b5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BITPOS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"BITPOS.js","sourceRoot":"","sources":["../../../lib/commands/BITPOS.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAChC,GAAkB,EAClB,GAAa,EACb,KAAc,EACd,GAAY,EACZ,IAAqB;QAErB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE5B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BLMOVE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/BLMOVE.d.ts new file mode 100644 index 0000000..4d44a6e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BLMOVE.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply, NullReply } from '../RESP/types'; +import { ListSide } from './generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Pop an element from a list, push it to another list and return it; or block until one is available + * @param parser - The Redis command parser + * @param source - Key of the source list + * @param destination - Key of the destination list + * @param sourceSide - Side of source list to pop from (LEFT or RIGHT) + * @param destinationSide - Side of destination list to push to (LEFT or RIGHT) + * @param timeout - Timeout in seconds, 0 to block indefinitely + */ + readonly parseCommand: (this: void, parser: CommandParser, source: RedisArgument, destination: RedisArgument, sourceSide: ListSide, destinationSide: ListSide, timeout: number) => void; + readonly transformReply: () => BlobStringReply | NullReply; +}; +export default _default; +//# sourceMappingURL=BLMOVE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BLMOVE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/BLMOVE.d.ts.map new file mode 100644 index 0000000..78f82e0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BLMOVE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BLMOVE.d.ts","sourceRoot":"","sources":["../../../lib/commands/BLMOVE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;;;IAIhD;;;;;;;;OAQG;gDAEO,aAAa,UACb,aAAa,eACR,aAAa,cACd,QAAQ,mBACH,QAAQ,WAChB,MAAM;mCAM6B,eAAe,GAAG,SAAS;;AAvB3E,wBAwB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BLMOVE.js b/back/node_modules/@redis/client/dist/lib/commands/BLMOVE.js new file mode 100644 index 0000000..a6229b1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BLMOVE.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Pop an element from a list, push it to another list and return it; or block until one is available + * @param parser - The Redis command parser + * @param source - Key of the source list + * @param destination - Key of the destination list + * @param sourceSide - Side of source list to pop from (LEFT or RIGHT) + * @param destinationSide - Side of destination list to push to (LEFT or RIGHT) + * @param timeout - Timeout in seconds, 0 to block indefinitely + */ + parseCommand(parser, source, destination, sourceSide, destinationSide, timeout) { + parser.push('BLMOVE'); + parser.pushKeys([source, destination]); + parser.push(sourceSide, destinationSide, timeout.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=BLMOVE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BLMOVE.js.map b/back/node_modules/@redis/client/dist/lib/commands/BLMOVE.js.map new file mode 100644 index 0000000..d41770d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BLMOVE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"BLMOVE.js","sourceRoot":"","sources":["../../../lib/commands/BLMOVE.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;OAQG;IACH,YAAY,CACV,MAAqB,EACrB,MAAqB,EACrB,WAA0B,EAC1B,UAAoB,EACpB,eAAyB,EACzB,OAAe;QAEf,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC9D,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BLMPOP.d.ts b/back/node_modules/@redis/client/dist/lib/commands/BLMPOP.d.ts new file mode 100644 index 0000000..b0c8c8d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BLMPOP.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Pops elements from multiple lists; blocks until elements are available + * @param parser - The Redis command parser + * @param timeout - Timeout in seconds, 0 to block indefinitely + * @param args - Additional arguments for LMPOP command + */ + readonly parseCommand: (this: void, parser: CommandParser, timeout: number, keys: import("./generic-transformers").RedisVariadicArgument, side: import("./generic-transformers").ListSide, options?: import("./LMPOP").LMPopOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").TuplesReply<[key: import("../RESP/types").BlobStringReply, elements: import("../RESP/types").BlobStringReply[]]>; +}; +export default _default; +//# sourceMappingURL=BLMPOP.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BLMPOP.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/BLMPOP.d.ts.map new file mode 100644 index 0000000..89e90bb --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BLMPOP.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BLMPOP.d.ts","sourceRoot":"","sources":["../../../lib/commands/BLMPOP.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;;;IAM/C;;;;;OAKG;gDACkB,aAAa,WAAW,MAAM;;;AARrD,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BLMPOP.js b/back/node_modules/@redis/client/dist/lib/commands/BLMPOP.js new file mode 100644 index 0000000..d4235ee --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BLMPOP.js @@ -0,0 +1,41 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const LMPOP_1 = __importStar(require("./LMPOP")); +exports.default = { + IS_READ_ONLY: false, + /** + * Pops elements from multiple lists; blocks until elements are available + * @param parser - The Redis command parser + * @param timeout - Timeout in seconds, 0 to block indefinitely + * @param args - Additional arguments for LMPOP command + */ + parseCommand(parser, timeout, ...args) { + parser.push('BLMPOP', timeout.toString()); + (0, LMPOP_1.parseLMPopArguments)(parser, ...args); + }, + transformReply: LMPOP_1.default.transformReply +}; +//# sourceMappingURL=BLMPOP.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BLMPOP.js.map b/back/node_modules/@redis/client/dist/lib/commands/BLMPOP.js.map new file mode 100644 index 0000000..1ddb0a1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BLMPOP.js.map @@ -0,0 +1 @@ +{"version":3,"file":"BLMPOP.js","sourceRoot":"","sources":["../../../lib/commands/BLMPOP.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA,iDAAqE;AAErE,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,OAAe,EAAE,GAAG,IAAoB;QAC1E,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1C,IAAA,2BAAmB,EAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,cAAc,EAAE,eAAK,CAAC,cAAc;CACV,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BLPOP.d.ts b/back/node_modules/@redis/client/dist/lib/commands/BLPOP.d.ts new file mode 100644 index 0000000..8b5c08e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BLPOP.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '../client/parser'; +import { UnwrapReply, NullReply, TuplesReply, BlobStringReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Removes and returns the first element in a list, or blocks until one is available + * @param parser - The Redis command parser + * @param key - Key of the list to pop from, or array of keys to try sequentially + * @param timeout - Maximum seconds to block, 0 to block indefinitely + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisVariadicArgument, timeout: number) => void; + readonly transformReply: (this: void, reply: UnwrapReply>) => { + key: BlobStringReply; + element: BlobStringReply; + } | null; +}; +export default _default; +//# sourceMappingURL=BLPOP.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BLPOP.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/BLPOP.d.ts.map new file mode 100644 index 0000000..f164ad1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BLPOP.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BLPOP.d.ts","sourceRoot":"","sources":["../../../lib/commands/BLPOP.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;IAI7D;;;;;OAKG;gDACkB,aAAa,OAAO,qBAAqB,WAAW,MAAM;iDAKzD,YAAY,SAAS,GAAG,YAAY,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC;;;;;AAbhG,wBAqB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BLPOP.js b/back/node_modules/@redis/client/dist/lib/commands/BLPOP.js new file mode 100644 index 0000000..23612bc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BLPOP.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Removes and returns the first element in a list, or blocks until one is available + * @param parser - The Redis command parser + * @param key - Key of the list to pop from, or array of keys to try sequentially + * @param timeout - Maximum seconds to block, 0 to block indefinitely + */ + parseCommand(parser, key, timeout) { + parser.push('BLPOP'); + parser.pushKeys(key); + parser.push(timeout.toString()); + }, + transformReply(reply) { + if (reply === null) + return null; + return { + key: reply[0], + element: reply[1] + }; + } +}; +//# sourceMappingURL=BLPOP.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BLPOP.js.map b/back/node_modules/@redis/client/dist/lib/commands/BLPOP.js.map new file mode 100644 index 0000000..008a904 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BLPOP.js.map @@ -0,0 +1 @@ +{"version":3,"file":"BLPOP.js","sourceRoot":"","sources":["../../../lib/commands/BLPOP.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAA0B,EAAE,OAAe;QAC7E,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClC,CAAC;IACD,cAAc,CAAC,KAA+E;QAC5F,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAEhC,OAAO;YACL,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;YACb,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;SAClB,CAAC;IACJ,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BRPOP.d.ts b/back/node_modules/@redis/client/dist/lib/commands/BRPOP.d.ts new file mode 100644 index 0000000..ef2dd3c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BRPOP.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Removes and returns the last element in a list, or blocks until one is available + * @param parser - The Redis command parser + * @param key - Key of the list to pop from, or array of keys to try sequentially + * @param timeout - Maximum seconds to block, 0 to block indefinitely + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisVariadicArgument, timeout: number) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply]>>) => { + key: import("../RESP/types").BlobStringReply; + element: import("../RESP/types").BlobStringReply; + } | null; +}; +export default _default; +//# sourceMappingURL=BRPOP.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BRPOP.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/BRPOP.d.ts.map new file mode 100644 index 0000000..bd533cb --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BRPOP.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BRPOP.d.ts","sourceRoot":"","sources":["../../../lib/commands/BRPOP.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;IAK7D;;;;;OAKG;gDACkB,aAAa,OAAO,qBAAqB,WAAW,MAAM;;;;;;AARjF,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BRPOP.js b/back/node_modules/@redis/client/dist/lib/commands/BRPOP.js new file mode 100644 index 0000000..1438fcd --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BRPOP.js @@ -0,0 +1,22 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const BLPOP_1 = __importDefault(require("./BLPOP")); +exports.default = { + IS_READ_ONLY: true, + /** + * Removes and returns the last element in a list, or blocks until one is available + * @param parser - The Redis command parser + * @param key - Key of the list to pop from, or array of keys to try sequentially + * @param timeout - Maximum seconds to block, 0 to block indefinitely + */ + parseCommand(parser, key, timeout) { + parser.push('BRPOP'); + parser.pushKeys(key); + parser.push(timeout.toString()); + }, + transformReply: BLPOP_1.default.transformReply +}; +//# sourceMappingURL=BRPOP.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BRPOP.js.map b/back/node_modules/@redis/client/dist/lib/commands/BRPOP.js.map new file mode 100644 index 0000000..678603e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BRPOP.js.map @@ -0,0 +1 @@ +{"version":3,"file":"BRPOP.js","sourceRoot":"","sources":["../../../lib/commands/BRPOP.ts"],"names":[],"mappings":";;;;;AAGA,oDAA4B;AAE5B,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAA0B,EAAE,OAAe;QAC7E,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClC,CAAC;IACD,cAAc,EAAE,eAAK,CAAC,cAAc;CACV,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BRPOPLPUSH.d.ts b/back/node_modules/@redis/client/dist/lib/commands/BRPOPLPUSH.d.ts new file mode 100644 index 0000000..87dcce8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BRPOPLPUSH.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply, NullReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Pops an element from a list, pushes it to another list and returns it; blocks until element is available + * @param parser - The Redis command parser + * @param source - Key of the source list to pop from + * @param destination - Key of the destination list to push to + * @param timeout - Maximum seconds to block, 0 to block indefinitely + */ + readonly parseCommand: (this: void, parser: CommandParser, source: RedisArgument, destination: RedisArgument, timeout: number) => void; + readonly transformReply: () => BlobStringReply | NullReply; +}; +export default _default; +//# sourceMappingURL=BRPOPLPUSH.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BRPOPLPUSH.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/BRPOPLPUSH.d.ts.map new file mode 100644 index 0000000..7249a1e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BRPOPLPUSH.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BRPOPLPUSH.d.ts","sourceRoot":"","sources":["../../../lib/commands/BRPOPLPUSH.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;;;IAIjF;;;;;;OAMG;gDACkB,aAAa,UAAU,aAAa,eAAe,aAAa,WAAW,MAAM;mCAKxD,eAAe,GAAG,SAAS;;AAd3E,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BRPOPLPUSH.js b/back/node_modules/@redis/client/dist/lib/commands/BRPOPLPUSH.js new file mode 100644 index 0000000..5a1366e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BRPOPLPUSH.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Pops an element from a list, pushes it to another list and returns it; blocks until element is available + * @param parser - The Redis command parser + * @param source - Key of the source list to pop from + * @param destination - Key of the destination list to push to + * @param timeout - Maximum seconds to block, 0 to block indefinitely + */ + parseCommand(parser, source, destination, timeout) { + parser.push('BRPOPLPUSH'); + parser.pushKeys([source, destination]); + parser.push(timeout.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=BRPOPLPUSH.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BRPOPLPUSH.js.map b/back/node_modules/@redis/client/dist/lib/commands/BRPOPLPUSH.js.map new file mode 100644 index 0000000..1e139ec --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BRPOPLPUSH.js.map @@ -0,0 +1 @@ +{"version":3,"file":"BRPOPLPUSH.js","sourceRoot":"","sources":["../../../lib/commands/BRPOPLPUSH.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,MAAqB,EAAE,WAA0B,EAAE,OAAe;QACpG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClC,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BZMPOP.d.ts b/back/node_modules/@redis/client/dist/lib/commands/BZMPOP.d.ts new file mode 100644 index 0000000..69f4655 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BZMPOP.d.ts @@ -0,0 +1,29 @@ +import { CommandParser } from '../client/parser'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Removes and returns members from one or more sorted sets in the specified order; blocks until elements are available + * @param parser - The Redis command parser + * @param timeout - Maximum seconds to block, 0 to block indefinitely + * @param args - Additional arguments specifying the keys, min/max count, and order (MIN/MAX) + */ + readonly parseCommand: (this: void, parser: CommandParser, timeout: number, keys: import("./generic-transformers").RedisVariadicArgument, side: import("./generic-transformers").SortedSetSide, options?: import("./ZMPOP").ZMPopOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("../RESP/types").UnwrapReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + key: import("../RESP/types").BlobStringReply; + members: { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + } | null; + readonly 3: (this: void, reply: import("../RESP/types").UnwrapReply) => { + key: import("../RESP/types").BlobStringReply; + members: { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + } | null; + }; +}; +export default _default; +//# sourceMappingURL=BZMPOP.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BZMPOP.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/BZMPOP.d.ts.map new file mode 100644 index 0000000..074b2ac --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BZMPOP.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BZMPOP.d.ts","sourceRoot":"","sources":["../../../lib/commands/BZMPOP.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;;;IAM/C;;;;;OAKG;gDACkB,aAAa,WAAW,MAAM;;;;;;;;;;;;;;;;;;AARrD,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BZMPOP.js b/back/node_modules/@redis/client/dist/lib/commands/BZMPOP.js new file mode 100644 index 0000000..292ee5e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BZMPOP.js @@ -0,0 +1,41 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const ZMPOP_1 = __importStar(require("./ZMPOP")); +exports.default = { + IS_READ_ONLY: false, + /** + * Removes and returns members from one or more sorted sets in the specified order; blocks until elements are available + * @param parser - The Redis command parser + * @param timeout - Maximum seconds to block, 0 to block indefinitely + * @param args - Additional arguments specifying the keys, min/max count, and order (MIN/MAX) + */ + parseCommand(parser, timeout, ...args) { + parser.push('BZMPOP', timeout.toString()); + (0, ZMPOP_1.parseZMPopArguments)(parser, ...args); + }, + transformReply: ZMPOP_1.default.transformReply +}; +//# sourceMappingURL=BZMPOP.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BZMPOP.js.map b/back/node_modules/@redis/client/dist/lib/commands/BZMPOP.js.map new file mode 100644 index 0000000..2fcfc90 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BZMPOP.js.map @@ -0,0 +1 @@ +{"version":3,"file":"BZMPOP.js","sourceRoot":"","sources":["../../../lib/commands/BZMPOP.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA,iDAAqE;AAErE,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,OAAe,EAAE,GAAG,IAAoB;QAC1E,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1C,IAAA,2BAAmB,EAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,cAAc,EAAE,eAAK,CAAC,cAAc;CACV,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BZPOPMAX.d.ts b/back/node_modules/@redis/client/dist/lib/commands/BZPOPMAX.d.ts new file mode 100644 index 0000000..a5513dd --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BZPOPMAX.d.ts @@ -0,0 +1,27 @@ +import { CommandParser } from '../client/parser'; +import { NullReply, TuplesReply, BlobStringReply, DoubleReply, UnwrapReply, TypeMapping } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Removes and returns the member with the highest score in a sorted set, or blocks until one is available + * @param parser - The Redis command parser + * @param keys - Key of the sorted set, or array of keys to try sequentially + * @param timeout - Maximum seconds to block, 0 to block indefinitely + */ + readonly parseCommand: (this: void, parser: CommandParser, keys: RedisVariadicArgument, timeout: number) => void; + readonly transformReply: { + readonly 2: (this: void, reply: UnwrapReply>, preserve?: any, typeMapping?: TypeMapping) => { + key: BlobStringReply; + value: BlobStringReply; + score: DoubleReply; + } | null; + readonly 3: (this: void, reply: UnwrapReply>) => { + key: BlobStringReply; + value: BlobStringReply; + score: DoubleReply; + } | null; + }; +}; +export default _default; +//# sourceMappingURL=BZPOPMAX.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BZPOPMAX.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/BZPOPMAX.d.ts.map new file mode 100644 index 0000000..d852cf2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BZPOPMAX.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BZPOPMAX.d.ts","sourceRoot":"","sources":["../../../lib/commands/BZPOPMAX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAW,WAAW,EAAE,MAAM,eAAe,CAAC;AACxH,OAAO,EAAE,qBAAqB,EAAwB,MAAM,wBAAwB,CAAC;;;IAInF;;;;;OAKG;gDACkB,aAAa,QAAQ,qBAAqB,WAAW,MAAM;;wCAOrE,YAAY,SAAS,GAAG,YAAY,CAAC,eAAe,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,aACrF,GAAG,gBACA,WAAW;;;;;wCAQlB,YAAY,SAAS,GAAG,YAAY,CAAC,eAAe,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC;;;;;;;AAzBlG,wBAiC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BZPOPMAX.js b/back/node_modules/@redis/client/dist/lib/commands/BZPOPMAX.js new file mode 100644 index 0000000..c00171f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BZPOPMAX.js @@ -0,0 +1,34 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Removes and returns the member with the highest score in a sorted set, or blocks until one is available + * @param parser - The Redis command parser + * @param keys - Key of the sorted set, or array of keys to try sequentially + * @param timeout - Maximum seconds to block, 0 to block indefinitely + */ + parseCommand(parser, keys, timeout) { + parser.push('BZPOPMAX'); + parser.pushKeys(keys); + parser.push(timeout.toString()); + }, + transformReply: { + 2(reply, preserve, typeMapping) { + return reply === null ? null : { + key: reply[0], + value: reply[1], + score: generic_transformers_1.transformDoubleReply[2](reply[2], preserve, typeMapping) + }; + }, + 3(reply) { + return reply === null ? null : { + key: reply[0], + value: reply[1], + score: reply[2] + }; + } + } +}; +//# sourceMappingURL=BZPOPMAX.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BZPOPMAX.js.map b/back/node_modules/@redis/client/dist/lib/commands/BZPOPMAX.js.map new file mode 100644 index 0000000..7f077d0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BZPOPMAX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"BZPOPMAX.js","sourceRoot":"","sources":["../../../lib/commands/BZPOPMAX.ts"],"names":[],"mappings":";;AAEA,iEAAqF;AAErF,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,IAA2B,EAAE,OAAe;QAC9E,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClC,CAAC;IACD,cAAc,EAAE;QACd,CAAC,CACC,KAAgG,EAChG,QAAc,EACd,WAAyB;YAEzB,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7B,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;gBACb,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;gBACf,KAAK,EAAE,2CAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC;aAChE,CAAC;QACJ,CAAC;QACD,CAAC,CAAC,KAA4F;YAC5F,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7B,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;gBACb,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;gBACf,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;aAChB,CAAC;QACJ,CAAC;KACF;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BZPOPMIN.d.ts b/back/node_modules/@redis/client/dist/lib/commands/BZPOPMIN.d.ts new file mode 100644 index 0000000..abef2d4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BZPOPMIN.d.ts @@ -0,0 +1,26 @@ +import { CommandParser } from '../client/parser'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Removes and returns the member with the lowest score in a sorted set, or blocks until one is available + * @param parser - The Redis command parser + * @param keys - Key of the sorted set, or array of keys to try sequentially + * @param timeout - Maximum seconds to block, 0 to block indefinitely + */ + readonly parseCommand: (this: void, parser: CommandParser, keys: RedisVariadicArgument, timeout: number) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply]>>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + key: import("../RESP/types").BlobStringReply; + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + readonly 3: (this: void, reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply, import("../RESP/types").DoubleReply]>>) => { + key: import("../RESP/types").BlobStringReply; + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + }; +}; +export default _default; +//# sourceMappingURL=BZPOPMIN.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BZPOPMIN.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/BZPOPMIN.d.ts.map new file mode 100644 index 0000000..4998665 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BZPOPMIN.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BZPOPMIN.d.ts","sourceRoot":"","sources":["../../../lib/commands/BZPOPMIN.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;IAK7D;;;;;OAKG;gDACkB,aAAa,QAAQ,qBAAqB,WAAW,MAAM;;;;;;;;;;;;;;AARlF,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BZPOPMIN.js b/back/node_modules/@redis/client/dist/lib/commands/BZPOPMIN.js new file mode 100644 index 0000000..1540646 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BZPOPMIN.js @@ -0,0 +1,22 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const BZPOPMAX_1 = __importDefault(require("./BZPOPMAX")); +exports.default = { + IS_READ_ONLY: BZPOPMAX_1.default.IS_READ_ONLY, + /** + * Removes and returns the member with the lowest score in a sorted set, or blocks until one is available + * @param parser - The Redis command parser + * @param keys - Key of the sorted set, or array of keys to try sequentially + * @param timeout - Maximum seconds to block, 0 to block indefinitely + */ + parseCommand(parser, keys, timeout) { + parser.push('BZPOPMIN'); + parser.pushKeys(keys); + parser.push(timeout.toString()); + }, + transformReply: BZPOPMAX_1.default.transformReply +}; +//# sourceMappingURL=BZPOPMIN.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/BZPOPMIN.js.map b/back/node_modules/@redis/client/dist/lib/commands/BZPOPMIN.js.map new file mode 100644 index 0000000..add6dcd --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/BZPOPMIN.js.map @@ -0,0 +1 @@ +{"version":3,"file":"BZPOPMIN.js","sourceRoot":"","sources":["../../../lib/commands/BZPOPMIN.ts"],"names":[],"mappings":";;;;;AAGA,0DAAkC;AAElC,kBAAe;IACb,YAAY,EAAE,kBAAQ,CAAC,YAAY;IACnC;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,IAA2B,EAAE,OAAe;QAC9E,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClC,CAAC;IACD,cAAc,EAAE,kBAAQ,CAAC,cAAc;CACb,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_CACHING.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_CACHING.d.ts new file mode 100644 index 0000000..fe4198a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_CACHING.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Instructs the server about tracking or not keys in the next request + * @param parser - The Redis command parser + * @param value - Whether to enable (true) or disable (false) tracking + */ + readonly parseCommand: (this: void, parser: CommandParser, value: boolean) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=CLIENT_CACHING.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_CACHING.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_CACHING.d.ts.map new file mode 100644 index 0000000..2478c1f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_CACHING.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLIENT_CACHING.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLIENT_CACHING.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKzD;;;;OAIG;gDACkB,aAAa,SAAS,OAAO;mCAOJ,kBAAkB,IAAI,CAAC;;AAfvE,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_CACHING.js b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_CACHING.js new file mode 100644 index 0000000..c20b9cd --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_CACHING.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Instructs the server about tracking or not keys in the next request + * @param parser - The Redis command parser + * @param value - Whether to enable (true) or disable (false) tracking + */ + parseCommand(parser, value) { + parser.push('CLIENT', 'CACHING', value ? 'YES' : 'NO'); + }, + transformReply: undefined +}; +//# sourceMappingURL=CLIENT_CACHING.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_CACHING.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_CACHING.js.map new file mode 100644 index 0000000..53b8460 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_CACHING.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLIENT_CACHING.js","sourceRoot":"","sources":["../../../lib/commands/CLIENT_CACHING.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,KAAc;QAChD,MAAM,CAAC,IAAI,CACT,QAAQ,EACR,SAAS,EACT,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CACrB,CAAC;IACJ,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETNAME.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETNAME.d.ts new file mode 100644 index 0000000..1304157 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETNAME.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { BlobStringReply, NullReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns the name of the current connection + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => BlobStringReply | NullReply; +}; +export default _default; +//# sourceMappingURL=CLIENT_GETNAME.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETNAME.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETNAME.d.ts.map new file mode 100644 index 0000000..0603add --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETNAME.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLIENT_GETNAME.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLIENT_GETNAME.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;;;;IAKlE;;;OAGG;gDACkB,aAAa;mCAGY,eAAe,GAAG,SAAS;;AAV3E,wBAW6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETNAME.js b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETNAME.js new file mode 100644 index 0000000..ab9f558 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETNAME.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns the name of the current connection + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('CLIENT', 'GETNAME'); + }, + transformReply: undefined +}; +//# sourceMappingURL=CLIENT_GETNAME.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETNAME.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETNAME.js.map new file mode 100644 index 0000000..8127b78 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETNAME.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLIENT_GETNAME.js","sourceRoot":"","sources":["../../../lib/commands/CLIENT_GETNAME.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACnC,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETREDIR.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETREDIR.d.ts new file mode 100644 index 0000000..1c70479 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETREDIR.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns the ID of the client to which the current client is redirecting tracking notifications + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=CLIENT_GETREDIR.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETREDIR.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETREDIR.d.ts.map new file mode 100644 index 0000000..64d1c70 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETREDIR.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLIENT_GETREDIR.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLIENT_GETREDIR.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;;IAKnD;;;OAGG;gDACkB,aAAa;mCAGY,WAAW;;AAV3D,wBAW6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETREDIR.js b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETREDIR.js new file mode 100644 index 0000000..69c2756 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETREDIR.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns the ID of the client to which the current client is redirecting tracking notifications + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('CLIENT', 'GETREDIR'); + }, + transformReply: undefined +}; +//# sourceMappingURL=CLIENT_GETREDIR.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETREDIR.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETREDIR.js.map new file mode 100644 index 0000000..c747ccd --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_GETREDIR.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLIENT_GETREDIR.js","sourceRoot":"","sources":["../../../lib/commands/CLIENT_GETREDIR.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACpC,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_ID.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_ID.d.ts new file mode 100644 index 0000000..dc6280e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_ID.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns the client ID for the current connection + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=CLIENT_ID.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_ID.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_ID.d.ts.map new file mode 100644 index 0000000..fe70c0a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_ID.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLIENT_ID.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLIENT_ID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;;IAKnD;;;OAGG;gDACkB,aAAa;mCAGY,WAAW;;AAV3D,wBAW6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_ID.js b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_ID.js new file mode 100644 index 0000000..b679593 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_ID.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns the client ID for the current connection + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('CLIENT', 'ID'); + }, + transformReply: undefined +}; +//# sourceMappingURL=CLIENT_ID.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_ID.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_ID.js.map new file mode 100644 index 0000000..0378999 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_ID.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLIENT_ID.js","sourceRoot":"","sources":["../../../lib/commands/CLIENT_ID.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_INFO.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_INFO.d.ts new file mode 100644 index 0000000..1ee5d1d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_INFO.d.ts @@ -0,0 +1,74 @@ +import { CommandParser } from '../client/parser'; +import { VerbatimStringReply } from '../RESP/types'; +export interface ClientInfoReply { + id: number; + addr: string; + /** + * available since 6.2 + */ + laddr?: string; + fd: number; + name: string; + age: number; + idle: number; + flags: string; + db: number; + sub: number; + psub: number; + /** + * available since 7.0.3 + */ + ssub?: number; + multi: number; + qbuf: number; + qbufFree: number; + /** + * available since 6.0 + */ + argvMem?: number; + /** + * available since 7.0 + */ + multiMem?: number; + obl: number; + oll: number; + omem: number; + /** + * available since 6.0 + */ + totMem?: number; + events: string; + cmd: string; + /** + * available since 6.0 + */ + user?: string; + /** + * available since 6.2 + */ + redir?: number; + /** + * available since 7.0 + */ + resp?: number; + /** + * available since 7.0 + */ + libName?: string; + /** + * available since 7.0 + */ + libVer?: string; +} +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns information and statistics about the current client connection + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: (this: void, rawReply: VerbatimStringReply) => ClientInfoReply; +}; +export default _default; +//# sourceMappingURL=CLIENT_INFO.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_INFO.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_INFO.d.ts.map new file mode 100644 index 0000000..a7fb1b1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_INFO.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLIENT_INFO.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLIENT_INFO.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAW,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAE7D,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;;;;IAOC;;;OAGG;gDACkB,aAAa;oDAGT,mBAAmB;;AAV9C,wBA+D6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_INFO.js b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_INFO.js new file mode 100644 index 0000000..03f22a8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_INFO.js @@ -0,0 +1,62 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const CLIENT_INFO_REGEX = /([^\s=]+)=([^\s]*)/g; +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns information and statistics about the current client connection + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('CLIENT', 'INFO'); + }, + transformReply(rawReply) { + const map = {}; + for (const item of rawReply.toString().matchAll(CLIENT_INFO_REGEX)) { + map[item[1]] = item[2]; + } + const reply = { + id: Number(map.id), + addr: map.addr, + fd: Number(map.fd), + name: map.name, + age: Number(map.age), + idle: Number(map.idle), + flags: map.flags, + db: Number(map.db), + sub: Number(map.sub), + psub: Number(map.psub), + multi: Number(map.multi), + qbuf: Number(map.qbuf), + qbufFree: Number(map['qbuf-free']), + argvMem: Number(map['argv-mem']), + obl: Number(map.obl), + oll: Number(map.oll), + omem: Number(map.omem), + totMem: Number(map['tot-mem']), + events: map.events, + cmd: map.cmd, + user: map.user, + libName: map['lib-name'], + libVer: map['lib-ver'] + }; + if (map.laddr !== undefined) { + reply.laddr = map.laddr; + } + if (map.redir !== undefined) { + reply.redir = Number(map.redir); + } + if (map.ssub !== undefined) { + reply.ssub = Number(map.ssub); + } + if (map['multi-mem'] !== undefined) { + reply.multiMem = Number(map['multi-mem']); + } + if (map.resp !== undefined) { + reply.resp = Number(map.resp); + } + return reply; + } +}; +//# sourceMappingURL=CLIENT_INFO.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_INFO.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_INFO.js.map new file mode 100644 index 0000000..bd7e3f7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_INFO.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLIENT_INFO.js","sourceRoot":"","sources":["../../../lib/commands/CLIENT_INFO.ts"],"names":[],"mappings":";;AAgEA,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAEhD,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;IACD,cAAc,CAAC,QAA6B;QAC1C,MAAM,GAAG,GAA2B,EAAE,CAAC;QACvC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QACD,MAAM,KAAK,GAAoB;YAC7B,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;YACpB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YACtB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;YACpB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YACtB,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;YACxB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YACtB,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAClC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAChC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;YACpB,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;YACpB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YACtB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC9B,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC;YACxB,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC;SACvB,CAAC;QAEF,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC5B,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QAC1B,CAAC;QAED,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC5B,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,GAAG,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;YACnC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_KILL.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_KILL.d.ts new file mode 100644 index 0000000..f26e436 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_KILL.d.ts @@ -0,0 +1,50 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply } from '../RESP/types'; +export declare const CLIENT_KILL_FILTERS: { + readonly ADDRESS: "ADDR"; + readonly LOCAL_ADDRESS: "LADDR"; + readonly ID: "ID"; + readonly TYPE: "TYPE"; + readonly USER: "USER"; + readonly SKIP_ME: "SKIPME"; + readonly MAXAGE: "MAXAGE"; +}; +type CLIENT_KILL_FILTERS = typeof CLIENT_KILL_FILTERS; +export interface ClientKillFilterCommon { + filter: T; +} +export interface ClientKillAddress extends ClientKillFilterCommon { + address: `${string}:${number}`; +} +export interface ClientKillLocalAddress extends ClientKillFilterCommon { + localAddress: `${string}:${number}`; +} +export interface ClientKillId extends ClientKillFilterCommon { + id: number | `${number}`; +} +export interface ClientKillType extends ClientKillFilterCommon { + type: 'normal' | 'master' | 'replica' | 'pubsub'; +} +export interface ClientKillUser extends ClientKillFilterCommon { + username: string; +} +export type ClientKillSkipMe = CLIENT_KILL_FILTERS['SKIP_ME'] | (ClientKillFilterCommon & { + skipMe: boolean; +}); +export interface ClientKillMaxAge extends ClientKillFilterCommon { + maxAge: number; +} +export type ClientKillFilter = ClientKillAddress | ClientKillLocalAddress | ClientKillId | ClientKillType | ClientKillUser | ClientKillSkipMe | ClientKillMaxAge; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Closes client connections matching the specified filters + * @param parser - The Redis command parser + * @param filters - One or more filters to match client connections to kill + */ + readonly parseCommand: (this: void, parser: CommandParser, filters: ClientKillFilter | Array) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=CLIENT_KILL.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_KILL.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_KILL.d.ts.map new file mode 100644 index 0000000..7589f3d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_KILL.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLIENT_KILL.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLIENT_KILL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AAErD,eAAO,MAAM,mBAAmB;;;;;;;;CAQtB,CAAC;AAEX,KAAK,mBAAmB,GAAG,OAAO,mBAAmB,CAAC;AAEtD,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,mBAAmB,CAAC,MAAM,mBAAmB,CAAC;IAC9F,MAAM,EAAE,CAAC,CAAC;CACX;AAED,MAAM,WAAW,iBAAkB,SAAQ,sBAAsB,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC/F,OAAO,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,sBAAuB,SAAQ,sBAAsB,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;IAC1G,YAAY,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,YAAa,SAAQ,sBAAsB,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACrF,EAAE,EAAE,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,cAAe,SAAQ,sBAAsB,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACzF,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;CAClD;AAED,MAAM,WAAW,cAAe,SAAQ,sBAAsB,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACzF,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,GAAG;IACxH,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC,CAAC;AAEH,MAAM,WAAW,gBAAiB,SAAQ,sBAAsB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC7F,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG,sBAAsB,GAAG,YAAY,GAAG,cAAc,GAAG,cAAc,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;;;;IAK/J;;;;OAIG;gDACkB,aAAa,WAAW,gBAAgB,GAAG,MAAM,gBAAgB,CAAC;mCAYzC,WAAW;;AApB3D,wBAqB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_KILL.js b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_KILL.js new file mode 100644 index 0000000..f1b978d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_KILL.js @@ -0,0 +1,66 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CLIENT_KILL_FILTERS = void 0; +exports.CLIENT_KILL_FILTERS = { + ADDRESS: 'ADDR', + LOCAL_ADDRESS: 'LADDR', + ID: 'ID', + TYPE: 'TYPE', + USER: 'USER', + SKIP_ME: 'SKIPME', + MAXAGE: 'MAXAGE' +}; +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Closes client connections matching the specified filters + * @param parser - The Redis command parser + * @param filters - One or more filters to match client connections to kill + */ + parseCommand(parser, filters) { + parser.push('CLIENT', 'KILL'); + if (Array.isArray(filters)) { + for (const filter of filters) { + pushFilter(parser, filter); + } + } + else { + pushFilter(parser, filters); + } + }, + transformReply: undefined +}; +function pushFilter(parser, filter) { + if (filter === exports.CLIENT_KILL_FILTERS.SKIP_ME) { + parser.push('SKIPME'); + return; + } + parser.push(filter.filter); + switch (filter.filter) { + case exports.CLIENT_KILL_FILTERS.ADDRESS: + parser.push(filter.address); + break; + case exports.CLIENT_KILL_FILTERS.LOCAL_ADDRESS: + parser.push(filter.localAddress); + break; + case exports.CLIENT_KILL_FILTERS.ID: + parser.push(typeof filter.id === 'number' ? + filter.id.toString() : + filter.id); + break; + case exports.CLIENT_KILL_FILTERS.TYPE: + parser.push(filter.type); + break; + case exports.CLIENT_KILL_FILTERS.USER: + parser.push(filter.username); + break; + case exports.CLIENT_KILL_FILTERS.SKIP_ME: + parser.push(filter.skipMe ? 'yes' : 'no'); + break; + case exports.CLIENT_KILL_FILTERS.MAXAGE: + parser.push(filter.maxAge.toString()); + break; + } +} +//# sourceMappingURL=CLIENT_KILL.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_KILL.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_KILL.js.map new file mode 100644 index 0000000..1ecb292 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_KILL.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLIENT_KILL.js","sourceRoot":"","sources":["../../../lib/commands/CLIENT_KILL.ts"],"names":[],"mappings":";;;AAGa,QAAA,mBAAmB,GAAG;IACjC,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,OAAO;IACtB,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,QAAQ;CACR,CAAC;AAsCX,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,OAAmD;QACrF,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE9B,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC;IAEH,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC;AAE7B,SAAS,UAAU,CAAC,MAAqB,EAAE,MAAwB;IACjE,IAAI,MAAM,KAAK,2BAAmB,CAAC,OAAO,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,OAAO;IACT,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE3B,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,KAAK,2BAAmB,CAAC,OAAO;YAC9B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5B,MAAM;QAER,KAAK,2BAAmB,CAAC,aAAa;YACpC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACjC,MAAM;QAER,KAAK,2BAAmB,CAAC,EAAE;YACzB,MAAM,CAAC,IAAI,CACT,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;gBAC7B,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACtB,MAAM,CAAC,EAAE,CACZ,CAAC;YACF,MAAM;QAER,KAAK,2BAAmB,CAAC,IAAI;YAC3B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM;QAER,KAAK,2BAAmB,CAAC,IAAI;YAC3B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC7B,MAAM;QAER,KAAK,2BAAmB,CAAC,OAAO;YAC9B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM;QAER,KAAK,2BAAmB,CAAC,MAAM;YAC7B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtC,MAAM;IACV,CAAC;AACH,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_LIST.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_LIST.d.ts new file mode 100644 index 0000000..1bcfb68 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_LIST.d.ts @@ -0,0 +1,25 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, VerbatimStringReply } from '../RESP/types'; +import { ClientInfoReply } from './CLIENT_INFO'; +export interface ListFilterType { + TYPE: 'NORMAL' | 'MASTER' | 'REPLICA' | 'PUBSUB'; + ID?: never; +} +export interface ListFilterId { + ID: Array; + TYPE?: never; +} +export type ListFilter = ListFilterType | ListFilterId; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns information about all client connections. Can be filtered by type or ID + * @param parser - The Redis command parser + * @param filter - Optional filter to return only specific client types or IDs + */ + readonly parseCommand: (this: void, parser: CommandParser, filter?: ListFilter) => void; + readonly transformReply: (this: void, rawReply: VerbatimStringReply) => Array; +}; +export default _default; +//# sourceMappingURL=CLIENT_LIST.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_LIST.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_LIST.d.ts.map new file mode 100644 index 0000000..f00a2bf --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_LIST.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLIENT_LIST.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLIENT_LIST.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAW,MAAM,eAAe,CAAC;AAC5E,OAAoB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAE7D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IACjD,EAAE,CAAC,EAAE,KAAK,CAAC;CACZ;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IACzB,IAAI,CAAC,EAAE,KAAK,CAAC;CACd;AAED,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,YAAY,CAAC;;;;IAKrD;;;;OAIG;gDACkB,aAAa,WAAW,UAAU;oDAW9B,mBAAmB,KAAG,MAAM,eAAe,CAAC;;AAnBvE,wBA6B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_LIST.js b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_LIST.js new file mode 100644 index 0000000..6d2bd3a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_LIST.js @@ -0,0 +1,35 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const CLIENT_INFO_1 = __importDefault(require("./CLIENT_INFO")); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns information about all client connections. Can be filtered by type or ID + * @param parser - The Redis command parser + * @param filter - Optional filter to return only specific client types or IDs + */ + parseCommand(parser, filter) { + parser.push('CLIENT', 'LIST'); + if (filter) { + if (filter.TYPE !== undefined) { + parser.push('TYPE', filter.TYPE); + } + else { + parser.push('ID'); + parser.pushVariadic(filter.ID); + } + } + }, + transformReply(rawReply) { + const split = rawReply.toString().split('\n'), length = split.length - 1, reply = []; + for (let i = 0; i < length; i++) { + reply.push(CLIENT_INFO_1.default.transformReply(split[i])); + } + return reply; + } +}; +//# sourceMappingURL=CLIENT_LIST.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_LIST.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_LIST.js.map new file mode 100644 index 0000000..8fc7cb6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_LIST.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLIENT_LIST.js","sourceRoot":"","sources":["../../../lib/commands/CLIENT_LIST.ts"],"names":[],"mappings":";;;;;AAEA,gEAA6D;AAc7D,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,MAAmB;QACrD,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC9B,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClB,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IACD,cAAc,CAAC,QAA6B;QAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAC3C,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EACzB,KAAK,GAA2B,EAAE,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,qBAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAmC,CAAC,CAAC,CAAC;QACrF,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-EVICT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-EVICT.d.ts new file mode 100644 index 0000000..717a151 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-EVICT.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Controls whether to prevent the client's connections from being evicted + * @param parser - The Redis command parser + * @param value - Whether to enable (true) or disable (false) the no-evict mode + */ + readonly parseCommand: (this: void, parser: CommandParser, value: boolean) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=CLIENT_NO-EVICT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-EVICT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-EVICT.d.ts.map new file mode 100644 index 0000000..e3da091 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-EVICT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLIENT_NO-EVICT.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLIENT_NO-EVICT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKzD;;;;OAIG;gDACkB,aAAa,SAAS,OAAO;mCAOJ,kBAAkB,IAAI,CAAC;;AAfvE,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-EVICT.js b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-EVICT.js new file mode 100644 index 0000000..8756457 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-EVICT.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Controls whether to prevent the client's connections from being evicted + * @param parser - The Redis command parser + * @param value - Whether to enable (true) or disable (false) the no-evict mode + */ + parseCommand(parser, value) { + parser.push('CLIENT', 'NO-EVICT', value ? 'ON' : 'OFF'); + }, + transformReply: undefined +}; +//# sourceMappingURL=CLIENT_NO-EVICT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-EVICT.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-EVICT.js.map new file mode 100644 index 0000000..26e8aca --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-EVICT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLIENT_NO-EVICT.js","sourceRoot":"","sources":["../../../lib/commands/CLIENT_NO-EVICT.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,KAAc;QAChD,MAAM,CAAC,IAAI,CACT,QAAQ,EACR,UAAU,EACV,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CACrB,CAAC;IACJ,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-TOUCH.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-TOUCH.d.ts new file mode 100644 index 0000000..31324e3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-TOUCH.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Controls whether to prevent the client from touching the LRU/LFU of keys + * @param parser - The Redis command parser + * @param value - Whether to enable (true) or disable (false) the no-touch mode + */ + readonly parseCommand: (this: void, parser: CommandParser, value: boolean) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=CLIENT_NO-TOUCH.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-TOUCH.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-TOUCH.d.ts.map new file mode 100644 index 0000000..8793e40 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-TOUCH.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLIENT_NO-TOUCH.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLIENT_NO-TOUCH.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKzD;;;;OAIG;gDACkB,aAAa,SAAS,OAAO;mCAOJ,kBAAkB,IAAI,CAAC;;AAfvE,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-TOUCH.js b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-TOUCH.js new file mode 100644 index 0000000..7e83443 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-TOUCH.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Controls whether to prevent the client from touching the LRU/LFU of keys + * @param parser - The Redis command parser + * @param value - Whether to enable (true) or disable (false) the no-touch mode + */ + parseCommand(parser, value) { + parser.push('CLIENT', 'NO-TOUCH', value ? 'ON' : 'OFF'); + }, + transformReply: undefined +}; +//# sourceMappingURL=CLIENT_NO-TOUCH.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-TOUCH.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-TOUCH.js.map new file mode 100644 index 0000000..dd00dad --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_NO-TOUCH.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLIENT_NO-TOUCH.js","sourceRoot":"","sources":["../../../lib/commands/CLIENT_NO-TOUCH.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,KAAc;QAChD,MAAM,CAAC,IAAI,CACT,QAAQ,EACR,UAAU,EACV,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CACrB,CAAC;IACJ,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_PAUSE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_PAUSE.d.ts new file mode 100644 index 0000000..0d19d3f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_PAUSE.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Stops the server from processing client commands for the specified duration + * @param parser - The Redis command parser + * @param timeout - Time in milliseconds to pause command processing + * @param mode - Optional mode: 'WRITE' to pause only write commands, 'ALL' to pause all commands + */ + readonly parseCommand: (this: void, parser: CommandParser, timeout: number, mode?: 'WRITE' | 'ALL') => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=CLIENT_PAUSE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_PAUSE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_PAUSE.d.ts.map new file mode 100644 index 0000000..0dff69e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_PAUSE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLIENT_PAUSE.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLIENT_PAUSE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKzD;;;;;OAKG;gDACkB,aAAa,WAAW,MAAM,SAAS,OAAO,GAAG,KAAK;mCAM7B,kBAAkB,IAAI,CAAC;;AAfvE,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_PAUSE.js b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_PAUSE.js new file mode 100644 index 0000000..75cc9fd --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_PAUSE.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Stops the server from processing client commands for the specified duration + * @param parser - The Redis command parser + * @param timeout - Time in milliseconds to pause command processing + * @param mode - Optional mode: 'WRITE' to pause only write commands, 'ALL' to pause all commands + */ + parseCommand(parser, timeout, mode) { + parser.push('CLIENT', 'PAUSE', timeout.toString()); + if (mode) { + parser.push(mode); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=CLIENT_PAUSE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_PAUSE.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_PAUSE.js.map new file mode 100644 index 0000000..014980b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_PAUSE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLIENT_PAUSE.js","sourceRoot":"","sources":["../../../lib/commands/CLIENT_PAUSE.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,OAAe,EAAE,IAAsB;QACzE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnD,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_SETNAME.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_SETNAME.d.ts new file mode 100644 index 0000000..0cb6759 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_SETNAME.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Assigns a name to the current connection + * @param parser - The Redis command parser + * @param name - The name to assign to the connection + */ + readonly parseCommand: (this: void, parser: CommandParser, name: RedisArgument) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=CLIENT_SETNAME.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_SETNAME.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_SETNAME.d.ts.map new file mode 100644 index 0000000..5908b9f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_SETNAME.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLIENT_SETNAME.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLIENT_SETNAME.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKxE;;;;OAIG;gDACkB,aAAa,QAAQ,aAAa;mCAGT,kBAAkB,IAAI,CAAC;;AAXvE,wBAY6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_SETNAME.js b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_SETNAME.js new file mode 100644 index 0000000..968f7ab --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_SETNAME.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Assigns a name to the current connection + * @param parser - The Redis command parser + * @param name - The name to assign to the connection + */ + parseCommand(parser, name) { + parser.push('CLIENT', 'SETNAME', name); + }, + transformReply: undefined +}; +//# sourceMappingURL=CLIENT_SETNAME.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_SETNAME.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_SETNAME.js.map new file mode 100644 index 0000000..4293f9e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_SETNAME.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLIENT_SETNAME.js","sourceRoot":"","sources":["../../../lib/commands/CLIENT_SETNAME.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,IAAmB;QACrD,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKING.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKING.d.ts new file mode 100644 index 0000000..b6b27fc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKING.d.ts @@ -0,0 +1,32 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +interface CommonOptions { + REDIRECT?: number; + NOLOOP?: boolean; +} +interface BroadcastOptions { + BCAST?: boolean; + PREFIX?: RedisVariadicArgument; +} +interface OptInOptions { + OPTIN?: boolean; +} +interface OptOutOptions { + OPTOUT?: boolean; +} +export type ClientTrackingOptions = CommonOptions & (BroadcastOptions | OptInOptions | OptOutOptions); +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Controls server-assisted client side caching for the current connection + * @param parser - The Redis command parser + * @param mode - Whether to enable (true) or disable (false) tracking + * @param options - Optional configuration including REDIRECT, BCAST, PREFIX, OPTIN, OPTOUT, and NOLOOP options + */ + readonly parseCommand: (parser: CommandParser, mode: M, options?: (M extends true ? ClientTrackingOptions : never) | undefined) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=CLIENT_TRACKING.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKING.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKING.d.ts.map new file mode 100644 index 0000000..8beebff --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKING.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLIENT_TRACKING.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLIENT_TRACKING.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,UAAU,aAAa;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,gBAAgB;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,qBAAqB,CAAC;CAChC;AAED,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG,CAClD,gBAAgB,GAChB,YAAY,GACZ,aAAa,CACd,CAAC;;;;IAKA;;;;;OAKG;uDAEO,aAAa;mCAyCuB,kBAAkB,IAAI,CAAC;;AAnDvE,wBAoD6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKING.js b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKING.js new file mode 100644 index 0000000..307c27d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKING.js @@ -0,0 +1,53 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Controls server-assisted client side caching for the current connection + * @param parser - The Redis command parser + * @param mode - Whether to enable (true) or disable (false) tracking + * @param options - Optional configuration including REDIRECT, BCAST, PREFIX, OPTIN, OPTOUT, and NOLOOP options + */ + parseCommand(parser, mode, options) { + parser.push('CLIENT', 'TRACKING', mode ? 'ON' : 'OFF'); + if (mode) { + if (options?.REDIRECT) { + parser.push('REDIRECT', options.REDIRECT.toString()); + } + if (isBroadcast(options)) { + parser.push('BCAST'); + if (options?.PREFIX) { + if (Array.isArray(options.PREFIX)) { + for (const prefix of options.PREFIX) { + parser.push('PREFIX', prefix); + } + } + else { + parser.push('PREFIX', options.PREFIX); + } + } + } + else if (isOptIn(options)) { + parser.push('OPTIN'); + } + else if (isOptOut(options)) { + parser.push('OPTOUT'); + } + if (options?.NOLOOP) { + parser.push('NOLOOP'); + } + } + }, + transformReply: undefined +}; +function isBroadcast(options) { + return options?.BCAST === true; +} +function isOptIn(options) { + return options?.OPTIN === true; +} +function isOptOut(options) { + return options?.OPTOUT === true; +} +//# sourceMappingURL=CLIENT_TRACKING.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKING.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKING.js.map new file mode 100644 index 0000000..2a53331 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKING.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLIENT_TRACKING.js","sourceRoot":"","sources":["../../../lib/commands/CLIENT_TRACKING.ts"],"names":[],"mappings":";;AA4BA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CACV,MAAqB,EACrB,IAAO,EACP,OAAwD;QAExD,MAAM,CAAC,IAAI,CACT,QAAQ,EACR,UAAU,EACV,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CACpB,CAAC;QAEF,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CACT,UAAU,EACV,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAC5B,CAAC;YACJ,CAAC;YAED,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAErB,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;oBACpB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;wBAClC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;4BACpC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;wBAChC,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;oBACxC,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;iBAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC;YAED,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC;AAE7B,SAAS,WAAW,CAAC,OAA+B;IAClD,OAAQ,OAA4B,EAAE,KAAK,KAAK,IAAI,CAAC;AACvD,CAAC;AAED,SAAS,OAAO,CAAC,OAA+B;IAC9C,OAAQ,OAAwB,EAAE,KAAK,KAAK,IAAI,CAAC;AACnD,CAAC;AAED,SAAS,QAAQ,CAAC,OAA+B;IAC/C,OAAQ,OAAyB,EAAE,MAAM,KAAK,IAAI,CAAC;AACrD,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKINGINFO.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKINGINFO.d.ts new file mode 100644 index 0000000..f889888 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKINGINFO.d.ts @@ -0,0 +1,35 @@ +import { CommandParser } from '../client/parser'; +import { TuplesToMapReply, BlobStringReply, SetReply, NumberReply, ArrayReply } from '../RESP/types'; +type TrackingInfo = TuplesToMapReply<[ + [ + BlobStringReply<'flags'>, + SetReply + ], + [ + BlobStringReply<'redirect'>, + NumberReply + ], + [ + BlobStringReply<'prefixes'>, + ArrayReply + ] +]>; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns information about the current connection's key tracking state + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: { + readonly 2: (reply: [BlobStringReply<"flags">, import("../RESP/types").RespType<126, BlobStringReply[], never, BlobStringReply[]>, BlobStringReply<"redirect">, NumberReply, BlobStringReply<"prefixes">, import("../RESP/types").RespType<42, BlobStringReply[], never, BlobStringReply[]>]) => { + flags: import("../RESP/types").RespType<126, BlobStringReply[], never, BlobStringReply[]>; + redirect: NumberReply; + prefixes: import("../RESP/types").RespType<42, BlobStringReply[], never, BlobStringReply[]>; + }; + readonly 3: () => TrackingInfo; + }; +}; +export default _default; +//# sourceMappingURL=CLIENT_TRACKINGINFO.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKINGINFO.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKINGINFO.d.ts.map new file mode 100644 index 0000000..f18e110 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKINGINFO.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLIENT_TRACKINGINFO.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLIENT_TRACKINGINFO.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAoC,MAAM,eAAe,CAAC;AAEvI,KAAK,YAAY,GAAG,gBAAgB,CAAC;IACnC;QAAC,eAAe,CAAC,OAAO,CAAC;QAAE,QAAQ,CAAC,eAAe,CAAC;KAAC;IACrD;QAAC,eAAe,CAAC,UAAU,CAAC;QAAE,WAAW;KAAC;IAC1C;QAAC,eAAe,CAAC,UAAU,CAAC;QAAE,UAAU,CAAC,eAAe,CAAC;KAAC;CAC3D,CAAC,CAAC;;;;IAKD;;;OAGG;gDACkB,aAAa;;;;;;;;;;AAPpC,wBAkB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKINGINFO.js b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKINGINFO.js new file mode 100644 index 0000000..ec84877 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKINGINFO.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns information about the current connection's key tracking state + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('CLIENT', 'TRACKINGINFO'); + }, + transformReply: { + 2: (reply) => ({ + flags: reply[1], + redirect: reply[3], + prefixes: reply[5] + }), + 3: undefined + } +}; +//# sourceMappingURL=CLIENT_TRACKINGINFO.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKINGINFO.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKINGINFO.js.map new file mode 100644 index 0000000..36f8ed7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_TRACKINGINFO.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLIENT_TRACKINGINFO.js","sourceRoot":"","sources":["../../../lib/commands/CLIENT_TRACKINGINFO.ts"],"names":[],"mappings":";;AASA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACxC,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAA4C,EAAE,EAAE,CAAC,CAAC;YACpD,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YACf,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;YAClB,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;SACnB,CAAC;QACF,CAAC,EAAE,SAA0C;KAC9C;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_UNPAUSE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_UNPAUSE.d.ts new file mode 100644 index 0000000..516aa92 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_UNPAUSE.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Resumes processing of client commands after a CLIENT PAUSE + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=CLIENT_UNPAUSE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_UNPAUSE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_UNPAUSE.d.ts.map new file mode 100644 index 0000000..d956165 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_UNPAUSE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLIENT_UNPAUSE.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLIENT_UNPAUSE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKzD;;;OAGG;gDACkB,aAAa;mCAGY,kBAAkB,IAAI,CAAC;;AAVvE,wBAW6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_UNPAUSE.js b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_UNPAUSE.js new file mode 100644 index 0000000..347ae12 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_UNPAUSE.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Resumes processing of client commands after a CLIENT PAUSE + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('CLIENT', 'UNPAUSE'); + }, + transformReply: undefined +}; +//# sourceMappingURL=CLIENT_UNPAUSE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLIENT_UNPAUSE.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_UNPAUSE.js.map new file mode 100644 index 0000000..78b1482 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLIENT_UNPAUSE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLIENT_UNPAUSE.js","sourceRoot":"","sources":["../../../lib/commands/CLIENT_UNPAUSE.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACnC,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTS.d.ts new file mode 100644 index 0000000..e743228 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTS.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Assigns hash slots to the current node in a Redis Cluster + * @param parser - The Redis command parser + * @param slots - One or more hash slots to be assigned + */ + readonly parseCommand: (this: void, parser: CommandParser, slots: number | Array) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=CLUSTER_ADDSLOTS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTS.d.ts.map new file mode 100644 index 0000000..280e9ee --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_ADDSLOTS.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_ADDSLOTS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKzD;;;;OAIG;gDACkB,aAAa,SAAS,MAAM,GAAG,MAAM,MAAM,CAAC;mCAInB,kBAAkB,IAAI,CAAC;;AAZvE,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTS.js b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTS.js new file mode 100644 index 0000000..8a4da95 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTS.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Assigns hash slots to the current node in a Redis Cluster + * @param parser - The Redis command parser + * @param slots - One or more hash slots to be assigned + */ + parseCommand(parser, slots) { + parser.push('CLUSTER', 'ADDSLOTS'); + parser.pushVariadicNumber(slots); + }, + transformReply: undefined +}; +//# sourceMappingURL=CLUSTER_ADDSLOTS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTS.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTS.js.map new file mode 100644 index 0000000..61d382b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_ADDSLOTS.js","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_ADDSLOTS.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,KAA6B;QAC/D,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACnC,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTSRANGE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTSRANGE.d.ts new file mode 100644 index 0000000..0f14cb2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTSRANGE.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +import { SlotRange } from './generic-transformers'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Assigns hash slot ranges to the current node in a Redis Cluster + * @param parser - The Redis command parser + * @param ranges - One or more slot ranges to be assigned, each specified as [start, end] + */ + readonly parseCommand: (this: void, parser: CommandParser, ranges: SlotRange | Array) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=CLUSTER_ADDSLOTSRANGE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTSRANGE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTSRANGE.d.ts.map new file mode 100644 index 0000000..213c79c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTSRANGE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_ADDSLOTSRANGE.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_ADDSLOTSRANGE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;AAC3D,OAAO,EAA4B,SAAS,EAAE,MAAM,wBAAwB,CAAC;;;;IAK3E;;;;OAIG;gDACkB,aAAa,UAAU,SAAS,GAAG,MAAM,SAAS,CAAC;mCAI1B,kBAAkB,IAAI,CAAC;;AAZvE,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTSRANGE.js b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTSRANGE.js new file mode 100644 index 0000000..4733145 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTSRANGE.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Assigns hash slot ranges to the current node in a Redis Cluster + * @param parser - The Redis command parser + * @param ranges - One or more slot ranges to be assigned, each specified as [start, end] + */ + parseCommand(parser, ranges) { + parser.push('CLUSTER', 'ADDSLOTSRANGE'); + (0, generic_transformers_1.parseSlotRangesArguments)(parser, ranges); + }, + transformReply: undefined +}; +//# sourceMappingURL=CLUSTER_ADDSLOTSRANGE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTSRANGE.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTSRANGE.js.map new file mode 100644 index 0000000..94167fa --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_ADDSLOTSRANGE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_ADDSLOTSRANGE.js","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_ADDSLOTSRANGE.ts"],"names":[],"mappings":";;AAEA,iEAA6E;AAE7E,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,MAAoC;QACtE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QACxC,IAAA,+CAAwB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_BUMPEPOCH.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_BUMPEPOCH.d.ts new file mode 100644 index 0000000..1c5279d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_BUMPEPOCH.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Advances the cluster config epoch + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => SimpleStringReply<'BUMPED' | 'STILL'>; +}; +export default _default; +//# sourceMappingURL=CLUSTER_BUMPEPOCH.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_BUMPEPOCH.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_BUMPEPOCH.d.ts.map new file mode 100644 index 0000000..f1fd6f0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_BUMPEPOCH.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_BUMPEPOCH.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_BUMPEPOCH.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKzD;;;OAGG;gDACkB,aAAa;mCAGY,kBAAkB,QAAQ,GAAG,OAAO,CAAC;;AAVrF,wBAW6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_BUMPEPOCH.js b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_BUMPEPOCH.js new file mode 100644 index 0000000..a06e22c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_BUMPEPOCH.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Advances the cluster config epoch + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('CLUSTER', 'BUMPEPOCH'); + }, + transformReply: undefined +}; +//# sourceMappingURL=CLUSTER_BUMPEPOCH.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_BUMPEPOCH.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_BUMPEPOCH.js.map new file mode 100644 index 0000000..1ea4093 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_BUMPEPOCH.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_BUMPEPOCH.js","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_BUMPEPOCH.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACtC,CAAC;IACD,cAAc,EAAE,SAAmE;CACzD,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNT-FAILURE-REPORTS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNT-FAILURE-REPORTS.d.ts new file mode 100644 index 0000000..b3a7f1b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNT-FAILURE-REPORTS.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns the number of failure reports for a given node + * @param parser - The Redis command parser + * @param nodeId - The ID of the node to check + */ + readonly parseCommand: (this: void, parser: CommandParser, nodeId: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=CLUSTER_COUNT-FAILURE-REPORTS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNT-FAILURE-REPORTS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNT-FAILURE-REPORTS.d.ts.map new file mode 100644 index 0000000..f35d16e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNT-FAILURE-REPORTS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_COUNT-FAILURE-REPORTS.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_COUNT-FAILURE-REPORTS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;;IAKlE;;;;OAIG;gDACkB,aAAa,UAAU,aAAa;mCAGX,WAAW;;AAX3D,wBAY6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNT-FAILURE-REPORTS.js b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNT-FAILURE-REPORTS.js new file mode 100644 index 0000000..0bf81ec --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNT-FAILURE-REPORTS.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns the number of failure reports for a given node + * @param parser - The Redis command parser + * @param nodeId - The ID of the node to check + */ + parseCommand(parser, nodeId) { + parser.push('CLUSTER', 'COUNT-FAILURE-REPORTS', nodeId); + }, + transformReply: undefined +}; +//# sourceMappingURL=CLUSTER_COUNT-FAILURE-REPORTS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNT-FAILURE-REPORTS.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNT-FAILURE-REPORTS.js.map new file mode 100644 index 0000000..ace8f39 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNT-FAILURE-REPORTS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_COUNT-FAILURE-REPORTS.js","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_COUNT-FAILURE-REPORTS.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,MAAqB;QACvD,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAuB,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNTKEYSINSLOT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNTKEYSINSLOT.d.ts new file mode 100644 index 0000000..c8b20ca --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNTKEYSINSLOT.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns the number of keys in the specified hash slot + * @param parser - The Redis command parser + * @param slot - The hash slot to check + */ + readonly parseCommand: (this: void, parser: CommandParser, slot: number) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=CLUSTER_COUNTKEYSINSLOT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNTKEYSINSLOT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNTKEYSINSLOT.d.ts.map new file mode 100644 index 0000000..9b2bc64 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNTKEYSINSLOT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_COUNTKEYSINSLOT.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_COUNTKEYSINSLOT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;;IAKnD;;;;OAIG;gDACkB,aAAa,QAAQ,MAAM;mCAGF,WAAW;;AAX3D,wBAY6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNTKEYSINSLOT.js b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNTKEYSINSLOT.js new file mode 100644 index 0000000..e7eb9e0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNTKEYSINSLOT.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns the number of keys in the specified hash slot + * @param parser - The Redis command parser + * @param slot - The hash slot to check + */ + parseCommand(parser, slot) { + parser.push('CLUSTER', 'COUNTKEYSINSLOT', slot.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=CLUSTER_COUNTKEYSINSLOT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNTKEYSINSLOT.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNTKEYSINSLOT.js.map new file mode 100644 index 0000000..57d56b8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_COUNTKEYSINSLOT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_COUNTKEYSINSLOT.js","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_COUNTKEYSINSLOT.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,IAAY;QAC9C,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTS.d.ts new file mode 100644 index 0000000..e729e0c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTS.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Removes hash slots from the current node in a Redis Cluster + * @param parser - The Redis command parser + * @param slots - One or more hash slots to be removed + */ + readonly parseCommand: (this: void, parser: CommandParser, slots: number | Array) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=CLUSTER_DELSLOTS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTS.d.ts.map new file mode 100644 index 0000000..b8e4c51 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_DELSLOTS.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_DELSLOTS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKzD;;;;OAIG;gDACkB,aAAa,SAAS,MAAM,GAAG,MAAM,MAAM,CAAC;mCAInB,kBAAkB,IAAI,CAAC;;AAZvE,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTS.js b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTS.js new file mode 100644 index 0000000..49aeeb1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTS.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Removes hash slots from the current node in a Redis Cluster + * @param parser - The Redis command parser + * @param slots - One or more hash slots to be removed + */ + parseCommand(parser, slots) { + parser.push('CLUSTER', 'DELSLOTS'); + parser.pushVariadicNumber(slots); + }, + transformReply: undefined +}; +//# sourceMappingURL=CLUSTER_DELSLOTS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTS.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTS.js.map new file mode 100644 index 0000000..e896946 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_DELSLOTS.js","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_DELSLOTS.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,KAA6B;QAC/D,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACnC,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTSRANGE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTSRANGE.d.ts new file mode 100644 index 0000000..5a24ee3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTSRANGE.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +import { SlotRange } from './generic-transformers'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Removes hash slot ranges from the current node in a Redis Cluster + * @param parser - The Redis command parser + * @param ranges - One or more slot ranges to be removed, each specified as [start, end] + */ + readonly parseCommand: (this: void, parser: CommandParser, ranges: SlotRange | Array) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=CLUSTER_DELSLOTSRANGE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTSRANGE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTSRANGE.d.ts.map new file mode 100644 index 0000000..0a106c5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTSRANGE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_DELSLOTSRANGE.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_DELSLOTSRANGE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;AAC3D,OAAO,EAA4B,SAAS,EAAE,MAAM,wBAAwB,CAAC;;;;IAK3E;;;;OAIG;gDACiB,aAAa,UAAU,SAAS,GAAG,MAAM,SAAS,CAAC;mCAIzB,kBAAkB,IAAI,CAAC;;AAZvE,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTSRANGE.js b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTSRANGE.js new file mode 100644 index 0000000..475eef8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTSRANGE.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Removes hash slot ranges from the current node in a Redis Cluster + * @param parser - The Redis command parser + * @param ranges - One or more slot ranges to be removed, each specified as [start, end] + */ + parseCommand(parser, ranges) { + parser.push('CLUSTER', 'DELSLOTSRANGE'); + (0, generic_transformers_1.parseSlotRangesArguments)(parser, ranges); + }, + transformReply: undefined +}; +//# sourceMappingURL=CLUSTER_DELSLOTSRANGE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTSRANGE.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTSRANGE.js.map new file mode 100644 index 0000000..7232043 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_DELSLOTSRANGE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_DELSLOTSRANGE.js","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_DELSLOTSRANGE.ts"],"names":[],"mappings":";;AAEA,iEAA6E;AAE7E,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAoB,EAAE,MAAoC;QACrE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QACxC,IAAA,+CAAwB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FAILOVER.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FAILOVER.d.ts new file mode 100644 index 0000000..62a3c8e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FAILOVER.d.ts @@ -0,0 +1,23 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +export declare const FAILOVER_MODES: { + readonly FORCE: "FORCE"; + readonly TAKEOVER: "TAKEOVER"; +}; +export type FailoverMode = typeof FAILOVER_MODES[keyof typeof FAILOVER_MODES]; +export interface ClusterFailoverOptions { + mode?: FailoverMode; +} +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Forces a replica to perform a manual failover of its master + * @param parser - The Redis command parser + * @param options - Optional configuration with FORCE or TAKEOVER mode + */ + readonly parseCommand: (this: void, parser: CommandParser, options?: ClusterFailoverOptions) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=CLUSTER_FAILOVER.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FAILOVER.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FAILOVER.d.ts.map new file mode 100644 index 0000000..d2e7314 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FAILOVER.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_FAILOVER.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_FAILOVER.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;AAE3D,eAAO,MAAM,cAAc;;;CAGjB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,OAAO,cAAc,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAE9E,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,YAAY,CAAC;CACrB;;;;IAKC;;;;OAIG;gDACiB,aAAa,YAAY,sBAAsB;mCAOrB,kBAAkB,IAAI,CAAC;;AAfvE,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FAILOVER.js b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FAILOVER.js new file mode 100644 index 0000000..3e88815 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FAILOVER.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FAILOVER_MODES = void 0; +exports.FAILOVER_MODES = { + FORCE: 'FORCE', + TAKEOVER: 'TAKEOVER' +}; +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Forces a replica to perform a manual failover of its master + * @param parser - The Redis command parser + * @param options - Optional configuration with FORCE or TAKEOVER mode + */ + parseCommand(parser, options) { + parser.push('CLUSTER', 'FAILOVER'); + if (options?.mode) { + parser.push(options.mode); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=CLUSTER_FAILOVER.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FAILOVER.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FAILOVER.js.map new file mode 100644 index 0000000..8d37b68 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FAILOVER.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_FAILOVER.js","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_FAILOVER.ts"],"names":[],"mappings":";;;AAGa,QAAA,cAAc,GAAG;IAC5B,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;CACZ,CAAC;AAQX,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAoB,EAAE,OAAgC;QACjE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAEnC,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FLUSHSLOTS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FLUSHSLOTS.d.ts new file mode 100644 index 0000000..f41acdf --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FLUSHSLOTS.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Deletes all hash slots from the current node in a Redis Cluster + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=CLUSTER_FLUSHSLOTS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FLUSHSLOTS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FLUSHSLOTS.d.ts.map new file mode 100644 index 0000000..8b10aeb --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FLUSHSLOTS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_FLUSHSLOTS.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_FLUSHSLOTS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKzD;;;OAGG;gDACkB,aAAa;mCAGY,kBAAkB,IAAI,CAAC;;AAVvE,wBAW6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FLUSHSLOTS.js b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FLUSHSLOTS.js new file mode 100644 index 0000000..e92d95b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FLUSHSLOTS.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Deletes all hash slots from the current node in a Redis Cluster + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('CLUSTER', 'FLUSHSLOTS'); + }, + transformReply: undefined +}; +//# sourceMappingURL=CLUSTER_FLUSHSLOTS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FLUSHSLOTS.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FLUSHSLOTS.js.map new file mode 100644 index 0000000..07a8680 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FLUSHSLOTS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_FLUSHSLOTS.js","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_FLUSHSLOTS.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACvC,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FORGET.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FORGET.d.ts new file mode 100644 index 0000000..9d8df1e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FORGET.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Removes a node from the cluster + * @param parser - The Redis command parser + * @param nodeId - The ID of the node to remove + */ + readonly parseCommand: (this: void, parser: CommandParser, nodeId: RedisArgument) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=CLUSTER_FORGET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FORGET.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FORGET.d.ts.map new file mode 100644 index 0000000..981c33c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FORGET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_FORGET.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_FORGET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKxE;;;;OAIG;gDACkB,aAAa,UAAU,aAAa;mCAGX,kBAAkB,IAAI,CAAC;;AAXvE,wBAY6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FORGET.js b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FORGET.js new file mode 100644 index 0000000..2e75844 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FORGET.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Removes a node from the cluster + * @param parser - The Redis command parser + * @param nodeId - The ID of the node to remove + */ + parseCommand(parser, nodeId) { + parser.push('CLUSTER', 'FORGET', nodeId); + }, + transformReply: undefined +}; +//# sourceMappingURL=CLUSTER_FORGET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FORGET.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FORGET.js.map new file mode 100644 index 0000000..7404513 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_FORGET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_FORGET.js","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_FORGET.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,MAAqB;QACvD,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_GETKEYSINSLOT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_GETKEYSINSLOT.d.ts new file mode 100644 index 0000000..51f25d2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_GETKEYSINSLOT.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { ArrayReply, BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns a number of keys from the specified hash slot + * @param parser - The Redis command parser + * @param slot - The hash slot to get keys from + * @param count - Maximum number of keys to return + */ + readonly parseCommand: (this: void, parser: CommandParser, slot: number, count: number) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=CLUSTER_GETKEYSINSLOT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_GETKEYSINSLOT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_GETKEYSINSLOT.d.ts.map new file mode 100644 index 0000000..719da17 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_GETKEYSINSLOT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_GETKEYSINSLOT.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_GETKEYSINSLOT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;;IAKnE;;;;;OAKG;gDACkB,aAAa,QAAQ,MAAM,SAAS,MAAM;mCAGjB,WAAW,eAAe,CAAC;;AAZ3E,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_GETKEYSINSLOT.js b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_GETKEYSINSLOT.js new file mode 100644 index 0000000..f12f6b4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_GETKEYSINSLOT.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns a number of keys from the specified hash slot + * @param parser - The Redis command parser + * @param slot - The hash slot to get keys from + * @param count - Maximum number of keys to return + */ + parseCommand(parser, slot, count) { + parser.push('CLUSTER', 'GETKEYSINSLOT', slot.toString(), count.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=CLUSTER_GETKEYSINSLOT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_GETKEYSINSLOT.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_GETKEYSINSLOT.js.map new file mode 100644 index 0000000..c569ba8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_GETKEYSINSLOT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_GETKEYSINSLOT.js","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_GETKEYSINSLOT.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,IAAY,EAAE,KAAa;QAC7D,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_INFO.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_INFO.d.ts new file mode 100644 index 0000000..cb29300 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_INFO.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { VerbatimStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns information about the state of a Redis Cluster + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => VerbatimStringReply; +}; +export default _default; +//# sourceMappingURL=CLUSTER_INFO.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_INFO.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_INFO.d.ts.map new file mode 100644 index 0000000..bae4d57 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_INFO.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_INFO.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_INFO.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAW,MAAM,eAAe,CAAC;;;;IAK3D;;;OAGG;gDACkB,aAAa;mCAGY,mBAAmB;;AAVnE,wBAW6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_INFO.js b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_INFO.js new file mode 100644 index 0000000..0be040d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_INFO.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns information about the state of a Redis Cluster + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('CLUSTER', 'INFO'); + }, + transformReply: undefined +}; +//# sourceMappingURL=CLUSTER_INFO.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_INFO.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_INFO.js.map new file mode 100644 index 0000000..86c058b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_INFO.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_INFO.js","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_INFO.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IACD,cAAc,EAAE,SAAiD;CACvC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_KEYSLOT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_KEYSLOT.d.ts new file mode 100644 index 0000000..1e6b093 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_KEYSLOT.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply, RedisArgument } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns the hash slot number for a given key + * @param parser - The Redis command parser + * @param key - The key to get the hash slot for + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=CLUSTER_KEYSLOT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_KEYSLOT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_KEYSLOT.d.ts.map new file mode 100644 index 0000000..b55726e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_KEYSLOT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_KEYSLOT.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_KEYSLOT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAW,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;;;;IAKlE;;;;OAIG;gDACkB,aAAa,OAAO,aAAa;mCAGR,WAAW;;AAX3D,wBAY6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_KEYSLOT.js b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_KEYSLOT.js new file mode 100644 index 0000000..9a20fd0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_KEYSLOT.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns the hash slot number for a given key + * @param parser - The Redis command parser + * @param key - The key to get the hash slot for + */ + parseCommand(parser, key) { + parser.push('CLUSTER', 'KEYSLOT', key); + }, + transformReply: undefined +}; +//# sourceMappingURL=CLUSTER_KEYSLOT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_KEYSLOT.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_KEYSLOT.js.map new file mode 100644 index 0000000..f313761 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_KEYSLOT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_KEYSLOT.js","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_KEYSLOT.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_LINKS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_LINKS.d.ts new file mode 100644 index 0000000..a60e7c9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_LINKS.d.ts @@ -0,0 +1,50 @@ +import { CommandParser } from '../client/parser'; +import { ArrayReply, TuplesToMapReply, BlobStringReply, NumberReply, UnwrapReply, Resp2Reply } from '../RESP/types'; +type ClusterLinksReply = ArrayReply, + BlobStringReply + ], + [ + BlobStringReply<'node'>, + BlobStringReply + ], + [ + BlobStringReply<'create-time'>, + NumberReply + ], + [ + BlobStringReply<'events'>, + BlobStringReply + ], + [ + BlobStringReply<'send-buffer-allocated'>, + NumberReply + ], + [ + BlobStringReply<'send-buffer-used'>, + NumberReply + ] +]>>; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns information about all cluster links (lower level connections to other nodes) + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: { + readonly 2: (reply: UnwrapReply>) => { + direction: BlobStringReply; + node: BlobStringReply; + 'create-time': NumberReply; + events: BlobStringReply; + 'send-buffer-allocated': NumberReply; + 'send-buffer-used': NumberReply; + }[]; + readonly 3: () => ClusterLinksReply; + }; +}; +export default _default; +//# sourceMappingURL=CLUSTER_LINKS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_LINKS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_LINKS.d.ts.map new file mode 100644 index 0000000..e75681f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_LINKS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_LINKS.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_LINKS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAW,MAAM,eAAe,CAAC;AAE7H,KAAK,iBAAiB,GAAG,UAAU,CAAC,gBAAgB,CAAC;IACnD;QAAC,eAAe,CAAC,WAAW,CAAC;QAAE,eAAe;KAAC;IAC/C;QAAC,eAAe,CAAC,MAAM,CAAC;QAAE,eAAe;KAAC;IAC1C;QAAC,eAAe,CAAC,aAAa,CAAC;QAAE,WAAW;KAAC;IAC7C;QAAC,eAAe,CAAC,QAAQ,CAAC;QAAE,eAAe;KAAC;IAC5C;QAAC,eAAe,CAAC,uBAAuB,CAAC;QAAE,WAAW;KAAC;IACvD;QAAC,eAAe,CAAC,kBAAkB,CAAC;QAAE,WAAW;KAAC;CACnD,CAAC,CAAC,CAAC;;;;IAKF;;;OAGG;gDACkB,aAAa;;4BAIrB,YAAY,WAAW,iBAAiB,CAAC,CAAC;;;;;;;;;;;AAXzD,wBAwB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_LINKS.js b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_LINKS.js new file mode 100644 index 0000000..2c606d0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_LINKS.js @@ -0,0 +1,28 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns information about all cluster links (lower level connections to other nodes) + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('CLUSTER', 'LINKS'); + }, + transformReply: { + 2: (reply) => reply.map(link => { + const unwrapped = link; + return { + direction: unwrapped[1], + node: unwrapped[3], + 'create-time': unwrapped[5], + events: unwrapped[7], + 'send-buffer-allocated': unwrapped[9], + 'send-buffer-used': unwrapped[11] + }; + }), + 3: undefined + } +}; +//# sourceMappingURL=CLUSTER_LINKS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_LINKS.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_LINKS.js.map new file mode 100644 index 0000000..1d5883e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_LINKS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_LINKS.js","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_LINKS.ts"],"names":[],"mappings":";;AAYA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAAiD,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACzE,MAAM,SAAS,GAAG,IAA2C,CAAC;YAC9D,OAAO;gBACL,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;gBACvB,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBAClB,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC3B,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;gBACpB,uBAAuB,EAAE,SAAS,CAAC,CAAC,CAAC;gBACrC,kBAAkB,EAAE,SAAS,CAAC,EAAE,CAAC;aAClC,CAAC;QACJ,CAAC,CAAC;QACF,CAAC,EAAE,SAA+C;KACnD;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MEET.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MEET.d.ts new file mode 100644 index 0000000..9042176 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MEET.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Initiates a handshake with another node in the cluster + * @param parser - The Redis command parser + * @param host - Host name or IP address of the node + * @param port - TCP port of the node + */ + readonly parseCommand: (this: void, parser: CommandParser, host: string, port: number) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=CLUSTER_MEET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MEET.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MEET.d.ts.map new file mode 100644 index 0000000..b1e2246 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MEET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_MEET.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_MEET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKzD;;;;;OAKG;gDACkB,aAAa,QAAQ,MAAM,QAAQ,MAAM;mCAGhB,kBAAkB,IAAI,CAAC;;AAZvE,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MEET.js b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MEET.js new file mode 100644 index 0000000..3576e2e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MEET.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Initiates a handshake with another node in the cluster + * @param parser - The Redis command parser + * @param host - Host name or IP address of the node + * @param port - TCP port of the node + */ + parseCommand(parser, host, port) { + parser.push('CLUSTER', 'MEET', host, port.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=CLUSTER_MEET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MEET.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MEET.js.map new file mode 100644 index 0000000..8b76ca3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MEET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_MEET.js","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_MEET.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,IAAY,EAAE,IAAY;QAC5D,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYID.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYID.d.ts new file mode 100644 index 0000000..12bdd87 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYID.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns the node ID of the current Redis Cluster node + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => BlobStringReply; +}; +export default _default; +//# sourceMappingURL=CLUSTER_MYID.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYID.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYID.d.ts.map new file mode 100644 index 0000000..313d1a3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYID.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_MYID.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_MYID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;;IAKvD;;;OAGG;gDACkB,aAAa;mCAGY,eAAe;;AAV/D,wBAW6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYID.js b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYID.js new file mode 100644 index 0000000..15b622e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYID.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns the node ID of the current Redis Cluster node + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('CLUSTER', 'MYID'); + }, + transformReply: undefined +}; +//# sourceMappingURL=CLUSTER_MYID.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYID.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYID.js.map new file mode 100644 index 0000000..a4b447f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYID.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_MYID.js","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_MYID.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IACD,cAAc,EAAE,SAA6C;CACnC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYSHARDID.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYSHARDID.d.ts new file mode 100644 index 0000000..35cf84f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYSHARDID.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns the shard ID of the current Redis Cluster node + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => BlobStringReply; +}; +export default _default; +//# sourceMappingURL=CLUSTER_MYSHARDID.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYSHARDID.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYSHARDID.d.ts.map new file mode 100644 index 0000000..eb5e1cd --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYSHARDID.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_MYSHARDID.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_MYSHARDID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;;IAKvD;;;OAGG;gDACkB,aAAa;mCAGY,eAAe;;AAV/D,wBAW6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYSHARDID.js b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYSHARDID.js new file mode 100644 index 0000000..69abfcf --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYSHARDID.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns the shard ID of the current Redis Cluster node + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('CLUSTER', 'MYSHARDID'); + }, + transformReply: undefined +}; +//# sourceMappingURL=CLUSTER_MYSHARDID.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYSHARDID.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYSHARDID.js.map new file mode 100644 index 0000000..5d165e0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_MYSHARDID.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_MYSHARDID.js","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_MYSHARDID.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACtC,CAAC;IACD,cAAc,EAAE,SAA6C;CACnC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_NODES.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_NODES.d.ts new file mode 100644 index 0000000..81b85e1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_NODES.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { VerbatimStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns serialized information about the nodes in a Redis Cluster + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => VerbatimStringReply; +}; +export default _default; +//# sourceMappingURL=CLUSTER_NODES.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_NODES.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_NODES.d.ts.map new file mode 100644 index 0000000..9b9b651 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_NODES.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_NODES.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_NODES.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAW,MAAM,eAAe,CAAC;;;;IAK3D;;;OAGG;gDACkB,aAAa;mCAGY,mBAAmB;;AAVnE,wBAW6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_NODES.js b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_NODES.js new file mode 100644 index 0000000..7bee88c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_NODES.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns serialized information about the nodes in a Redis Cluster + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('CLUSTER', 'NODES'); + }, + transformReply: undefined +}; +//# sourceMappingURL=CLUSTER_NODES.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_NODES.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_NODES.js.map new file mode 100644 index 0000000..a016e5f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_NODES.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_NODES.js","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_NODES.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IACD,cAAc,EAAE,SAAiD;CACvC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICAS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICAS.d.ts new file mode 100644 index 0000000..831eb28 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICAS.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns the replica nodes replicating from the specified primary node + * @param parser - The Redis command parser + * @param nodeId - Node ID of the primary node + */ + readonly parseCommand: (this: void, parser: CommandParser, nodeId: RedisArgument) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=CLUSTER_REPLICAS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICAS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICAS.d.ts.map new file mode 100644 index 0000000..45cc1f9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICAS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_REPLICAS.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_REPLICAS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;;IAKlF;;;;OAIG;gDACkB,aAAa,UAAU,aAAa;mCAGX,WAAW,eAAe,CAAC;;AAX3E,wBAY6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICAS.js b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICAS.js new file mode 100644 index 0000000..52cdd5b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICAS.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns the replica nodes replicating from the specified primary node + * @param parser - The Redis command parser + * @param nodeId - Node ID of the primary node + */ + parseCommand(parser, nodeId) { + parser.push('CLUSTER', 'REPLICAS', nodeId); + }, + transformReply: undefined +}; +//# sourceMappingURL=CLUSTER_REPLICAS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICAS.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICAS.js.map new file mode 100644 index 0000000..2e0bdb9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICAS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_REPLICAS.js","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_REPLICAS.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,MAAqB;QACvD,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICATE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICATE.d.ts new file mode 100644 index 0000000..a2aa893 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICATE.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Reconfigures a node as a replica of the specified primary node + * @param parser - The Redis command parser + * @param nodeId - Node ID of the primary node to replicate + */ + readonly parseCommand: (this: void, parser: CommandParser, nodeId: RedisArgument) => void; + readonly transformReply: () => SimpleStringReply; +}; +export default _default; +//# sourceMappingURL=CLUSTER_REPLICATE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICATE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICATE.d.ts.map new file mode 100644 index 0000000..505f8c0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICATE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_REPLICATE.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_REPLICATE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKxE;;;;OAIG;gDACkB,aAAa,UAAU,aAAa;mCAGX,iBAAiB;;AAXjE,wBAY6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICATE.js b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICATE.js new file mode 100644 index 0000000..d2d8f8c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICATE.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Reconfigures a node as a replica of the specified primary node + * @param parser - The Redis command parser + * @param nodeId - Node ID of the primary node to replicate + */ + parseCommand(parser, nodeId) { + parser.push('CLUSTER', 'REPLICATE', nodeId); + }, + transformReply: undefined +}; +//# sourceMappingURL=CLUSTER_REPLICATE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICATE.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICATE.js.map new file mode 100644 index 0000000..b359b57 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_REPLICATE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_REPLICATE.js","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_REPLICATE.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,MAAqB;QACvD,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IACD,cAAc,EAAE,SAA+C;CACrC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_RESET.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_RESET.d.ts new file mode 100644 index 0000000..31eeefe --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_RESET.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +export interface ClusterResetOptions { + mode?: 'HARD' | 'SOFT'; +} +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Resets a Redis Cluster node, clearing all information and returning it to a brand new state + * @param parser - The Redis command parser + * @param options - Options for the reset operation + */ + readonly parseCommand: (this: void, parser: CommandParser, options?: ClusterResetOptions) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=CLUSTER_RESET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_RESET.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_RESET.d.ts.map new file mode 100644 index 0000000..137c549 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_RESET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_RESET.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_RESET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;;;;IAKC;;;;OAIG;gDACkB,aAAa,YAAY,mBAAmB;mCAOnB,kBAAkB,IAAI,CAAC;;AAfvE,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_RESET.js b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_RESET.js new file mode 100644 index 0000000..d99c355 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_RESET.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Resets a Redis Cluster node, clearing all information and returning it to a brand new state + * @param parser - The Redis command parser + * @param options - Options for the reset operation + */ + parseCommand(parser, options) { + parser.push('CLUSTER', 'RESET'); + if (options?.mode) { + parser.push(options.mode); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=CLUSTER_RESET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_RESET.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_RESET.js.map new file mode 100644 index 0000000..5046a99 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_RESET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_RESET.js","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_RESET.ts"],"names":[],"mappings":";;AAOA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,OAA6B;QAC/D,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEhC,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SAVECONFIG.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SAVECONFIG.d.ts new file mode 100644 index 0000000..d890b5e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SAVECONFIG.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Forces a Redis Cluster node to save the cluster configuration to disk + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=CLUSTER_SAVECONFIG.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SAVECONFIG.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SAVECONFIG.d.ts.map new file mode 100644 index 0000000..0d95945 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SAVECONFIG.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_SAVECONFIG.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_SAVECONFIG.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKzD;;;OAGG;gDACkB,aAAa;mCAGY,kBAAkB,IAAI,CAAC;;AAVvE,wBAW6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SAVECONFIG.js b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SAVECONFIG.js new file mode 100644 index 0000000..33036a5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SAVECONFIG.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Forces a Redis Cluster node to save the cluster configuration to disk + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('CLUSTER', 'SAVECONFIG'); + }, + transformReply: undefined +}; +//# sourceMappingURL=CLUSTER_SAVECONFIG.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SAVECONFIG.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SAVECONFIG.js.map new file mode 100644 index 0000000..7e27fcf --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SAVECONFIG.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_SAVECONFIG.js","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_SAVECONFIG.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACvC,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SET-CONFIG-EPOCH.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SET-CONFIG-EPOCH.d.ts new file mode 100644 index 0000000..0dceac5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SET-CONFIG-EPOCH.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Sets the configuration epoch for a Redis Cluster node + * @param parser - The Redis command parser + * @param configEpoch - The configuration epoch to set + */ + readonly parseCommand: (this: void, parser: CommandParser, configEpoch: number) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=CLUSTER_SET-CONFIG-EPOCH.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SET-CONFIG-EPOCH.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SET-CONFIG-EPOCH.d.ts.map new file mode 100644 index 0000000..32c8f8a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SET-CONFIG-EPOCH.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_SET-CONFIG-EPOCH.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_SET-CONFIG-EPOCH.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKzD;;;;OAIG;gDACkB,aAAa,eAAe,MAAM;mCAGT,kBAAkB,IAAI,CAAC;;AAXvE,wBAY6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SET-CONFIG-EPOCH.js b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SET-CONFIG-EPOCH.js new file mode 100644 index 0000000..f2e2d10 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SET-CONFIG-EPOCH.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Sets the configuration epoch for a Redis Cluster node + * @param parser - The Redis command parser + * @param configEpoch - The configuration epoch to set + */ + parseCommand(parser, configEpoch) { + parser.push('CLUSTER', 'SET-CONFIG-EPOCH', configEpoch.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=CLUSTER_SET-CONFIG-EPOCH.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SET-CONFIG-EPOCH.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SET-CONFIG-EPOCH.js.map new file mode 100644 index 0000000..e5dc699 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SET-CONFIG-EPOCH.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_SET-CONFIG-EPOCH.js","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_SET-CONFIG-EPOCH.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,WAAmB;QACrD,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SETSLOT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SETSLOT.d.ts new file mode 100644 index 0000000..809429d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SETSLOT.d.ts @@ -0,0 +1,24 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, SimpleStringReply } from '../RESP/types'; +export declare const CLUSTER_SLOT_STATES: { + readonly IMPORTING: "IMPORTING"; + readonly MIGRATING: "MIGRATING"; + readonly STABLE: "STABLE"; + readonly NODE: "NODE"; +}; +export type ClusterSlotState = typeof CLUSTER_SLOT_STATES[keyof typeof CLUSTER_SLOT_STATES]; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Assigns a hash slot to a specific Redis Cluster node + * @param parser - The Redis command parser + * @param slot - The slot number to assign + * @param state - The state to set for the slot (IMPORTING, MIGRATING, STABLE, NODE) + * @param nodeId - Node ID (required for IMPORTING, MIGRATING, and NODE states) + */ + readonly parseCommand: (this: void, parser: CommandParser, slot: number, state: ClusterSlotState, nodeId?: RedisArgument) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=CLUSTER_SETSLOT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SETSLOT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SETSLOT.d.ts.map new file mode 100644 index 0000000..911dbbc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SETSLOT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_SETSLOT.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_SETSLOT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;AAE1E,eAAO,MAAM,mBAAmB;;;;;CAKtB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,OAAO,mBAAmB,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;;;;IAK1F;;;;;;OAMG;gDACkB,aAAa,QAAQ,MAAM,SAAS,gBAAgB,WAAW,aAAa;mCAOnD,kBAAkB,IAAI,CAAC;;AAjBvE,wBAkB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SETSLOT.js b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SETSLOT.js new file mode 100644 index 0000000..1ba31d3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SETSLOT.js @@ -0,0 +1,28 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CLUSTER_SLOT_STATES = void 0; +exports.CLUSTER_SLOT_STATES = { + IMPORTING: 'IMPORTING', + MIGRATING: 'MIGRATING', + STABLE: 'STABLE', + NODE: 'NODE' +}; +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Assigns a hash slot to a specific Redis Cluster node + * @param parser - The Redis command parser + * @param slot - The slot number to assign + * @param state - The state to set for the slot (IMPORTING, MIGRATING, STABLE, NODE) + * @param nodeId - Node ID (required for IMPORTING, MIGRATING, and NODE states) + */ + parseCommand(parser, slot, state, nodeId) { + parser.push('CLUSTER', 'SETSLOT', slot.toString(), state); + if (nodeId) { + parser.push(nodeId); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=CLUSTER_SETSLOT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SETSLOT.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SETSLOT.js.map new file mode 100644 index 0000000..7d04f0d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SETSLOT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_SETSLOT.js","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_SETSLOT.ts"],"names":[],"mappings":";;;AAGa,QAAA,mBAAmB,GAAG;IACjC,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;CACJ,CAAC;AAIX,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,IAAY,EAAE,KAAuB,EAAE,MAAsB;QAC/F,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;QAE1D,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SLOTS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SLOTS.d.ts new file mode 100644 index 0000000..6300133 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SLOTS.d.ts @@ -0,0 +1,44 @@ +import { CommandParser } from '../client/parser'; +import { TuplesReply, BlobStringReply, NumberReply, ArrayReply, UnwrapReply } from '../RESP/types'; +type RawNode = TuplesReply<[ + host: BlobStringReply, + port: NumberReply, + id: BlobStringReply +]>; +type ClusterSlotsRawReply = ArrayReply<[ + from: NumberReply, + to: NumberReply, + master: RawNode, + ...replicas: Array +]>; +export type ClusterSlotsNode = ReturnType; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns information about which Redis Cluster node handles which hash slots + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: (this: void, reply: UnwrapReply) => { + from: NumberReply; + to: NumberReply; + master: { + host: BlobStringReply; + port: NumberReply; + id: BlobStringReply; + }; + replicas: { + host: BlobStringReply; + port: NumberReply; + id: BlobStringReply; + }[]; + }[]; +}; +export default _default; +declare function transformNode(node: RawNode): { + host: BlobStringReply; + port: NumberReply; + id: BlobStringReply; +}; +//# sourceMappingURL=CLUSTER_SLOTS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SLOTS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SLOTS.d.ts.map new file mode 100644 index 0000000..168bf63 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SLOTS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_SLOTS.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_SLOTS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AAE5G,KAAK,OAAO,GAAG,WAAW,CAAC;IACzB,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,WAAW;IACjB,EAAE,EAAE,eAAe;CACpB,CAAC,CAAC;AAEH,KAAK,oBAAoB,GAAG,UAAU,CAAC;IACrC,IAAI,EAAE,WAAW;IACjB,EAAE,EAAE,WAAW;IACf,MAAM,EAAE,OAAO;IACf,GAAG,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;CAC5B,CAAC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;;;;IAK9D;;;OAGG;gDACkB,aAAa;iDAGZ,YAAY,oBAAoB,CAAC;;;;;;;;;;;;;;;AAVzD,wBAkB6B;AAE7B,iBAAS,aAAa,CAAC,IAAI,EAAE,OAAO;;;;EAOnC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SLOTS.js b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SLOTS.js new file mode 100644 index 0000000..204b8b4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SLOTS.js @@ -0,0 +1,30 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns information about which Redis Cluster node handles which hash slots + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('CLUSTER', 'SLOTS'); + }, + transformReply(reply) { + return reply.map(([from, to, master, ...replicas]) => ({ + from, + to, + master: transformNode(master), + replicas: replicas.map(transformNode) + })); + } +}; +function transformNode(node) { + const [host, port, id] = node; + return { + host, + port, + id + }; +} +//# sourceMappingURL=CLUSTER_SLOTS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SLOTS.js.map b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SLOTS.js.map new file mode 100644 index 0000000..5133f75 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CLUSTER_SLOTS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLUSTER_SLOTS.js","sourceRoot":"","sources":["../../../lib/commands/CLUSTER_SLOTS.ts"],"names":[],"mappings":";;AAkBA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IACD,cAAc,CAAC,KAAwC;QACrD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;YACrD,IAAI;YACJ,EAAE;YACF,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC;YAC7B,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC;SACtC,CAAC,CAAC,CAAC;IACN,CAAC;CACyB,CAAC;AAE7B,SAAS,aAAa,CAAC,IAAa;IAClC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,IAA2C,CAAC;IACrE,OAAO;QACL,IAAI;QACJ,IAAI;QACJ,EAAE;KACH,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/COMMAND.d.ts b/back/node_modules/@redis/client/dist/lib/commands/COMMAND.d.ts new file mode 100644 index 0000000..cc8213e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/COMMAND.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { ArrayReply, UnwrapReply } from '../RESP/types'; +import { CommandRawReply, CommandReply } from './generic-transformers'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns an array with details about all Redis commands + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: (this: void, reply: UnwrapReply>) => Array; +}; +export default _default; +//# sourceMappingURL=COMMAND.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/COMMAND.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/COMMAND.d.ts.map new file mode 100644 index 0000000..36d2dbb --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/COMMAND.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"COMMAND.d.ts","sourceRoot":"","sources":["../../../lib/commands/COMMAND.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAW,WAAW,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAyB,MAAM,wBAAwB,CAAC;;;;IAK5F;;;OAGG;gDACkB,aAAa;iDAIZ,YAAY,WAAW,eAAe,CAAC,CAAC,KAAG,MAAM,YAAY,CAAC;;AAXtF,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/COMMAND.js b/back/node_modules/@redis/client/dist/lib/commands/COMMAND.js new file mode 100644 index 0000000..9fe01dc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/COMMAND.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns an array with details about all Redis commands + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('COMMAND'); + }, + // TODO: This works, as we don't currently handle any of the items returned as a map + transformReply(reply) { + return reply.map(generic_transformers_1.transformCommandReply); + } +}; +//# sourceMappingURL=COMMAND.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/COMMAND.js.map b/back/node_modules/@redis/client/dist/lib/commands/COMMAND.js.map new file mode 100644 index 0000000..b11b0bd --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/COMMAND.js.map @@ -0,0 +1 @@ +{"version":3,"file":"COMMAND.js","sourceRoot":"","sources":["../../../lib/commands/COMMAND.ts"],"names":[],"mappings":";;AAEA,iEAA8F;AAE9F,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IACD,oFAAoF;IACpF,cAAc,CAAC,KAA+C;QAC5D,OAAO,KAAK,CAAC,GAAG,CAAC,4CAAqB,CAAC,CAAC;IAC1C,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/COMMAND_COUNT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_COUNT.d.ts new file mode 100644 index 0000000..d523a2e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_COUNT.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns the total number of commands available in the Redis server + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=COMMAND_COUNT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/COMMAND_COUNT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_COUNT.d.ts.map new file mode 100644 index 0000000..e27fb10 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_COUNT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"COMMAND_COUNT.d.ts","sourceRoot":"","sources":["../../../lib/commands/COMMAND_COUNT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;;IAKnD;;;OAGG;gDACkB,aAAa;mCAGY,WAAW;;AAV3D,wBAW6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/COMMAND_COUNT.js b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_COUNT.js new file mode 100644 index 0000000..80e8539 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_COUNT.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns the total number of commands available in the Redis server + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('COMMAND', 'COUNT'); + }, + transformReply: undefined +}; +//# sourceMappingURL=COMMAND_COUNT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/COMMAND_COUNT.js.map b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_COUNT.js.map new file mode 100644 index 0000000..bec18f1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_COUNT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"COMMAND_COUNT.js","sourceRoot":"","sources":["../../../lib/commands/COMMAND_COUNT.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYS.d.ts new file mode 100644 index 0000000..136198f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYS.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Extracts the key names from a Redis command + * @param parser - The Redis command parser + * @param args - Command arguments to analyze + */ + readonly parseCommand: (this: void, parser: CommandParser, args: Array) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=COMMAND_GETKEYS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYS.d.ts.map new file mode 100644 index 0000000..d3c0412 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"COMMAND_GETKEYS.d.ts","sourceRoot":"","sources":["../../../lib/commands/COMMAND_GETKEYS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;;IAKlF;;;;OAIG;gDACkB,aAAa,QAAQ,MAAM,aAAa,CAAC;mCAIhB,WAAW,eAAe,CAAC;;AAZ3E,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYS.js b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYS.js new file mode 100644 index 0000000..4ac402d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYS.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Extracts the key names from a Redis command + * @param parser - The Redis command parser + * @param args - Command arguments to analyze + */ + parseCommand(parser, args) { + parser.push('COMMAND', 'GETKEYS'); + parser.push(...args); + }, + transformReply: undefined +}; +//# sourceMappingURL=COMMAND_GETKEYS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYS.js.map b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYS.js.map new file mode 100644 index 0000000..2ff0bd9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"COMMAND_GETKEYS.js","sourceRoot":"","sources":["../../../lib/commands/COMMAND_GETKEYS.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,IAA0B;QAC5D,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACvB,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYSANDFLAGS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYSANDFLAGS.d.ts new file mode 100644 index 0000000..567d743 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYSANDFLAGS.d.ts @@ -0,0 +1,22 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, TuplesReply, BlobStringReply, SetReply, UnwrapReply } from '../RESP/types'; +export type CommandGetKeysAndFlagsRawReply = ArrayReply +]>>; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Extracts the key names and access flags from a Redis command + * @param parser - The Redis command parser + * @param args - Command arguments to analyze + */ + readonly parseCommand: (this: void, parser: CommandParser, args: Array) => void; + readonly transformReply: (this: void, reply: UnwrapReply) => { + key: BlobStringReply; + flags: SetReply>; + }[]; +}; +export default _default; +//# sourceMappingURL=COMMAND_GETKEYSANDFLAGS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYSANDFLAGS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYSANDFLAGS.d.ts.map new file mode 100644 index 0000000..191e9be --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYSANDFLAGS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"COMMAND_GETKEYSANDFLAGS.d.ts","sourceRoot":"","sources":["../../../lib/commands/COMMAND_GETKEYSANDFLAGS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AAExH,MAAM,MAAM,8BAA8B,GAAG,UAAU,CAAC,WAAW,CAAC;IAClE,GAAG,EAAE,eAAe;IACpB,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC;CACjC,CAAC,CAAC,CAAC;;;;IAKF;;;;OAIG;gDACkB,aAAa,QAAQ,MAAM,aAAa,CAAC;iDAIxC,YAAY,8BAA8B,CAAC;;;;;AAZnE,wBAqB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYSANDFLAGS.js b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYSANDFLAGS.js new file mode 100644 index 0000000..b370acb --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYSANDFLAGS.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Extracts the key names and access flags from a Redis command + * @param parser - The Redis command parser + * @param args - Command arguments to analyze + */ + parseCommand(parser, args) { + parser.push('COMMAND', 'GETKEYSANDFLAGS'); + parser.push(...args); + }, + transformReply(reply) { + return reply.map(entry => { + const [key, flags] = entry; + return { + key, + flags + }; + }); + } +}; +//# sourceMappingURL=COMMAND_GETKEYSANDFLAGS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYSANDFLAGS.js.map b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYSANDFLAGS.js.map new file mode 100644 index 0000000..12145b0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_GETKEYSANDFLAGS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"COMMAND_GETKEYSANDFLAGS.js","sourceRoot":"","sources":["../../../lib/commands/COMMAND_GETKEYSANDFLAGS.ts"],"names":[],"mappings":";;AAQA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,IAA0B;QAC5D,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACvB,CAAC;IACD,cAAc,CAAC,KAAkD;QAC/D,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACvB,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,KAA6C,CAAC;YACnE,OAAO;gBACL,GAAG;gBACH,KAAK;aACN,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/COMMAND_INFO.d.ts b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_INFO.d.ts new file mode 100644 index 0000000..bf38102 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_INFO.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { ArrayReply, UnwrapReply } from '../RESP/types'; +import { CommandRawReply, CommandReply } from './generic-transformers'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns details about specific Redis commands + * @param parser - The Redis command parser + * @param commands - Array of command names to get information about + */ + readonly parseCommand: (this: void, parser: CommandParser, commands: Array) => void; + readonly transformReply: (this: void, reply: UnwrapReply>) => Array; +}; +export default _default; +//# sourceMappingURL=COMMAND_INFO.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/COMMAND_INFO.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_INFO.d.ts.map new file mode 100644 index 0000000..0f13cfa --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_INFO.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"COMMAND_INFO.d.ts","sourceRoot":"","sources":["../../../lib/commands/COMMAND_INFO.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAW,WAAW,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAyB,MAAM,wBAAwB,CAAC;;;;IAK5F;;;;OAIG;gDACkB,aAAa,YAAY,MAAM,MAAM,CAAC;iDAIrC,YAAY,WAAW,eAAe,CAAC,CAAC,KAAG,MAAM,YAAY,GAAG,IAAI,CAAC;;AAZ7F,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/COMMAND_INFO.js b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_INFO.js new file mode 100644 index 0000000..82f1219 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_INFO.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns details about specific Redis commands + * @param parser - The Redis command parser + * @param commands - Array of command names to get information about + */ + parseCommand(parser, commands) { + parser.push('COMMAND', 'INFO', ...commands); + }, + // TODO: This works, as we don't currently handle any of the items returned as a map + transformReply(reply) { + return reply.map(command => command ? (0, generic_transformers_1.transformCommandReply)(command) : null); + } +}; +//# sourceMappingURL=COMMAND_INFO.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/COMMAND_INFO.js.map b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_INFO.js.map new file mode 100644 index 0000000..69f39ff --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_INFO.js.map @@ -0,0 +1 @@ +{"version":3,"file":"COMMAND_INFO.js","sourceRoot":"","sources":["../../../lib/commands/COMMAND_INFO.ts"],"names":[],"mappings":";;AAEA,iEAA8F;AAE9F,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,QAAuB;QACzD,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC;IAC9C,CAAC;IACD,oFAAoF;IACpF,cAAc,CAAC,KAA+C;QAC5D,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,4CAAqB,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/E,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/COMMAND_LIST.d.ts b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_LIST.d.ts new file mode 100644 index 0000000..38c9a0f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_LIST.d.ts @@ -0,0 +1,27 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '../RESP/types'; +export declare const COMMAND_LIST_FILTER_BY: { + readonly MODULE: "MODULE"; + readonly ACLCAT: "ACLCAT"; + readonly PATTERN: "PATTERN"; +}; +export type CommandListFilterBy = typeof COMMAND_LIST_FILTER_BY[keyof typeof COMMAND_LIST_FILTER_BY]; +export interface CommandListOptions { + FILTERBY?: { + type: CommandListFilterBy; + value: RedisArgument; + }; +} +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns a list of all commands supported by the Redis server + * @param parser - The Redis command parser + * @param options - Options for filtering the command list + */ + readonly parseCommand: (this: void, parser: CommandParser, options?: CommandListOptions) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=COMMAND_LIST.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/COMMAND_LIST.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_LIST.d.ts.map new file mode 100644 index 0000000..5d73df1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_LIST.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"COMMAND_LIST.d.ts","sourceRoot":"","sources":["../../../lib/commands/COMMAND_LIST.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AAEpF,eAAO,MAAM,sBAAsB;;;;CAIzB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,OAAO,sBAAsB,CAAC,MAAM,OAAO,sBAAsB,CAAC,CAAC;AAErG,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,mBAAmB,CAAC;QAC1B,KAAK,EAAE,aAAa,CAAC;KACtB,CAAC;CACH;;;;IAKC;;;;OAIG;gDACkB,aAAa,YAAY,kBAAkB;mCAWlB,WAAW,eAAe,CAAC;;AAnB3E,wBAoB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/COMMAND_LIST.js b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_LIST.js new file mode 100644 index 0000000..94c0a7a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_LIST.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.COMMAND_LIST_FILTER_BY = void 0; +exports.COMMAND_LIST_FILTER_BY = { + MODULE: 'MODULE', + ACLCAT: 'ACLCAT', + PATTERN: 'PATTERN' +}; +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns a list of all commands supported by the Redis server + * @param parser - The Redis command parser + * @param options - Options for filtering the command list + */ + parseCommand(parser, options) { + parser.push('COMMAND', 'LIST'); + if (options?.FILTERBY) { + parser.push('FILTERBY', options.FILTERBY.type, options.FILTERBY.value); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=COMMAND_LIST.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/COMMAND_LIST.js.map b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_LIST.js.map new file mode 100644 index 0000000..f4090a3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/COMMAND_LIST.js.map @@ -0,0 +1 @@ +{"version":3,"file":"COMMAND_LIST.js","sourceRoot":"","sources":["../../../lib/commands/COMMAND_LIST.ts"],"names":[],"mappings":";;;AAGa,QAAA,sBAAsB,GAAG;IACpC,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;CACV,CAAC;AAWX,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,OAA4B;QAC9D,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAE/B,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CACT,UAAU,EACV,OAAO,CAAC,QAAQ,CAAC,IAAI,EACrB,OAAO,CAAC,QAAQ,CAAC,KAAK,CACvB,CAAC;QACJ,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CONFIG_GET.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_GET.d.ts new file mode 100644 index 0000000..a722670 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_GET.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '../client/parser'; +import { MapReply, BlobStringReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Gets the values of configuration parameters + * @param parser - The Redis command parser + * @param parameters - Pattern or specific configuration parameter names + */ + readonly parseCommand: (this: void, parser: CommandParser, parameters: RedisVariadicArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => MapReply, BlobStringReply>; + readonly 3: () => MapReply; + }; +}; +export default _default; +//# sourceMappingURL=CONFIG_GET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CONFIG_GET.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_GET.d.ts.map new file mode 100644 index 0000000..71a1285 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_GET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CONFIG_GET.d.ts","sourceRoot":"","sources":["../../../lib/commands/CONFIG_GET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAwB,MAAM,wBAAwB,CAAC;;;;IAKnF;;;;OAIG;gDACkB,aAAa,cAAc,qBAAqB;;;0BAMlC,SAAS,eAAe,EAAE,eAAe,CAAC;;;AAd/E,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CONFIG_GET.js b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_GET.js new file mode 100644 index 0000000..bd38a89 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_GET.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Gets the values of configuration parameters + * @param parser - The Redis command parser + * @param parameters - Pattern or specific configuration parameter names + */ + parseCommand(parser, parameters) { + parser.push('CONFIG', 'GET'); + parser.pushVariadic(parameters); + }, + transformReply: { + 2: (generic_transformers_1.transformTuplesReply), + 3: undefined + } +}; +//# sourceMappingURL=CONFIG_GET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CONFIG_GET.js.map b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_GET.js.map new file mode 100644 index 0000000..6a79927 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_GET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CONFIG_GET.js","sourceRoot":"","sources":["../../../lib/commands/CONFIG_GET.ts"],"names":[],"mappings":";;AAEA,iEAAqF;AAErF,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,UAAiC;QACnE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC7B,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAA,2CAAqC,CAAA;QACxC,CAAC,EAAE,SAAwE;KAC5E;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CONFIG_RESETSTAT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_RESETSTAT.d.ts new file mode 100644 index 0000000..fb01028 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_RESETSTAT.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Resets the statistics reported by Redis using the INFO command + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => SimpleStringReply; +}; +export default _default; +//# sourceMappingURL=CONFIG_RESETSTAT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CONFIG_RESETSTAT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_RESETSTAT.d.ts.map new file mode 100644 index 0000000..09bfe1d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_RESETSTAT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CONFIG_RESETSTAT.d.ts","sourceRoot":"","sources":["../../../lib/commands/CONFIG_RESETSTAT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKzD;;;OAGG;gDACkB,aAAa;mCAGY,iBAAiB;;AAVjE,wBAW6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CONFIG_RESETSTAT.js b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_RESETSTAT.js new file mode 100644 index 0000000..f4dd0b4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_RESETSTAT.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Resets the statistics reported by Redis using the INFO command + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('CONFIG', 'RESETSTAT'); + }, + transformReply: undefined +}; +//# sourceMappingURL=CONFIG_RESETSTAT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CONFIG_RESETSTAT.js.map b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_RESETSTAT.js.map new file mode 100644 index 0000000..af74660 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_RESETSTAT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CONFIG_RESETSTAT.js","sourceRoot":"","sources":["../../../lib/commands/CONFIG_RESETSTAT.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACrC,CAAC;IACD,cAAc,EAAE,SAA+C;CACrC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CONFIG_REWRITE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_REWRITE.d.ts new file mode 100644 index 0000000..b270d2b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_REWRITE.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Rewrites the Redis configuration file with the current configuration + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => SimpleStringReply; +}; +export default _default; +//# sourceMappingURL=CONFIG_REWRITE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CONFIG_REWRITE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_REWRITE.d.ts.map new file mode 100644 index 0000000..0b1dbdf --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_REWRITE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CONFIG_REWRITE.d.ts","sourceRoot":"","sources":["../../../lib/commands/CONFIG_REWRITE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKzD;;;OAGG;gDACkB,aAAa;mCAGY,iBAAiB;;AAVjE,wBAW6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CONFIG_REWRITE.js b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_REWRITE.js new file mode 100644 index 0000000..57ba811 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_REWRITE.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Rewrites the Redis configuration file with the current configuration + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('CONFIG', 'REWRITE'); + }, + transformReply: undefined +}; +//# sourceMappingURL=CONFIG_REWRITE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CONFIG_REWRITE.js.map b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_REWRITE.js.map new file mode 100644 index 0000000..a680d20 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_REWRITE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CONFIG_REWRITE.js","sourceRoot":"","sources":["../../../lib/commands/CONFIG_REWRITE.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACnC,CAAC;IACD,cAAc,EAAE,SAA+C;CACrC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CONFIG_SET.d.ts b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_SET.d.ts new file mode 100644 index 0000000..e75ab89 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_SET.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply, RedisArgument } from '../RESP/types'; +type SingleParameter = [parameter: RedisArgument, value: RedisArgument]; +type MultipleParameters = [config: Record]; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Sets configuration parameters to the specified values + * @param parser - The Redis command parser + * @param parameterOrConfig - Either a single parameter name or a configuration object + * @param value - Value for the parameter (when using single parameter format) + */ + readonly parseCommand: (this: void, parser: CommandParser, ...[parameterOrConfig, value]: SingleParameter | MultipleParameters) => void; + readonly transformReply: () => SimpleStringReply; +}; +export default _default; +//# sourceMappingURL=CONFIG_SET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CONFIG_SET.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_SET.d.ts.map new file mode 100644 index 0000000..aac622e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_SET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CONFIG_SET.d.ts","sourceRoot":"","sources":["../../../lib/commands/CONFIG_SET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,aAAa,EAAE,MAAM,eAAe,CAAC;AAE1E,KAAK,eAAe,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;AAExE,KAAK,kBAAkB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;;;;IAKhE;;;;;OAKG;gDAEO,aAAa,iCACU,eAAe,GAAG,kBAAkB;mCAYvB,iBAAiB;;AAvBjE,wBAwB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CONFIG_SET.js b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_SET.js new file mode 100644 index 0000000..e33680b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_SET.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Sets configuration parameters to the specified values + * @param parser - The Redis command parser + * @param parameterOrConfig - Either a single parameter name or a configuration object + * @param value - Value for the parameter (when using single parameter format) + */ + parseCommand(parser, ...[parameterOrConfig, value]) { + parser.push('CONFIG', 'SET'); + if (typeof parameterOrConfig === 'string' || parameterOrConfig instanceof Buffer) { + parser.push(parameterOrConfig, value); + } + else { + for (const [key, value] of Object.entries(parameterOrConfig)) { + parser.push(key, value); + } + } + }, + transformReply: undefined +}; +//# sourceMappingURL=CONFIG_SET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/CONFIG_SET.js.map b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_SET.js.map new file mode 100644 index 0000000..8775901 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/CONFIG_SET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CONFIG_SET.js","sourceRoot":"","sources":["../../../lib/commands/CONFIG_SET.ts"],"names":[],"mappings":";;AAOA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CACV,MAAqB,EACrB,GAAG,CAAC,iBAAiB,EAAE,KAAK,CAAuC;QAEnE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAE7B,IAAI,OAAO,iBAAiB,KAAK,QAAQ,IAAI,iBAAiB,YAAY,MAAM,EAAE,CAAC;YACjF,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAM,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC7D,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAA+C;CACrC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/COPY.d.ts b/back/node_modules/@redis/client/dist/lib/commands/COPY.d.ts new file mode 100644 index 0000000..11565bd --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/COPY.d.ts @@ -0,0 +1,20 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +export interface CopyCommandOptions { + DB?: number; + REPLACE?: boolean; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Copies the value stored at the source key to the destination key + * @param parser - The Redis command parser + * @param source - Source key + * @param destination - Destination key + * @param options - Options for the copy operation + */ + readonly parseCommand: (this: void, parser: CommandParser, source: RedisArgument, destination: RedisArgument, options?: CopyCommandOptions) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=COPY.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/COPY.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/COPY.d.ts.map new file mode 100644 index 0000000..56f8297 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/COPY.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"COPY.d.ts","sourceRoot":"","sources":["../../../lib/commands/COPY.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AAEpE,MAAM,WAAW,kBAAkB;IACjC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;;;IAIC;;;;;;OAMG;gDACkB,aAAa,UAAU,aAAa,eAAe,aAAa,YAAY,kBAAkB;mCAYrE,WAAW;;AArB3D,wBAsB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/COPY.js b/back/node_modules/@redis/client/dist/lib/commands/COPY.js new file mode 100644 index 0000000..ff2d69a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/COPY.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Copies the value stored at the source key to the destination key + * @param parser - The Redis command parser + * @param source - Source key + * @param destination - Destination key + * @param options - Options for the copy operation + */ + parseCommand(parser, source, destination, options) { + parser.push('COPY'); + parser.pushKeys([source, destination]); + if (options?.DB) { + parser.push('DB', options.DB.toString()); + } + if (options?.REPLACE) { + parser.push('REPLACE'); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=COPY.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/COPY.js.map b/back/node_modules/@redis/client/dist/lib/commands/COPY.js.map new file mode 100644 index 0000000..b5df193 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/COPY.js.map @@ -0,0 +1 @@ +{"version":3,"file":"COPY.js","sourceRoot":"","sources":["../../../lib/commands/COPY.ts"],"names":[],"mappings":";;AAQA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,MAAqB,EAAE,WAA0B,EAAE,OAA4B;QACjH,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;QAEvC,IAAI,OAAO,EAAE,EAAE,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DBSIZE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/DBSIZE.d.ts new file mode 100644 index 0000000..d374221 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DBSIZE.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns the number of keys in the current database + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=DBSIZE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DBSIZE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/DBSIZE.d.ts.map new file mode 100644 index 0000000..222711e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DBSIZE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"DBSIZE.d.ts","sourceRoot":"","sources":["../../../lib/commands/DBSIZE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;;IAKnD;;;OAGG;gDACkB,aAAa;mCAGY,WAAW;;AAV3D,wBAW6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DBSIZE.js b/back/node_modules/@redis/client/dist/lib/commands/DBSIZE.js new file mode 100644 index 0000000..13f90b4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DBSIZE.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns the number of keys in the current database + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('DBSIZE'); + }, + transformReply: undefined +}; +//# sourceMappingURL=DBSIZE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DBSIZE.js.map b/back/node_modules/@redis/client/dist/lib/commands/DBSIZE.js.map new file mode 100644 index 0000000..d10c28f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DBSIZE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DBSIZE.js","sourceRoot":"","sources":["../../../lib/commands/DBSIZE.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DECR.d.ts b/back/node_modules/@redis/client/dist/lib/commands/DECR.d.ts new file mode 100644 index 0000000..19b13c6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DECR.d.ts @@ -0,0 +1,13 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + /** + * Decrements the integer value of a key by one + * @param parser - The Redis command parser + * @param key - Key to decrement + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=DECR.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DECR.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/DECR.d.ts.map new file mode 100644 index 0000000..a72a943 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DECR.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"DECR.d.ts","sourceRoot":"","sources":["../../../lib/commands/DECR.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;IAGlE;;;;OAIG;gDACkB,aAAa,OAAO,aAAa;mCAIR,WAAW;;AAV3D,wBAW6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DECR.js b/back/node_modules/@redis/client/dist/lib/commands/DECR.js new file mode 100644 index 0000000..b36fc7e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DECR.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Decrements the integer value of a key by one + * @param parser - The Redis command parser + * @param key - Key to decrement + */ + parseCommand(parser, key) { + parser.push('DECR'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=DECR.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DECR.js.map b/back/node_modules/@redis/client/dist/lib/commands/DECR.js.map new file mode 100644 index 0000000..daaa9ba --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DECR.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DECR.js","sourceRoot":"","sources":["../../../lib/commands/DECR.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DECRBY.d.ts b/back/node_modules/@redis/client/dist/lib/commands/DECRBY.d.ts new file mode 100644 index 0000000..f8976d7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DECRBY.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + /** + * Decrements the integer value of a key by the given number + * @param parser - The Redis command parser + * @param key - Key to decrement + * @param decrement - Decrement amount + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, decrement: number) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=DECRBY.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DECRBY.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/DECRBY.d.ts.map new file mode 100644 index 0000000..6f3ff86 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DECRBY.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"DECRBY.d.ts","sourceRoot":"","sources":["../../../lib/commands/DECRBY.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;IAGlE;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,aAAa,MAAM;mCAK3B,WAAW;;AAZ3D,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DECRBY.js b/back/node_modules/@redis/client/dist/lib/commands/DECRBY.js new file mode 100644 index 0000000..5c85fed --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DECRBY.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Decrements the integer value of a key by the given number + * @param parser - The Redis command parser + * @param key - Key to decrement + * @param decrement - Decrement amount + */ + parseCommand(parser, key, decrement) { + parser.push('DECRBY'); + parser.pushKey(key); + parser.push(decrement.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=DECRBY.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DECRBY.js.map b/back/node_modules/@redis/client/dist/lib/commands/DECRBY.js.map new file mode 100644 index 0000000..057ba15 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DECRBY.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DECRBY.js","sourceRoot":"","sources":["../../../lib/commands/DECRBY.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,SAAiB;QACvE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DEL.d.ts b/back/node_modules/@redis/client/dist/lib/commands/DEL.d.ts new file mode 100644 index 0000000..c7f450f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DEL.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Removes the specified keys. A key is ignored if it does not exist + * @param parser - The Redis command parser + * @param keys - One or more keys to delete + */ + readonly parseCommand: (this: void, parser: CommandParser, keys: RedisVariadicArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=DEL.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DEL.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/DEL.d.ts.map new file mode 100644 index 0000000..33a52b9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DEL.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"DEL.d.ts","sourceRoot":"","sources":["../../../lib/commands/DEL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;IAI7D;;;;OAIG;gDACkB,aAAa,QAAQ,qBAAqB;mCAIjB,WAAW;;AAX3D,wBAY6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DEL.js b/back/node_modules/@redis/client/dist/lib/commands/DEL.js new file mode 100644 index 0000000..b4564c0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DEL.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Removes the specified keys. A key is ignored if it does not exist + * @param parser - The Redis command parser + * @param keys - One or more keys to delete + */ + parseCommand(parser, keys) { + parser.push('DEL'); + parser.pushKeys(keys); + }, + transformReply: undefined +}; +//# sourceMappingURL=DEL.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DEL.js.map b/back/node_modules/@redis/client/dist/lib/commands/DEL.js.map new file mode 100644 index 0000000..f65794e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DEL.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DEL.js","sourceRoot":"","sources":["../../../lib/commands/DEL.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,IAA2B;QAC7D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DELEX.d.ts b/back/node_modules/@redis/client/dist/lib/commands/DELEX.d.ts new file mode 100644 index 0000000..11e913b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DELEX.d.ts @@ -0,0 +1,50 @@ +import { CommandParser } from "../client/parser"; +import { NumberReply, RedisArgument } from "../RESP/types"; +export declare const DelexCondition: { + /** + * Delete if value equals match-value. + */ + readonly IFEQ: "IFEQ"; + /** + * Delete if value does not equal match-value. + */ + readonly IFNE: "IFNE"; + /** + * Delete if value digest equals match-digest. + */ + readonly IFDEQ: "IFDEQ"; + /** + * Delete if value digest does not equal match-digest. + */ + readonly IFDNE: "IFDNE"; +}; +type DelexCondition = (typeof DelexCondition)[keyof typeof DelexCondition]; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * + * @experimental + * + * Conditionally removes the specified key based on value or digest comparison. + * + * @param parser - The Redis command parser + * @param key - Key to delete + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, options?: { + /** + * The condition to apply when deleting the key. + * - `IFEQ` - Delete if value equals match-value + * - `IFNE` - Delete if value does not equal match-value + * - `IFDEQ` - Delete if value digest equals match-digest + * - `IFDNE` - Delete if value digest does not equal match-digest + */ + condition: DelexCondition; + /** + * The value or digest to compare against + */ + matchValue: RedisArgument; + }) => void; + readonly transformReply: () => NumberReply<1 | 0>; +}; +export default _default; +//# sourceMappingURL=DELEX.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DELEX.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/DELEX.d.ts.map new file mode 100644 index 0000000..109fd13 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DELEX.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"DELEX.d.ts","sourceRoot":"","sources":["../../../lib/commands/DELEX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAW,aAAa,EAAE,MAAM,eAAe,CAAC;AAEpE,eAAO,MAAM,cAAc;IACzB;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;CAEK,CAAC;AAEX,KAAK,cAAc,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;;;IAIzE;;;;;;;;OAQG;gDAEO,aAAa,OAChB,aAAa,YACR;QACR;;;;;;WAMG;QACH,SAAS,EAAE,cAAc,CAAC;QAC1B;;WAEG;QACH,UAAU,EAAE,aAAa,CAAC;KAC3B;mCAU2C,YAAY,CAAC,GAAG,CAAC,CAAC;;AArClE,wBAsC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DELEX.js b/back/node_modules/@redis/client/dist/lib/commands/DELEX.js new file mode 100644 index 0000000..a56fc7b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DELEX.js @@ -0,0 +1,43 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.DelexCondition = void 0; +exports.DelexCondition = { + /** + * Delete if value equals match-value. + */ + IFEQ: "IFEQ", + /** + * Delete if value does not equal match-value. + */ + IFNE: "IFNE", + /** + * Delete if value digest equals match-digest. + */ + IFDEQ: "IFDEQ", + /** + * Delete if value digest does not equal match-digest. + */ + IFDNE: "IFDNE", +}; +exports.default = { + IS_READ_ONLY: false, + /** + * + * @experimental + * + * Conditionally removes the specified key based on value or digest comparison. + * + * @param parser - The Redis command parser + * @param key - Key to delete + */ + parseCommand(parser, key, options) { + parser.push("DELEX"); + parser.pushKey(key); + if (options) { + parser.push(options.condition); + parser.push(options.matchValue); + } + }, + transformReply: undefined, +}; +//# sourceMappingURL=DELEX.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DELEX.js.map b/back/node_modules/@redis/client/dist/lib/commands/DELEX.js.map new file mode 100644 index 0000000..61635e9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DELEX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DELEX.js","sourceRoot":"","sources":["../../../lib/commands/DELEX.ts"],"names":[],"mappings":";;;AAGa,QAAA,cAAc,GAAG;IAC5B;;OAEG;IACH,IAAI,EAAE,MAAM;IACZ;;OAEG;IACH,IAAI,EAAE,MAAM;IACZ;;OAEG;IACH,KAAK,EAAE,OAAO;IACd;;OAEG;IACH,KAAK,EAAE,OAAO;CACN,CAAC;AAIX,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;OAQG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,OAaC;QAED,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAgD;CACtC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DIGEST.d.ts b/back/node_modules/@redis/client/dist/lib/commands/DIGEST.d.ts new file mode 100644 index 0000000..a74f94f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DIGEST.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from "../client/parser"; +import { RedisArgument, SimpleStringReply } from "../RESP/types"; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * + * @experimental + * + * Returns the XXH3 hash of a string value. + * + * @param parser - The Redis command parser + * @param key - Key to get the digest of + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => SimpleStringReply; +}; +export default _default; +//# sourceMappingURL=DIGEST.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DIGEST.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/DIGEST.d.ts.map new file mode 100644 index 0000000..56b6553 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DIGEST.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"DIGEST.d.ts","sourceRoot":"","sources":["../../../lib/commands/DIGEST.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAW,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;;;IAIxE;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa;mCAIR,iBAAiB;;AAfjE,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DIGEST.js b/back/node_modules/@redis/client/dist/lib/commands/DIGEST.js new file mode 100644 index 0000000..5adcd62 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DIGEST.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * + * @experimental + * + * Returns the XXH3 hash of a string value. + * + * @param parser - The Redis command parser + * @param key - Key to get the digest of + */ + parseCommand(parser, key) { + parser.push("DIGEST"); + parser.pushKey(key); + }, + transformReply: undefined, +}; +//# sourceMappingURL=DIGEST.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DIGEST.js.map b/back/node_modules/@redis/client/dist/lib/commands/DIGEST.js.map new file mode 100644 index 0000000..564b6c3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DIGEST.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DIGEST.js","sourceRoot":"","sources":["../../../lib/commands/DIGEST.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAA+C;CACrC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DISCARD.d.ts b/back/node_modules/@redis/client/dist/lib/commands/DISCARD.d.ts new file mode 100644 index 0000000..867e170 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DISCARD.d.ts @@ -0,0 +1,12 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + /** + * Discards a transaction, forgetting all queued commands + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => SimpleStringReply; +}; +export default _default; +//# sourceMappingURL=DISCARD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DISCARD.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/DISCARD.d.ts.map new file mode 100644 index 0000000..82c6bae --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DISCARD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"DISCARD.d.ts","sourceRoot":"","sources":["../../../lib/commands/DISCARD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;IAGzD;;;OAGG;gDACkB,aAAa;mCAGY,iBAAiB;;AARjE,wBAS6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DISCARD.js b/back/node_modules/@redis/client/dist/lib/commands/DISCARD.js new file mode 100644 index 0000000..2378bb6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DISCARD.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Discards a transaction, forgetting all queued commands + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('DISCARD'); + }, + transformReply: undefined +}; +//# sourceMappingURL=DISCARD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DISCARD.js.map b/back/node_modules/@redis/client/dist/lib/commands/DISCARD.js.map new file mode 100644 index 0000000..7c290cc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DISCARD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DISCARD.js","sourceRoot":"","sources":["../../../lib/commands/DISCARD.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IACD,cAAc,EAAE,SAA+C;CACrC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DUMP.d.ts b/back/node_modules/@redis/client/dist/lib/commands/DUMP.d.ts new file mode 100644 index 0000000..cb01f8c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DUMP.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns a serialized version of the value stored at the key + * @param parser - The Redis command parser + * @param key - Key to dump + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => BlobStringReply; +}; +export default _default; +//# sourceMappingURL=DUMP.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DUMP.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/DUMP.d.ts.map new file mode 100644 index 0000000..52707d8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DUMP.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"DUMP.d.ts","sourceRoot":"","sources":["../../../lib/commands/DUMP.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;IAItE;;;;OAIG;gDACkB,aAAa,OAAO,aAAa;mCAIR,eAAe;;AAX/D,wBAY6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DUMP.js b/back/node_modules/@redis/client/dist/lib/commands/DUMP.js new file mode 100644 index 0000000..bbf1576 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DUMP.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns a serialized version of the value stored at the key + * @param parser - The Redis command parser + * @param key - Key to dump + */ + parseCommand(parser, key) { + parser.push('DUMP'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=DUMP.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/DUMP.js.map b/back/node_modules/@redis/client/dist/lib/commands/DUMP.js.map new file mode 100644 index 0000000..4bcaad1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/DUMP.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DUMP.js","sourceRoot":"","sources":["../../../lib/commands/DUMP.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAA6C;CACnC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ECHO.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ECHO.d.ts new file mode 100644 index 0000000..0d73495 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ECHO.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns the given string + * @param parser - The Redis command parser + * @param message - Message to echo back + */ + readonly parseCommand: (this: void, parser: CommandParser, message: RedisArgument) => void; + readonly transformReply: () => BlobStringReply; +}; +export default _default; +//# sourceMappingURL=ECHO.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ECHO.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ECHO.d.ts.map new file mode 100644 index 0000000..d19afca --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ECHO.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ECHO.d.ts","sourceRoot":"","sources":["../../../lib/commands/ECHO.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;;IAKtE;;;;OAIG;gDACkB,aAAa,WAAW,aAAa;mCAGZ,eAAe;;AAX/D,wBAY6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ECHO.js b/back/node_modules/@redis/client/dist/lib/commands/ECHO.js new file mode 100644 index 0000000..13eef7d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ECHO.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns the given string + * @param parser - The Redis command parser + * @param message - Message to echo back + */ + parseCommand(parser, message) { + parser.push('ECHO', message); + }, + transformReply: undefined +}; +//# sourceMappingURL=ECHO.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ECHO.js.map b/back/node_modules/@redis/client/dist/lib/commands/ECHO.js.map new file mode 100644 index 0000000..b31d73f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ECHO.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ECHO.js","sourceRoot":"","sources":["../../../lib/commands/ECHO.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,OAAsB;QACxD,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IACD,cAAc,EAAE,SAA6C;CACnC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EVAL.d.ts b/back/node_modules/@redis/client/dist/lib/commands/EVAL.d.ts new file mode 100644 index 0000000..9c7250a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EVAL.d.ts @@ -0,0 +1,20 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ReplyUnion } from '../RESP/types'; +export interface EvalOptions { + keys?: Array; + arguments?: Array; +} +export declare function parseEvalArguments(parser: CommandParser, script: RedisArgument, options?: EvalOptions): void; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Executes a Lua script server side + * @param parser - The Redis command parser + * @param script - Lua script to execute + * @param options - Script execution options including keys and arguments + */ + readonly parseCommand: (this: void, parser: CommandParser, script: RedisArgument, options?: EvalOptions | undefined) => void; + readonly transformReply: () => ReplyUnion; +}; +export default _default; +//# sourceMappingURL=EVAL.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EVAL.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/EVAL.d.ts.map new file mode 100644 index 0000000..3dcae5e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EVAL.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"EVAL.d.ts","sourceRoot":"","sources":["../../../lib/commands/EVAL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAW,MAAM,eAAe,CAAC;AAEnE,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAC5B,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;CAClC;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,aAAa,EACrB,OAAO,CAAC,EAAE,WAAW,QAYtB;;;IAIC;;;;;OAKG;;mCAK2C,UAAU;;AAZ1D,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EVAL.js b/back/node_modules/@redis/client/dist/lib/commands/EVAL.js new file mode 100644 index 0000000..a41b76a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EVAL.js @@ -0,0 +1,31 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseEvalArguments = void 0; +function parseEvalArguments(parser, script, options) { + parser.push(script); + if (options?.keys) { + parser.pushKeysLength(options.keys); + } + else { + parser.push('0'); + } + if (options?.arguments) { + parser.push(...options.arguments); + } +} +exports.parseEvalArguments = parseEvalArguments; +exports.default = { + IS_READ_ONLY: false, + /** + * Executes a Lua script server side + * @param parser - The Redis command parser + * @param script - Lua script to execute + * @param options - Script execution options including keys and arguments + */ + parseCommand(...args) { + args[0].push('EVAL'); + parseEvalArguments(...args); + }, + transformReply: undefined +}; +//# sourceMappingURL=EVAL.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EVAL.js.map b/back/node_modules/@redis/client/dist/lib/commands/EVAL.js.map new file mode 100644 index 0000000..9832311 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EVAL.js.map @@ -0,0 +1 @@ +{"version":3,"file":"EVAL.js","sourceRoot":"","sources":["../../../lib/commands/EVAL.ts"],"names":[],"mappings":";;;AAQA,SAAgB,kBAAkB,CAChC,MAAqB,EACrB,MAAqB,EACrB,OAAqB;IAErB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpB,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;QAClB,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IACnC,CAAC;AACH,CAAC;AAfD,gDAeC;AAED,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,GAAG,IAA2C;QACzD,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,kBAAkB,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,cAAc,EAAE,SAAwC;CAC9B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EVALSHA.d.ts b/back/node_modules/@redis/client/dist/lib/commands/EVALSHA.d.ts new file mode 100644 index 0000000..d247c49 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EVALSHA.d.ts @@ -0,0 +1,13 @@ +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Executes a Lua script server side using the script's SHA1 digest + * @param parser - The Redis command parser + * @param sha1 - SHA1 digest of the script + * @param options - Script execution options including keys and arguments + */ + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; +}; +export default _default; +//# sourceMappingURL=EVALSHA.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EVALSHA.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/EVALSHA.d.ts.map new file mode 100644 index 0000000..9bbc587 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EVALSHA.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"EVALSHA.d.ts","sourceRoot":"","sources":["../../../lib/commands/EVALSHA.ts"],"names":[],"mappings":";;IAKE;;;;;OAKG;;;;AAPL,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EVALSHA.js b/back/node_modules/@redis/client/dist/lib/commands/EVALSHA.js new file mode 100644 index 0000000..4a78926 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EVALSHA.js @@ -0,0 +1,41 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const EVAL_1 = __importStar(require("./EVAL")); +exports.default = { + IS_READ_ONLY: false, + /** + * Executes a Lua script server side using the script's SHA1 digest + * @param parser - The Redis command parser + * @param sha1 - SHA1 digest of the script + * @param options - Script execution options including keys and arguments + */ + parseCommand(...args) { + args[0].push('EVALSHA'); + (0, EVAL_1.parseEvalArguments)(...args); + }, + transformReply: EVAL_1.default.transformReply +}; +//# sourceMappingURL=EVALSHA.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EVALSHA.js.map b/back/node_modules/@redis/client/dist/lib/commands/EVALSHA.js.map new file mode 100644 index 0000000..e7c3b57 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EVALSHA.js.map @@ -0,0 +1 @@ +{"version":3,"file":"EVALSHA.js","sourceRoot":"","sources":["../../../lib/commands/EVALSHA.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,+CAAkD;AAElD,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,GAAG,IAA2C;QACzD,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxB,IAAA,yBAAkB,EAAC,GAAG,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,cAAc,EAAE,cAAI,CAAC,cAAc;CACT,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EVALSHA_RO.d.ts b/back/node_modules/@redis/client/dist/lib/commands/EVALSHA_RO.d.ts new file mode 100644 index 0000000..b4c4b87 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EVALSHA_RO.d.ts @@ -0,0 +1,13 @@ +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Executes a read-only Lua script server side using the script's SHA1 digest + * @param parser - The Redis command parser + * @param sha1 - SHA1 digest of the script + * @param options - Script execution options including keys and arguments + */ + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; +}; +export default _default; +//# sourceMappingURL=EVALSHA_RO.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EVALSHA_RO.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/EVALSHA_RO.d.ts.map new file mode 100644 index 0000000..205705a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EVALSHA_RO.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"EVALSHA_RO.d.ts","sourceRoot":"","sources":["../../../lib/commands/EVALSHA_RO.ts"],"names":[],"mappings":";;IAKE;;;;;OAKG;;;;AAPL,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EVALSHA_RO.js b/back/node_modules/@redis/client/dist/lib/commands/EVALSHA_RO.js new file mode 100644 index 0000000..4bc91ed --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EVALSHA_RO.js @@ -0,0 +1,41 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const EVAL_1 = __importStar(require("./EVAL")); +exports.default = { + IS_READ_ONLY: true, + /** + * Executes a read-only Lua script server side using the script's SHA1 digest + * @param parser - The Redis command parser + * @param sha1 - SHA1 digest of the script + * @param options - Script execution options including keys and arguments + */ + parseCommand(...args) { + args[0].push('EVALSHA_RO'); + (0, EVAL_1.parseEvalArguments)(...args); + }, + transformReply: EVAL_1.default.transformReply +}; +//# sourceMappingURL=EVALSHA_RO.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EVALSHA_RO.js.map b/back/node_modules/@redis/client/dist/lib/commands/EVALSHA_RO.js.map new file mode 100644 index 0000000..1303a09 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EVALSHA_RO.js.map @@ -0,0 +1 @@ +{"version":3,"file":"EVALSHA_RO.js","sourceRoot":"","sources":["../../../lib/commands/EVALSHA_RO.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,+CAAkD;AAElD,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,GAAG,IAA2C;QACzD,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3B,IAAA,yBAAkB,EAAC,GAAG,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,cAAc,EAAE,cAAI,CAAC,cAAc;CACT,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EVAL_RO.d.ts b/back/node_modules/@redis/client/dist/lib/commands/EVAL_RO.d.ts new file mode 100644 index 0000000..7ce93e5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EVAL_RO.d.ts @@ -0,0 +1,13 @@ +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Executes a read-only Lua script server side + * @param parser - The Redis command parser + * @param script - Lua script to execute + * @param options - Script execution options including keys and arguments + */ + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; +}; +export default _default; +//# sourceMappingURL=EVAL_RO.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EVAL_RO.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/EVAL_RO.d.ts.map new file mode 100644 index 0000000..5f7e8e3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EVAL_RO.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"EVAL_RO.d.ts","sourceRoot":"","sources":["../../../lib/commands/EVAL_RO.ts"],"names":[],"mappings":";;IAKE;;;;;OAKG;;;;AAPL,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EVAL_RO.js b/back/node_modules/@redis/client/dist/lib/commands/EVAL_RO.js new file mode 100644 index 0000000..3381062 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EVAL_RO.js @@ -0,0 +1,41 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const EVAL_1 = __importStar(require("./EVAL")); +exports.default = { + IS_READ_ONLY: true, + /** + * Executes a read-only Lua script server side + * @param parser - The Redis command parser + * @param script - Lua script to execute + * @param options - Script execution options including keys and arguments + */ + parseCommand(...args) { + args[0].push('EVAL_RO'); + (0, EVAL_1.parseEvalArguments)(...args); + }, + transformReply: EVAL_1.default.transformReply +}; +//# sourceMappingURL=EVAL_RO.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EVAL_RO.js.map b/back/node_modules/@redis/client/dist/lib/commands/EVAL_RO.js.map new file mode 100644 index 0000000..21f3d11 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EVAL_RO.js.map @@ -0,0 +1 @@ +{"version":3,"file":"EVAL_RO.js","sourceRoot":"","sources":["../../../lib/commands/EVAL_RO.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,+CAAkD;AAElD,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,GAAG,IAA2C;QACzD,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxB,IAAA,yBAAkB,EAAC,GAAG,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,cAAc,EAAE,cAAI,CAAC,cAAc;CACT,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EXISTS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/EXISTS.d.ts new file mode 100644 index 0000000..a022338 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EXISTS.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Determines if the specified keys exist + * @param parser - The Redis command parser + * @param keys - One or more keys to check + */ + readonly parseCommand: (this: void, parser: CommandParser, keys: RedisVariadicArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=EXISTS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EXISTS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/EXISTS.d.ts.map new file mode 100644 index 0000000..d8837a4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EXISTS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"EXISTS.d.ts","sourceRoot":"","sources":["../../../lib/commands/EXISTS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;;IAK7D;;;;OAIG;gDACkB,aAAa,QAAQ,qBAAqB;mCAIjB,WAAW;;AAZ3D,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EXISTS.js b/back/node_modules/@redis/client/dist/lib/commands/EXISTS.js new file mode 100644 index 0000000..31a35db --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EXISTS.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Determines if the specified keys exist + * @param parser - The Redis command parser + * @param keys - One or more keys to check + */ + parseCommand(parser, keys) { + parser.push('EXISTS'); + parser.pushKeys(keys); + }, + transformReply: undefined +}; +//# sourceMappingURL=EXISTS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EXISTS.js.map b/back/node_modules/@redis/client/dist/lib/commands/EXISTS.js.map new file mode 100644 index 0000000..78f1c20 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EXISTS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"EXISTS.js","sourceRoot":"","sources":["../../../lib/commands/EXISTS.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,IAA2B;QAC7D,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EXPIRE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/EXPIRE.d.ts new file mode 100644 index 0000000..ad2d4ad --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EXPIRE.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + /** + * Sets a timeout on key. After the timeout has expired, the key will be automatically deleted + * @param parser - The Redis command parser + * @param key - Key to set expiration on + * @param seconds - Number of seconds until key expiration + * @param mode - Expiration mode: NX (only if key has no expiry), XX (only if key has existing expiry), GT (only if new expiry is greater than current), LT (only if new expiry is less than current) + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, seconds: number, mode?: 'NX' | 'XX' | 'GT' | 'LT') => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=EXPIRE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EXPIRE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/EXPIRE.d.ts.map new file mode 100644 index 0000000..c73cca6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EXPIRE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"EXPIRE.d.ts","sourceRoot":"","sources":["../../../lib/commands/EXPIRE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;IAGlE;;;;;;OAMG;gDAEO,aAAa,OAChB,aAAa,WACT,MAAM,SACR,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;mCASY,WAAW;;AArB3D,wBAsB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EXPIRE.js b/back/node_modules/@redis/client/dist/lib/commands/EXPIRE.js new file mode 100644 index 0000000..fd69e07 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EXPIRE.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Sets a timeout on key. After the timeout has expired, the key will be automatically deleted + * @param parser - The Redis command parser + * @param key - Key to set expiration on + * @param seconds - Number of seconds until key expiration + * @param mode - Expiration mode: NX (only if key has no expiry), XX (only if key has existing expiry), GT (only if new expiry is greater than current), LT (only if new expiry is less than current) + */ + parseCommand(parser, key, seconds, mode) { + parser.push('EXPIRE'); + parser.pushKey(key); + parser.push(seconds.toString()); + if (mode) { + parser.push(mode); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=EXPIRE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EXPIRE.js.map b/back/node_modules/@redis/client/dist/lib/commands/EXPIRE.js.map new file mode 100644 index 0000000..ee4ba01 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EXPIRE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"EXPIRE.js","sourceRoot":"","sources":["../../../lib/commands/EXPIRE.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb;;;;;;OAMG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,OAAe,EACf,IAAgC;QAEhC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EXPIREAT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/EXPIREAT.d.ts new file mode 100644 index 0000000..a7bf6c1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EXPIREAT.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + /** + * Sets the expiration for a key at a specific Unix timestamp + * @param parser - The Redis command parser + * @param key - Key to set expiration on + * @param timestamp - Unix timestamp (seconds since January 1, 1970) or Date object + * @param mode - Expiration mode: NX (only if key has no expiry), XX (only if key has existing expiry), GT (only if new expiry is greater than current), LT (only if new expiry is less than current) + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, timestamp: number | Date, mode?: 'NX' | 'XX' | 'GT' | 'LT') => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=EXPIREAT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EXPIREAT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/EXPIREAT.d.ts.map new file mode 100644 index 0000000..09aaa00 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EXPIREAT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"EXPIREAT.d.ts","sourceRoot":"","sources":["../../../lib/commands/EXPIREAT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;IAIlE;;;;;;OAMG;gDAEO,aAAa,OAChB,aAAa,aACP,MAAM,GAAG,IAAI,SACjB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;mCASY,WAAW;;AArB3D,wBAsB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EXPIREAT.js b/back/node_modules/@redis/client/dist/lib/commands/EXPIREAT.js new file mode 100644 index 0000000..e12dab7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EXPIREAT.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + /** + * Sets the expiration for a key at a specific Unix timestamp + * @param parser - The Redis command parser + * @param key - Key to set expiration on + * @param timestamp - Unix timestamp (seconds since January 1, 1970) or Date object + * @param mode - Expiration mode: NX (only if key has no expiry), XX (only if key has existing expiry), GT (only if new expiry is greater than current), LT (only if new expiry is less than current) + */ + parseCommand(parser, key, timestamp, mode) { + parser.push('EXPIREAT'); + parser.pushKey(key); + parser.push((0, generic_transformers_1.transformEXAT)(timestamp)); + if (mode) { + parser.push(mode); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=EXPIREAT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EXPIREAT.js.map b/back/node_modules/@redis/client/dist/lib/commands/EXPIREAT.js.map new file mode 100644 index 0000000..d9c0581 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EXPIREAT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"EXPIREAT.js","sourceRoot":"","sources":["../../../lib/commands/EXPIREAT.ts"],"names":[],"mappings":";;AAEA,iEAAuD;AAEvD,kBAAe;IACb;;;;;;OAMG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,SAAwB,EACxB,IAAgC;QAEhC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAA,oCAAa,EAAC,SAAS,CAAC,CAAC,CAAC;QACtC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EXPIRETIME.d.ts b/back/node_modules/@redis/client/dist/lib/commands/EXPIRETIME.d.ts new file mode 100644 index 0000000..15c4537 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EXPIRETIME.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns the absolute Unix timestamp (since January 1, 1970) at which the given key will expire + * @param parser - The Redis command parser + * @param key - Key to check expiration time + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=EXPIRETIME.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EXPIRETIME.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/EXPIRETIME.d.ts.map new file mode 100644 index 0000000..d68bc3d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EXPIRETIME.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"EXPIRETIME.d.ts","sourceRoot":"","sources":["../../../lib/commands/EXPIRETIME.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;IAIlE;;;;OAIG;gDACkB,aAAa,OAAO,aAAa;mCAIR,WAAW;;AAX3D,wBAY6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EXPIRETIME.js b/back/node_modules/@redis/client/dist/lib/commands/EXPIRETIME.js new file mode 100644 index 0000000..13c9bc2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EXPIRETIME.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns the absolute Unix timestamp (since January 1, 1970) at which the given key will expire + * @param parser - The Redis command parser + * @param key - Key to check expiration time + */ + parseCommand(parser, key) { + parser.push('EXPIRETIME'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=EXPIRETIME.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/EXPIRETIME.js.map b/back/node_modules/@redis/client/dist/lib/commands/EXPIRETIME.js.map new file mode 100644 index 0000000..246ca41 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/EXPIRETIME.js.map @@ -0,0 +1 @@ +{"version":3,"file":"EXPIRETIME.js","sourceRoot":"","sources":["../../../lib/commands/EXPIRETIME.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FAILOVER.d.ts b/back/node_modules/@redis/client/dist/lib/commands/FAILOVER.d.ts new file mode 100644 index 0000000..3cc904c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FAILOVER.d.ts @@ -0,0 +1,22 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +interface FailoverOptions { + TO?: { + host: string; + port: number; + FORCE?: true; + }; + ABORT?: true; + TIMEOUT?: number; +} +declare const _default: { + /** + * Starts a coordinated failover between the primary and a replica + * @param parser - The Redis command parser + * @param options - Failover options including target host, abort flag, and timeout + */ + readonly parseCommand: (this: void, parser: CommandParser, options?: FailoverOptions) => void; + readonly transformReply: () => SimpleStringReply; +}; +export default _default; +//# sourceMappingURL=FAILOVER.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FAILOVER.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/FAILOVER.d.ts.map new file mode 100644 index 0000000..367d3e8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FAILOVER.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"FAILOVER.d.ts","sourceRoot":"","sources":["../../../lib/commands/FAILOVER.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;AAE3D,UAAU,eAAe;IACvB,EAAE,CAAC,EAAE;QACH,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,IAAI,CAAC;KACd,CAAC;IACF,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;;IAGC;;;;OAIG;gDACkB,aAAa,YAAY,eAAe;mCAmBf,iBAAiB;;AAzBjE,wBA0B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FAILOVER.js b/back/node_modules/@redis/client/dist/lib/commands/FAILOVER.js new file mode 100644 index 0000000..2946e9d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FAILOVER.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Starts a coordinated failover between the primary and a replica + * @param parser - The Redis command parser + * @param options - Failover options including target host, abort flag, and timeout + */ + parseCommand(parser, options) { + parser.push('FAILOVER'); + if (options?.TO) { + parser.push('TO', options.TO.host, options.TO.port.toString()); + if (options.TO.FORCE) { + parser.push('FORCE'); + } + } + if (options?.ABORT) { + parser.push('ABORT'); + } + if (options?.TIMEOUT) { + parser.push('TIMEOUT', options.TIMEOUT.toString()); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=FAILOVER.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FAILOVER.js.map b/back/node_modules/@redis/client/dist/lib/commands/FAILOVER.js.map new file mode 100644 index 0000000..aa7a605 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FAILOVER.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FAILOVER.js","sourceRoot":"","sources":["../../../lib/commands/FAILOVER.ts"],"names":[],"mappings":";;AAaA,kBAAe;IACb;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,OAAyB;QAC3D,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAExB,IAAI,OAAO,EAAE,EAAE,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAE/D,IAAI,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;gBACrB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;QAED,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAA+C;CACrC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FCALL.d.ts b/back/node_modules/@redis/client/dist/lib/commands/FCALL.d.ts new file mode 100644 index 0000000..a64121f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FCALL.d.ts @@ -0,0 +1,13 @@ +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Invokes a Redis function + * @param parser - The Redis command parser + * @param functionName - Name of the function to call + * @param options - Function execution options including keys and arguments + */ + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; +}; +export default _default; +//# sourceMappingURL=FCALL.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FCALL.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/FCALL.d.ts.map new file mode 100644 index 0000000..63162c4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FCALL.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"FCALL.d.ts","sourceRoot":"","sources":["../../../lib/commands/FCALL.ts"],"names":[],"mappings":";;IAKE;;;;;OAKG;;;;AAPL,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FCALL.js b/back/node_modules/@redis/client/dist/lib/commands/FCALL.js new file mode 100644 index 0000000..a74980f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FCALL.js @@ -0,0 +1,41 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const EVAL_1 = __importStar(require("./EVAL")); +exports.default = { + IS_READ_ONLY: false, + /** + * Invokes a Redis function + * @param parser - The Redis command parser + * @param functionName - Name of the function to call + * @param options - Function execution options including keys and arguments + */ + parseCommand(...args) { + args[0].push('FCALL'); + (0, EVAL_1.parseEvalArguments)(...args); + }, + transformReply: EVAL_1.default.transformReply +}; +//# sourceMappingURL=FCALL.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FCALL.js.map b/back/node_modules/@redis/client/dist/lib/commands/FCALL.js.map new file mode 100644 index 0000000..17bc4ee --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FCALL.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FCALL.js","sourceRoot":"","sources":["../../../lib/commands/FCALL.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,+CAAkD;AAElD,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,GAAG,IAA2C;QACzD,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,IAAA,yBAAkB,EAAC,GAAG,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,cAAc,EAAE,cAAI,CAAC,cAAc;CACT,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FCALL_RO.d.ts b/back/node_modules/@redis/client/dist/lib/commands/FCALL_RO.d.ts new file mode 100644 index 0000000..4b5b368 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FCALL_RO.d.ts @@ -0,0 +1,13 @@ +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Invokes a read-only Redis function + * @param parser - The Redis command parser + * @param functionName - Name of the function to call + * @param options - Function execution options including keys and arguments + */ + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; +}; +export default _default; +//# sourceMappingURL=FCALL_RO.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FCALL_RO.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/FCALL_RO.d.ts.map new file mode 100644 index 0000000..d92e27f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FCALL_RO.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"FCALL_RO.d.ts","sourceRoot":"","sources":["../../../lib/commands/FCALL_RO.ts"],"names":[],"mappings":";;IAKE;;;;;OAKG;;;;AAPL,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FCALL_RO.js b/back/node_modules/@redis/client/dist/lib/commands/FCALL_RO.js new file mode 100644 index 0000000..cacd689 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FCALL_RO.js @@ -0,0 +1,41 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const EVAL_1 = __importStar(require("./EVAL")); +exports.default = { + IS_READ_ONLY: false, + /** + * Invokes a read-only Redis function + * @param parser - The Redis command parser + * @param functionName - Name of the function to call + * @param options - Function execution options including keys and arguments + */ + parseCommand(...args) { + args[0].push('FCALL_RO'); + (0, EVAL_1.parseEvalArguments)(...args); + }, + transformReply: EVAL_1.default.transformReply +}; +//# sourceMappingURL=FCALL_RO.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FCALL_RO.js.map b/back/node_modules/@redis/client/dist/lib/commands/FCALL_RO.js.map new file mode 100644 index 0000000..fb35f32 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FCALL_RO.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FCALL_RO.js","sourceRoot":"","sources":["../../../lib/commands/FCALL_RO.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,+CAAkD;AAElD,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,GAAG,IAA2C;QACzD,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzB,IAAA,yBAAkB,EAAC,GAAG,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,cAAc,EAAE,cAAI,CAAC,cAAc;CACT,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FLUSHALL.d.ts b/back/node_modules/@redis/client/dist/lib/commands/FLUSHALL.d.ts new file mode 100644 index 0000000..400bd6f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FLUSHALL.d.ts @@ -0,0 +1,20 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +export declare const REDIS_FLUSH_MODES: { + readonly ASYNC: "ASYNC"; + readonly SYNC: "SYNC"; +}; +export type RedisFlushMode = typeof REDIS_FLUSH_MODES[keyof typeof REDIS_FLUSH_MODES]; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + /** + * Removes all keys from all databases + * @param parser - The Redis command parser + * @param mode - Optional flush mode (ASYNC or SYNC) + */ + readonly parseCommand: (this: void, parser: CommandParser, mode?: RedisFlushMode) => void; + readonly transformReply: () => SimpleStringReply; +}; +export default _default; +//# sourceMappingURL=FLUSHALL.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FLUSHALL.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/FLUSHALL.d.ts.map new file mode 100644 index 0000000..4f78e82 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FLUSHALL.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"FLUSHALL.d.ts","sourceRoot":"","sources":["../../../lib/commands/FLUSHALL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;AAE3D,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,OAAO,iBAAiB,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;;;;IAKpF;;;;OAIG;gDACkB,aAAa,SAAS,cAAc;mCAMX,iBAAiB;;AAdjE,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FLUSHALL.js b/back/node_modules/@redis/client/dist/lib/commands/FLUSHALL.js new file mode 100644 index 0000000..6bcd667 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FLUSHALL.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.REDIS_FLUSH_MODES = void 0; +exports.REDIS_FLUSH_MODES = { + ASYNC: 'ASYNC', + SYNC: 'SYNC' +}; +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: false, + /** + * Removes all keys from all databases + * @param parser - The Redis command parser + * @param mode - Optional flush mode (ASYNC or SYNC) + */ + parseCommand(parser, mode) { + parser.push('FLUSHALL'); + if (mode) { + parser.push(mode); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=FLUSHALL.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FLUSHALL.js.map b/back/node_modules/@redis/client/dist/lib/commands/FLUSHALL.js.map new file mode 100644 index 0000000..696acff --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FLUSHALL.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FLUSHALL.js","sourceRoot":"","sources":["../../../lib/commands/FLUSHALL.ts"],"names":[],"mappings":";;;AAGa,QAAA,iBAAiB,GAAG;IAC/B,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;CACJ,CAAC;AAIX,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,IAAqB;QACvD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAA+C;CACrC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FLUSHDB.d.ts b/back/node_modules/@redis/client/dist/lib/commands/FLUSHDB.d.ts new file mode 100644 index 0000000..753a98b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FLUSHDB.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +import { RedisFlushMode } from './FLUSHALL'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + /** + * Removes all keys from the current database + * @param parser - The Redis command parser + * @param mode - Optional flush mode (ASYNC or SYNC) + */ + readonly parseCommand: (this: void, parser: CommandParser, mode?: RedisFlushMode) => void; + readonly transformReply: () => SimpleStringReply; +}; +export default _default; +//# sourceMappingURL=FLUSHDB.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FLUSHDB.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/FLUSHDB.d.ts.map new file mode 100644 index 0000000..88f81a9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FLUSHDB.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"FLUSHDB.d.ts","sourceRoot":"","sources":["../../../lib/commands/FLUSHDB.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;;;;IAK1C;;;;OAIG;gDACkB,aAAa,SAAS,cAAc;mCAMX,iBAAiB;;AAdjE,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FLUSHDB.js b/back/node_modules/@redis/client/dist/lib/commands/FLUSHDB.js new file mode 100644 index 0000000..2a5aa7c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FLUSHDB.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: false, + /** + * Removes all keys from the current database + * @param parser - The Redis command parser + * @param mode - Optional flush mode (ASYNC or SYNC) + */ + parseCommand(parser, mode) { + parser.push('FLUSHDB'); + if (mode) { + parser.push(mode); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=FLUSHDB.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FLUSHDB.js.map b/back/node_modules/@redis/client/dist/lib/commands/FLUSHDB.js.map new file mode 100644 index 0000000..8b22667 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FLUSHDB.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FLUSHDB.js","sourceRoot":"","sources":["../../../lib/commands/FLUSHDB.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,IAAqB;QACvD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAA+C;CACrC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DELETE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DELETE.d.ts new file mode 100644 index 0000000..cc229f6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DELETE.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + /** + * Deletes a library and all its functions + * @param parser - The Redis command parser + * @param library - Name of the library to delete + */ + readonly parseCommand: (this: void, parser: CommandParser, library: RedisArgument) => void; + readonly transformReply: () => SimpleStringReply; +}; +export default _default; +//# sourceMappingURL=FUNCTION_DELETE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DELETE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DELETE.d.ts.map new file mode 100644 index 0000000..815f8eb --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DELETE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"FUNCTION_DELETE.d.ts","sourceRoot":"","sources":["../../../lib/commands/FUNCTION_DELETE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKxE;;;;OAIG;gDACkB,aAAa,WAAW,aAAa;mCAGZ,iBAAiB;;AAXjE,wBAY6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DELETE.js b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DELETE.js new file mode 100644 index 0000000..3f9187a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DELETE.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: false, + /** + * Deletes a library and all its functions + * @param parser - The Redis command parser + * @param library - Name of the library to delete + */ + parseCommand(parser, library) { + parser.push('FUNCTION', 'DELETE', library); + }, + transformReply: undefined +}; +//# sourceMappingURL=FUNCTION_DELETE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DELETE.js.map b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DELETE.js.map new file mode 100644 index 0000000..52ab219 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DELETE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FUNCTION_DELETE.js","sourceRoot":"","sources":["../../../lib/commands/FUNCTION_DELETE.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,OAAsB;QACxD,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IACD,cAAc,EAAE,SAA+C;CACrC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DUMP.d.ts b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DUMP.d.ts new file mode 100644 index 0000000..41806e4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DUMP.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns a serialized payload representing the current functions loaded in the server + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => BlobStringReply; +}; +export default _default; +//# sourceMappingURL=FUNCTION_DUMP.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DUMP.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DUMP.d.ts.map new file mode 100644 index 0000000..af18a6c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DUMP.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"FUNCTION_DUMP.d.ts","sourceRoot":"","sources":["../../../lib/commands/FUNCTION_DUMP.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;;IAKvD;;;OAGG;gDACkB,aAAa;mCAGY,eAAe;;AAV/D,wBAW6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DUMP.js b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DUMP.js new file mode 100644 index 0000000..e83d213 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DUMP.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns a serialized payload representing the current functions loaded in the server + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('FUNCTION', 'DUMP'); + }, + transformReply: undefined +}; +//# sourceMappingURL=FUNCTION_DUMP.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DUMP.js.map b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DUMP.js.map new file mode 100644 index 0000000..4fcd504 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_DUMP.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FUNCTION_DUMP.js","sourceRoot":"","sources":["../../../lib/commands/FUNCTION_DUMP.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IACjC,CAAC;IACD,cAAc,EAAE,SAA6C;CACnC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_FLUSH.d.ts b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_FLUSH.d.ts new file mode 100644 index 0000000..b7f8ad8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_FLUSH.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +import { RedisFlushMode } from './FLUSHALL'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + /** + * Deletes all the libraries and functions from a Redis server + * @param parser - The Redis command parser + * @param mode - Optional flush mode (ASYNC or SYNC) + */ + readonly parseCommand: (this: void, parser: CommandParser, mode?: RedisFlushMode) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=FUNCTION_FLUSH.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_FLUSH.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_FLUSH.d.ts.map new file mode 100644 index 0000000..2907620 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_FLUSH.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"FUNCTION_FLUSH.d.ts","sourceRoot":"","sources":["../../../lib/commands/FUNCTION_FLUSH.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;;;;IAK1C;;;;OAIG;gDACkB,aAAa,SAAS,cAAc;mCAOX,kBAAkB,IAAI,CAAC;;AAfvE,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_FLUSH.js b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_FLUSH.js new file mode 100644 index 0000000..cbbedb5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_FLUSH.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: false, + /** + * Deletes all the libraries and functions from a Redis server + * @param parser - The Redis command parser + * @param mode - Optional flush mode (ASYNC or SYNC) + */ + parseCommand(parser, mode) { + parser.push('FUNCTION', 'FLUSH'); + if (mode) { + parser.push(mode); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=FUNCTION_FLUSH.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_FLUSH.js.map b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_FLUSH.js.map new file mode 100644 index 0000000..6c704e8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_FLUSH.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FUNCTION_FLUSH.js","sourceRoot":"","sources":["../../../lib/commands/FUNCTION_FLUSH.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,IAAqB;QACvD,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAEjC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_KILL.d.ts b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_KILL.d.ts new file mode 100644 index 0000000..7fde399 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_KILL.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Kills a function that is currently executing + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => SimpleStringReply; +}; +export default _default; +//# sourceMappingURL=FUNCTION_KILL.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_KILL.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_KILL.d.ts.map new file mode 100644 index 0000000..fe194be --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_KILL.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"FUNCTION_KILL.d.ts","sourceRoot":"","sources":["../../../lib/commands/FUNCTION_KILL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKzD;;;OAGG;gDACkB,aAAa;mCAGY,iBAAiB;;AAVjE,wBAW6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_KILL.js b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_KILL.js new file mode 100644 index 0000000..44bb287 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_KILL.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Kills a function that is currently executing + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('FUNCTION', 'KILL'); + }, + transformReply: undefined +}; +//# sourceMappingURL=FUNCTION_KILL.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_KILL.js.map b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_KILL.js.map new file mode 100644 index 0000000..c4506b8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_KILL.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FUNCTION_KILL.js","sourceRoot":"","sources":["../../../lib/commands/FUNCTION_KILL.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IACD,cAAc,EAAE,SAA+C;CACrC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST.d.ts b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST.d.ts new file mode 100644 index 0000000..254b099 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST.d.ts @@ -0,0 +1,57 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, TuplesToMapReply, BlobStringReply, ArrayReply, NullReply, SetReply, UnwrapReply, Resp2Reply } from '../RESP/types'; +export interface FunctionListOptions { + LIBRARYNAME?: RedisArgument; +} +export type FunctionListReplyItem = [ + [ + BlobStringReply<'library_name'>, + BlobStringReply | NullReply + ], + [ + BlobStringReply<'engine'>, + BlobStringReply + ], + [ + BlobStringReply<'functions'>, + ArrayReply, + BlobStringReply + ], + [ + BlobStringReply<'description'>, + BlobStringReply | NullReply + ], + [ + BlobStringReply<'flags'>, + SetReply + ] + ]>> + ] +]; +export type FunctionListReply = ArrayReply>; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + /** + * Returns all libraries and functions + * @param parser - The Redis command parser + * @param options - Options for listing functions + */ + readonly parseCommand: (this: void, parser: CommandParser, options?: FunctionListOptions) => void; + readonly transformReply: { + readonly 2: (reply: UnwrapReply>) => { + library_name: NullReply | BlobStringReply; + engine: BlobStringReply; + functions: { + name: BlobStringReply; + description: NullReply | BlobStringReply; + flags: import("../RESP/types").RespType<126, BlobStringReply[], never, BlobStringReply[]>; + }[]; + }[]; + readonly 3: () => FunctionListReply; + }; +}; +export default _default; +//# sourceMappingURL=FUNCTION_LIST.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST.d.ts.map new file mode 100644 index 0000000..b8a53d1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"FUNCTION_LIST.d.ts","sourceRoot":"","sources":["../../../lib/commands/FUNCTION_LIST.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAW,MAAM,eAAe,CAAC;AAEpJ,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,aAAa,CAAC;CAC7B;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC;QAAC,eAAe,CAAC,cAAc,CAAC;QAAE,eAAe,GAAG,SAAS;KAAC;IAC9D;QAAC,eAAe,CAAC,QAAQ,CAAC;QAAE,eAAe;KAAC;IAC5C;QAAC,eAAe,CAAC,WAAW,CAAC;QAAE,UAAU,CAAC,gBAAgB,CAAC;YACzD;gBAAC,eAAe,CAAC,MAAM,CAAC;gBAAE,eAAe;aAAC;YAC1C;gBAAC,eAAe,CAAC,aAAa,CAAC;gBAAE,eAAe,GAAG,SAAS;aAAC;YAC7D;gBAAC,eAAe,CAAC,OAAO,CAAC;gBAAE,QAAQ,CAAC,eAAe,CAAC;aAAC;SACtD,CAAC,CAAC;KAAC;CACL,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,CAAC;;;;IAKlF;;;;OAIG;gDACkB,aAAa,YAAY,mBAAmB;;4BAQpD,YAAY,WAAW,iBAAiB,CAAC,CAAC;;;;;;;;;;;;AAhBzD,wBAmC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST.js b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST.js new file mode 100644 index 0000000..e277971 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST.js @@ -0,0 +1,38 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: false, + /** + * Returns all libraries and functions + * @param parser - The Redis command parser + * @param options - Options for listing functions + */ + parseCommand(parser, options) { + parser.push('FUNCTION', 'LIST'); + if (options?.LIBRARYNAME) { + parser.push('LIBRARYNAME', options.LIBRARYNAME); + } + }, + transformReply: { + 2: (reply) => { + return reply.map(library => { + const unwrapped = library; + return { + library_name: unwrapped[1], + engine: unwrapped[3], + functions: unwrapped[5].map(fn => { + const unwrapped = fn; + return { + name: unwrapped[1], + description: unwrapped[3], + flags: unwrapped[5] + }; + }) + }; + }); + }, + 3: undefined + } +}; +//# sourceMappingURL=FUNCTION_LIST.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST.js.map b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST.js.map new file mode 100644 index 0000000..91044c8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FUNCTION_LIST.js","sourceRoot":"","sources":["../../../lib/commands/FUNCTION_LIST.ts"],"names":[],"mappings":";;AAmBA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,OAA6B;QAC/D,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAEhC,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAAiD,EAAE,EAAE;YACvD,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;gBACzB,MAAM,SAAS,GAAG,OAAiD,CAAC;gBACpE,OAAO;oBACL,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;oBAC1B,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;oBACpB,SAAS,EAAG,SAAS,CAAC,CAAC,CAAiD,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;wBAChF,MAAM,SAAS,GAAG,EAAuC,CAAC;wBAC1D,OAAO;4BACL,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;4BAClB,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;4BACzB,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;yBACpB,CAAC;oBACJ,CAAC,CAAC;iBACH,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QACD,CAAC,EAAE,SAA+C;KACnD;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST_WITHCODE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST_WITHCODE.d.ts new file mode 100644 index 0000000..b01e7b6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST_WITHCODE.d.ts @@ -0,0 +1,34 @@ +import { TuplesToMapReply, BlobStringReply, ArrayReply, UnwrapReply, Resp2Reply } from '../RESP/types'; +import { FunctionListReplyItem } from './FUNCTION_LIST'; +export type FunctionListWithCodeReply = ArrayReply, + BlobStringReply + ] +]>>; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + /** + * Returns all libraries and functions including their source code + * @param parser - The Redis command parser + * @param options - Options for listing functions + */ + readonly parseCommand: (this: void, parser: import("../..").CommandParser, options?: import("./FUNCTION_LIST").FunctionListOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: UnwrapReply>) => { + library_name: import("../RESP/types").NullReply | BlobStringReply; + engine: BlobStringReply; + functions: { + name: BlobStringReply; + description: import("../RESP/types").NullReply | BlobStringReply; + flags: import("../RESP/types").RespType<126, BlobStringReply[], never, BlobStringReply[]>; + }[]; + library_code: BlobStringReply; + }[]; + readonly 3: () => FunctionListWithCodeReply; + }; +}; +export default _default; +//# sourceMappingURL=FUNCTION_LIST_WITHCODE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST_WITHCODE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST_WITHCODE.d.ts.map new file mode 100644 index 0000000..493a7ad --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST_WITHCODE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"FUNCTION_LIST_WITHCODE.d.ts","sourceRoot":"","sources":["../../../lib/commands/FUNCTION_LIST_WITHCODE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAW,MAAM,eAAe,CAAC;AAChH,OAAsB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAEvE,MAAM,MAAM,yBAAyB,GAAG,UAAU,CAAC,gBAAgB,CAAC;IAClE,GAAG,qBAAqB;IACxB;QAAC,eAAe,CAAC,cAAc,CAAC;QAAE,eAAe;KAAC;CACnD,CAAC,CAAC,CAAC;;;;IAKF;;;;OAIG;;;4BAMU,YAAY,WAAW,yBAAyB,CAAC,CAAC;;;;;;;;;;;;;AAbjE,wBAiC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST_WITHCODE.js b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST_WITHCODE.js new file mode 100644 index 0000000..d079f48 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST_WITHCODE.js @@ -0,0 +1,41 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const FUNCTION_LIST_1 = __importDefault(require("./FUNCTION_LIST")); +exports.default = { + NOT_KEYED_COMMAND: FUNCTION_LIST_1.default.NOT_KEYED_COMMAND, + IS_READ_ONLY: FUNCTION_LIST_1.default.IS_READ_ONLY, + /** + * Returns all libraries and functions including their source code + * @param parser - The Redis command parser + * @param options - Options for listing functions + */ + parseCommand(...args) { + FUNCTION_LIST_1.default.parseCommand(...args); + args[0].push('WITHCODE'); + }, + transformReply: { + 2: (reply) => { + return reply.map(library => { + const unwrapped = library; + return { + library_name: unwrapped[1], + engine: unwrapped[3], + functions: unwrapped[5].map(fn => { + const unwrapped = fn; + return { + name: unwrapped[1], + description: unwrapped[3], + flags: unwrapped[5] + }; + }), + library_code: unwrapped[7] + }; + }); + }, + 3: undefined + } +}; +//# sourceMappingURL=FUNCTION_LIST_WITHCODE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST_WITHCODE.js.map b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST_WITHCODE.js.map new file mode 100644 index 0000000..24402a3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LIST_WITHCODE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FUNCTION_LIST_WITHCODE.js","sourceRoot":"","sources":["../../../lib/commands/FUNCTION_LIST_WITHCODE.ts"],"names":[],"mappings":";;;;;AACA,oEAAuE;AAOvE,kBAAe;IACb,iBAAiB,EAAE,uBAAa,CAAC,iBAAiB;IAClD,YAAY,EAAE,uBAAa,CAAC,YAAY;IACxC;;;;OAIG;IACH,YAAY,CAAC,GAAG,IAAmD;QACjE,uBAAa,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAAyD,EAAE,EAAE;YAC/D,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;gBACzB,MAAM,SAAS,GAAG,OAAiD,CAAC;gBACpE,OAAO;oBACL,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;oBAC1B,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;oBACpB,SAAS,EAAG,SAAS,CAAC,CAAC,CAAiD,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;wBAChF,MAAM,SAAS,GAAG,EAAuC,CAAC;wBAC1D,OAAO;4BACL,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;4BAClB,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;4BACzB,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;yBACpB,CAAC;oBACJ,CAAC,CAAC;oBACF,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;iBAC3B,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QACD,CAAC,EAAE,SAAuD;KAC3D;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LOAD.d.ts b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LOAD.d.ts new file mode 100644 index 0000000..83d6ce9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LOAD.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply } from '../RESP/types'; +export interface FunctionLoadOptions { + REPLACE?: boolean; +} +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + /** + * Loads a library to Redis + * @param parser - The Redis command parser + * @param code - Library code to load + * @param options - Function load options + */ + readonly parseCommand: (this: void, parser: CommandParser, code: RedisArgument, options?: FunctionLoadOptions) => void; + readonly transformReply: () => BlobStringReply; +}; +export default _default; +//# sourceMappingURL=FUNCTION_LOAD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LOAD.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LOAD.d.ts.map new file mode 100644 index 0000000..810f2ad --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LOAD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"FUNCTION_LOAD.d.ts","sourceRoot":"","sources":["../../../lib/commands/FUNCTION_LOAD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AAExE,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;;;;IAKC;;;;;OAKG;gDACkB,aAAa,QAAQ,aAAa,YAAY,mBAAmB;mCASxC,eAAe;;AAlB/D,wBAmB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LOAD.js b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LOAD.js new file mode 100644 index 0000000..8ec09f7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LOAD.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: false, + /** + * Loads a library to Redis + * @param parser - The Redis command parser + * @param code - Library code to load + * @param options - Function load options + */ + parseCommand(parser, code, options) { + parser.push('FUNCTION', 'LOAD'); + if (options?.REPLACE) { + parser.push('REPLACE'); + } + parser.push(code); + }, + transformReply: undefined +}; +//# sourceMappingURL=FUNCTION_LOAD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LOAD.js.map b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LOAD.js.map new file mode 100644 index 0000000..e11b3cc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_LOAD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FUNCTION_LOAD.js","sourceRoot":"","sources":["../../../lib/commands/FUNCTION_LOAD.ts"],"names":[],"mappings":";;AAOA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,IAAmB,EAAE,OAA6B;QACpF,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAEhC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,cAAc,EAAE,SAA6C;CACnC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_RESTORE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_RESTORE.d.ts new file mode 100644 index 0000000..e6112c1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_RESTORE.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply, RedisArgument } from '../RESP/types'; +export interface FunctionRestoreOptions { + mode?: 'FLUSH' | 'APPEND' | 'REPLACE'; +} +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + /** + * Restores libraries from the dump payload + * @param parser - The Redis command parser + * @param dump - Serialized payload of functions to restore + * @param options - Options for the restore operation + */ + readonly parseCommand: (this: void, parser: CommandParser, dump: RedisArgument, options?: FunctionRestoreOptions) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=FUNCTION_RESTORE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_RESTORE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_RESTORE.d.ts.map new file mode 100644 index 0000000..e4bf3a5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_RESTORE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"FUNCTION_RESTORE.d.ts","sourceRoot":"","sources":["../../../lib/commands/FUNCTION_RESTORE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,aAAa,EAAE,MAAM,eAAe,CAAC;AAE1E,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;CACvC;;;;IAKC;;;;;OAKG;gDACkB,aAAa,QAAQ,aAAa,YAAY,sBAAsB;mCAO3C,kBAAkB,IAAI,CAAC;;AAhBvE,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_RESTORE.js b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_RESTORE.js new file mode 100644 index 0000000..e13472c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_RESTORE.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: false, + /** + * Restores libraries from the dump payload + * @param parser - The Redis command parser + * @param dump - Serialized payload of functions to restore + * @param options - Options for the restore operation + */ + parseCommand(parser, dump, options) { + parser.push('FUNCTION', 'RESTORE', dump); + if (options?.mode) { + parser.push(options.mode); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=FUNCTION_RESTORE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_RESTORE.js.map b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_RESTORE.js.map new file mode 100644 index 0000000..fd4c185 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_RESTORE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FUNCTION_RESTORE.js","sourceRoot":"","sources":["../../../lib/commands/FUNCTION_RESTORE.ts"],"names":[],"mappings":";;AAOA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,IAAmB,EAAE,OAAgC;QACvF,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAEzC,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_STATS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_STATS.d.ts new file mode 100644 index 0000000..b328f51 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_STATS.d.ts @@ -0,0 +1,62 @@ +import { CommandParser } from '../client/parser'; +import { TuplesToMapReply, BlobStringReply, NullReply, NumberReply, MapReply } from '../RESP/types'; +type RunningScript = NullReply | TuplesToMapReply<[ + [ + BlobStringReply<'name'>, + BlobStringReply + ], + [ + BlobStringReply<'command'>, + BlobStringReply + ], + [ + BlobStringReply<'duration_ms'>, + NumberReply + ] +]>; +type Engine = TuplesToMapReply<[ + [ + BlobStringReply<'libraries_count'>, + NumberReply + ], + [ + BlobStringReply<'functions_count'>, + NumberReply + ] +]>; +type Engines = MapReply; +type FunctionStatsReply = TuplesToMapReply<[ + [ + BlobStringReply<'running_script'>, + RunningScript + ], + [ + BlobStringReply<'engines'>, + Engines + ] +]>; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns information about the function that is currently running and information about the available execution engines + * @param parser - The Redis command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: { + readonly 2: (reply: [BlobStringReply<"running_script">, NullReply | import("../RESP/types").RespType<42, [BlobStringReply<"name">, BlobStringReply, BlobStringReply<"command">, BlobStringReply, BlobStringReply<"duration_ms">, NumberReply], never, [BlobStringReply<"name">, BlobStringReply, BlobStringReply<"command">, BlobStringReply, BlobStringReply<"duration_ms">, NumberReply]>, BlobStringReply<"engines">, import("../RESP/types").RespType<42, (BlobStringReply | import("../RESP/types").RespType<42, [BlobStringReply<"libraries_count">, NumberReply, BlobStringReply<"functions_count">, NumberReply], never, [BlobStringReply<"libraries_count">, NumberReply, BlobStringReply<"functions_count">, NumberReply]>)[], never, (BlobStringReply | import("../RESP/types").RespType<42, [BlobStringReply<"libraries_count">, NumberReply, BlobStringReply<"functions_count">, NumberReply], never, [BlobStringReply<"libraries_count">, NumberReply, BlobStringReply<"functions_count">, NumberReply]>)[]>]) => { + running_script: { + name: BlobStringReply; + command: BlobStringReply; + duration_ms: NumberReply; + } | null; + engines: Record; + functions_count: NumberReply; + }>; + }; + readonly 3: () => FunctionStatsReply; + }; +}; +export default _default; +//# sourceMappingURL=FUNCTION_STATS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_STATS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_STATS.d.ts.map new file mode 100644 index 0000000..50878b2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_STATS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"FUNCTION_STATS.d.ts","sourceRoot":"","sources":["../../../lib/commands/FUNCTION_STATS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAW,gBAAgB,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAA2B,MAAM,eAAe,CAAC;AAGtI,KAAK,aAAa,GAAG,SAAS,GAAG,gBAAgB,CAAC;IAChD;QAAC,eAAe,CAAC,MAAM,CAAC;QAAE,eAAe;KAAC;IAC1C;QAAC,eAAe,CAAC,SAAS,CAAC;QAAE,eAAe;KAAC;IAC7C;QAAC,eAAe,CAAC,aAAa,CAAC;QAAE,WAAW;KAAC;CAC9C,CAAC,CAAC;AAEH,KAAK,MAAM,GAAG,gBAAgB,CAAC;IAC7B;QAAC,eAAe,CAAC,iBAAiB,CAAC;QAAE,WAAW;KAAC;IACjD;QAAC,eAAe,CAAC,iBAAiB,CAAC;QAAE,WAAW;KAAC;CAClD,CAAC,CAAC;AAEH,KAAK,OAAO,GAAG,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AAEjD,KAAK,kBAAkB,GAAG,gBAAgB,CAAC;IACzC;QAAC,eAAe,CAAC,gBAAgB,CAAC;QAAE,aAAa;KAAC;IAClD;QAAC,eAAe,CAAC,SAAS,CAAC;QAAE,OAAO;KAAC;CACtC,CAAC,CAAC;;;;IAKD;;;OAGG;gDACkB,aAAa;;;;;;;;;;;;;;;;AAPpC,wBAmB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_STATS.js b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_STATS.js new file mode 100644 index 0000000..34407ed --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_STATS.js @@ -0,0 +1,47 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns information about the function that is currently running and information about the available execution engines + * @param parser - The Redis command parser + */ + parseCommand(parser) { + parser.push('FUNCTION', 'STATS'); + }, + transformReply: { + 2: (reply) => { + return { + running_script: transformRunningScript(reply[1]), + engines: transformEngines(reply[3]) + }; + }, + 3: undefined + } +}; +function transformRunningScript(reply) { + if ((0, generic_transformers_1.isNullReply)(reply)) { + return null; + } + const unwraped = reply; + return { + name: unwraped[1], + command: unwraped[3], + duration_ms: unwraped[5] + }; +} +function transformEngines(reply) { + const unwraped = reply; + const engines = Object.create(null); + for (let i = 0; i < unwraped.length; i++) { + const name = unwraped[i], stats = unwraped[++i], unwrapedStats = stats; + engines[name.toString()] = { + libraries_count: unwrapedStats[1], + functions_count: unwrapedStats[3] + }; + } + return engines; +} +//# sourceMappingURL=FUNCTION_STATS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_STATS.js.map b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_STATS.js.map new file mode 100644 index 0000000..01a77fb --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/FUNCTION_STATS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FUNCTION_STATS.js","sourceRoot":"","sources":["../../../lib/commands/FUNCTION_STATS.ts"],"names":[],"mappings":";;AAEA,iEAAqD;AAoBrD,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAAkD,EAAE,EAAE;YACxD,OAAO;gBACL,cAAc,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAChD,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACpC,CAAC;QACJ,CAAC;QACD,CAAC,EAAE,SAAgD;KACpD;CACyB,CAAC;AAE7B,SAAS,sBAAsB,CAAC,KAAgC;IAC9D,IAAI,IAAA,kCAAW,EAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,KAA6C,CAAC;IAC/D,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QACjB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QACpB,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAA0B;IAClD,MAAM,QAAQ,GAAG,KAA6C,CAAC;IAE/D,MAAM,OAAO,GAGR,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAoB,EACzC,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAuB,EAC3C,aAAa,GAAG,KAA6C,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG;YACzB,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;YACjC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;SAClC,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEOADD.d.ts b/back/node_modules/@redis/client/dist/lib/commands/GEOADD.d.ts new file mode 100644 index 0000000..4e8075e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEOADD.d.ts @@ -0,0 +1,32 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +import { GeoCoordinates } from './GEOSEARCH'; +export interface GeoMember extends GeoCoordinates { + member: RedisArgument; +} +export interface GeoAddOptions { + condition?: 'NX' | 'XX'; + /** + * @deprecated Use `{ condition: 'NX' }` instead. + */ + NX?: boolean; + /** + * @deprecated Use `{ condition: 'XX' }` instead. + */ + XX?: boolean; + CH?: boolean; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Adds geospatial items to the specified key + * @param parser - The Redis command parser + * @param key - Key to add the geospatial items to + * @param toAdd - Geospatial member(s) to add + * @param options - Options for the GEOADD command + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, toAdd: GeoMember | Array, options?: GeoAddOptions) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=GEOADD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEOADD.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/GEOADD.d.ts.map new file mode 100644 index 0000000..4db0175 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEOADD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GEOADD.d.ts","sourceRoot":"","sources":["../../../lib/commands/GEOADD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,SAAU,SAAQ,cAAc;IAC/C,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB;;OAEG;IACH,EAAE,CAAC,EAAE,OAAO,CAAC;IACb;;OAEG;IACH,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,EAAE,CAAC,EAAE,OAAO,CAAC;CACd;;;IAIC;;;;;;OAMG;gDAEO,aAAa,OAChB,aAAa,SACX,SAAS,GAAG,MAAM,SAAS,CAAC,YACzB,aAAa;mCA0BqB,WAAW;;AAvC3D,wBAwC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEOADD.js b/back/node_modules/@redis/client/dist/lib/commands/GEOADD.js new file mode 100644 index 0000000..7bc4a6d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEOADD.js @@ -0,0 +1,41 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Adds geospatial items to the specified key + * @param parser - The Redis command parser + * @param key - Key to add the geospatial items to + * @param toAdd - Geospatial member(s) to add + * @param options - Options for the GEOADD command + */ + parseCommand(parser, key, toAdd, options) { + parser.push('GEOADD'); + parser.pushKey(key); + if (options?.condition) { + parser.push(options.condition); + } + else if (options?.NX) { + parser.push('NX'); + } + else if (options?.XX) { + parser.push('XX'); + } + if (options?.CH) { + parser.push('CH'); + } + if (Array.isArray(toAdd)) { + for (const member of toAdd) { + pushMember(parser, member); + } + } + else { + pushMember(parser, toAdd); + } + }, + transformReply: undefined +}; +function pushMember(parser, { longitude, latitude, member }) { + parser.push(longitude.toString(), latitude.toString(), member); +} +//# sourceMappingURL=GEOADD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEOADD.js.map b/back/node_modules/@redis/client/dist/lib/commands/GEOADD.js.map new file mode 100644 index 0000000..426fc0d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEOADD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GEOADD.js","sourceRoot":"","sources":["../../../lib/commands/GEOADD.ts"],"names":[],"mappings":";;AAqBA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;OAMG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,KAAmC,EACnC,OAAuB;QAEvB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACrB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,OAAO,EAAE,EAAE,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;aAAM,IAAI,OAAO,EAAE,EAAE,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,OAAO,EAAE,EAAE,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;gBAC3B,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5B,CAAC;IAEH,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC;AAE7B,SAAS,UAAU,CACjB,MAAqB,EACrB,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAa;IAE1C,MAAM,CAAC,IAAI,CACT,SAAS,CAAC,QAAQ,EAAE,EACpB,QAAQ,CAAC,QAAQ,EAAE,EACnB,MAAM,CACP,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEODIST.d.ts b/back/node_modules/@redis/client/dist/lib/commands/GEODIST.d.ts new file mode 100644 index 0000000..d477415 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEODIST.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply, NullReply } from '../RESP/types'; +import { GeoUnits } from './GEOSEARCH'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Returns the distance between two members in a geospatial index + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param member1 - First member in the geospatial index + * @param member2 - Second member in the geospatial index + * @param unit - Unit of distance (m, km, ft, mi) + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, member1: RedisArgument, member2: RedisArgument, unit?: GeoUnits) => void; + readonly transformReply: (this: void, reply: BlobStringReply | NullReply) => number | null; +}; +export default _default; +//# sourceMappingURL=GEODIST.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEODIST.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/GEODIST.d.ts.map new file mode 100644 index 0000000..766eb0f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEODIST.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GEODIST.d.ts","sourceRoot":"","sources":["../../../lib/commands/GEODIST.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;;;;IAKrC;;;;;;;OAOG;gDACkB,aAAa,OAC3B,aAAa,WACT,aAAa,WACb,aAAa,SACf,QAAQ;iDAUK,eAAe,GAAG,SAAS;;AAzBnD,wBA4B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEODIST.js b/back/node_modules/@redis/client/dist/lib/commands/GEODIST.js new file mode 100644 index 0000000..f019fda --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEODIST.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Returns the distance between two members in a geospatial index + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param member1 - First member in the geospatial index + * @param member2 - Second member in the geospatial index + * @param unit - Unit of distance (m, km, ft, mi) + */ + parseCommand(parser, key, member1, member2, unit) { + parser.push('GEODIST'); + parser.pushKey(key); + parser.push(member1, member2); + if (unit) { + parser.push(unit); + } + }, + transformReply(reply) { + return reply === null ? null : Number(reply); + } +}; +//# sourceMappingURL=GEODIST.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEODIST.js.map b/back/node_modules/@redis/client/dist/lib/commands/GEODIST.js.map new file mode 100644 index 0000000..e81acfc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEODIST.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GEODIST.js","sourceRoot":"","sources":["../../../lib/commands/GEODIST.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAChC,GAAkB,EAClB,OAAsB,EACtB,OAAsB,EACtB,IAAe;QAEf,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAE9B,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,cAAc,CAAC,KAAkC;QAC/C,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEOHASH.d.ts b/back/node_modules/@redis/client/dist/lib/commands/GEOHASH.d.ts new file mode 100644 index 0000000..779fee2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEOHASH.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Returns the Geohash string representation of one or more position members + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param member - One or more members in the geospatial index + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, member: RedisVariadicArgument) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=GEOHASH.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEOHASH.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/GEOHASH.d.ts.map new file mode 100644 index 0000000..1276b63 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEOHASH.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GEOHASH.d.ts","sourceRoot":"","sources":["../../../lib/commands/GEOHASH.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;;IAK7D;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,UAAU,qBAAqB;mCAKvC,WAAW,eAAe,CAAC;;AAd3E,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEOHASH.js b/back/node_modules/@redis/client/dist/lib/commands/GEOHASH.js new file mode 100644 index 0000000..4394a1a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEOHASH.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Returns the Geohash string representation of one or more position members + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param member - One or more members in the geospatial index + */ + parseCommand(parser, key, member) { + parser.push('GEOHASH'); + parser.pushKey(key); + parser.pushVariadic(member); + }, + transformReply: undefined +}; +//# sourceMappingURL=GEOHASH.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEOHASH.js.map b/back/node_modules/@redis/client/dist/lib/commands/GEOHASH.js.map new file mode 100644 index 0000000..9dea6d5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEOHASH.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GEOHASH.js","sourceRoot":"","sources":["../../../lib/commands/GEOHASH.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,MAA6B;QACnF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEOPOS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/GEOPOS.d.ts new file mode 100644 index 0000000..1282e62 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEOPOS.d.ts @@ -0,0 +1,20 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, TuplesReply, BlobStringReply, NullReply, UnwrapReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Returns the longitude and latitude of one or more members in a geospatial index + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param member - One or more members in the geospatial index + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, member: RedisVariadicArgument) => void; + readonly transformReply: (this: void, reply: UnwrapReply | NullReply>>) => ({ + longitude: BlobStringReply; + latitude: BlobStringReply; + } | null)[]; +}; +export default _default; +//# sourceMappingURL=GEOPOS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEOPOS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/GEOPOS.d.ts.map new file mode 100644 index 0000000..6ddcb7e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEOPOS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GEOPOS.d.ts","sourceRoot":"","sources":["../../../lib/commands/GEOPOS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACzH,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;;IAK7D;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,UAAU,qBAAqB;iDAK/D,YAAY,WAAW,YAAY,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;;;;;AAd5G,wBAuB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEOPOS.js b/back/node_modules/@redis/client/dist/lib/commands/GEOPOS.js new file mode 100644 index 0000000..f3161f2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEOPOS.js @@ -0,0 +1,27 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Returns the longitude and latitude of one or more members in a geospatial index + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param member - One or more members in the geospatial index + */ + parseCommand(parser, key, member) { + parser.push('GEOPOS'); + parser.pushKey(key); + parser.pushVariadic(member); + }, + transformReply(reply) { + return reply.map(item => { + const unwrapped = item; + return unwrapped === null ? null : { + longitude: unwrapped[0], + latitude: unwrapped[1] + }; + }); + } +}; +//# sourceMappingURL=GEOPOS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEOPOS.js.map b/back/node_modules/@redis/client/dist/lib/commands/GEOPOS.js.map new file mode 100644 index 0000000..771c007 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEOPOS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GEOPOS.js","sourceRoot":"","sources":["../../../lib/commands/GEOPOS.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,MAA6B;QACnF,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IACD,cAAc,CAAC,KAA2F;QACxG,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACtB,MAAM,SAAS,GAAG,IAA2C,CAAC;YAC9D,OAAO,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;gBACvB,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;aACvB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS.d.ts new file mode 100644 index 0000000..ec2df3d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS.d.ts @@ -0,0 +1,20 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '../RESP/types'; +import { GeoCoordinates, GeoUnits, GeoSearchOptions } from './GEOSEARCH'; +export declare function parseGeoRadiusArguments(parser: CommandParser, key: RedisArgument, from: GeoCoordinates, radius: number, unit: GeoUnits, options?: GeoSearchOptions): void; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Queries members in a geospatial index based on a radius from a center point + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param from - Center coordinates for the search + * @param radius - Radius of the search area + * @param unit - Unit of distance (m, km, ft, mi) + * @param options - Additional search options + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, from: GeoCoordinates, radius: number, unit: GeoUnits, options?: GeoSearchOptions | undefined) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=GEORADIUS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS.d.ts.map new file mode 100644 index 0000000..9a633ad --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GEORADIUS.d.ts","sourceRoot":"","sources":["../../../lib/commands/GEORADIUS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,gBAAgB,EAAyB,MAAM,aAAa,CAAC;AAEhG,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ,EACd,OAAO,CAAC,EAAE,gBAAgB,QAM3B;;;IAIC;;;;;;;;OAQG;;mCAK2C,WAAW,eAAe,CAAC;;AAf3E,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS.js b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS.js new file mode 100644 index 0000000..3645988 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS.js @@ -0,0 +1,28 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseGeoRadiusArguments = void 0; +const GEOSEARCH_1 = require("./GEOSEARCH"); +function parseGeoRadiusArguments(parser, key, from, radius, unit, options) { + parser.pushKey(key); + parser.push(from.longitude.toString(), from.latitude.toString(), radius.toString(), unit); + (0, GEOSEARCH_1.parseGeoSearchOptions)(parser, options); +} +exports.parseGeoRadiusArguments = parseGeoRadiusArguments; +exports.default = { + IS_READ_ONLY: false, + /** + * Queries members in a geospatial index based on a radius from a center point + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param from - Center coordinates for the search + * @param radius - Radius of the search area + * @param unit - Unit of distance (m, km, ft, mi) + * @param options - Additional search options + */ + parseCommand(...args) { + args[0].push('GEORADIUS'); + return parseGeoRadiusArguments(...args); + }, + transformReply: undefined +}; +//# sourceMappingURL=GEORADIUS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS.js.map b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS.js.map new file mode 100644 index 0000000..978fec3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GEORADIUS.js","sourceRoot":"","sources":["../../../lib/commands/GEORADIUS.ts"],"names":[],"mappings":";;;AAEA,2CAAgG;AAEhG,SAAgB,uBAAuB,CACrC,MAAqB,EACrB,GAAkB,EAClB,IAAoB,EACpB,MAAc,EACd,IAAc,EACd,OAA0B;IAE1B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;IAE1F,IAAA,iCAAqB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AACxC,CAAC;AAZD,0DAYC;AAED,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;OAQG;IACH,YAAY,CAAC,GAAG,IAAgD;QAC9D,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1B,OAAO,uBAAuB,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1C,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER.d.ts b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER.d.ts new file mode 100644 index 0000000..2f33223 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER.d.ts @@ -0,0 +1,20 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '../RESP/types'; +import { GeoUnits, GeoSearchOptions } from './GEOSEARCH'; +export declare function parseGeoRadiusByMemberArguments(parser: CommandParser, key: RedisArgument, from: RedisArgument, radius: number, unit: GeoUnits, options?: GeoSearchOptions): void; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Queries members in a geospatial index based on a radius from a member + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param from - Member name to use as center point + * @param radius - Radius of the search area + * @param unit - Unit of distance (m, km, ft, mi) + * @param options - Additional search options + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, from: RedisArgument, radius: number, unit: GeoUnits, options?: GeoSearchOptions) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=GEORADIUSBYMEMBER.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER.d.ts.map new file mode 100644 index 0000000..721e395 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GEORADIUSBYMEMBER.d.ts","sourceRoot":"","sources":["../../../lib/commands/GEORADIUSBYMEMBER.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAyB,MAAM,aAAa,CAAC;AAEhF,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ,EACd,OAAO,CAAC,EAAE,gBAAgB,QAM3B;;;IAIC;;;;;;;;OAQG;gDAEO,aAAa,OAChB,aAAa,QACZ,aAAa,UACX,MAAM,QACR,QAAQ,YACJ,gBAAgB;mCAKkB,WAAW,eAAe,CAAC;;AAtB3E,wBAuB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER.js b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER.js new file mode 100644 index 0000000..442b08a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER.js @@ -0,0 +1,28 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseGeoRadiusByMemberArguments = void 0; +const GEOSEARCH_1 = require("./GEOSEARCH"); +function parseGeoRadiusByMemberArguments(parser, key, from, radius, unit, options) { + parser.pushKey(key); + parser.push(from, radius.toString(), unit); + (0, GEOSEARCH_1.parseGeoSearchOptions)(parser, options); +} +exports.parseGeoRadiusByMemberArguments = parseGeoRadiusByMemberArguments; +exports.default = { + IS_READ_ONLY: false, + /** + * Queries members in a geospatial index based on a radius from a member + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param from - Member name to use as center point + * @param radius - Radius of the search area + * @param unit - Unit of distance (m, km, ft, mi) + * @param options - Additional search options + */ + parseCommand(parser, key, from, radius, unit, options) { + parser.push('GEORADIUSBYMEMBER'); + parseGeoRadiusByMemberArguments(parser, key, from, radius, unit, options); + }, + transformReply: undefined +}; +//# sourceMappingURL=GEORADIUSBYMEMBER.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER.js.map b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER.js.map new file mode 100644 index 0000000..8cc47e1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GEORADIUSBYMEMBER.js","sourceRoot":"","sources":["../../../lib/commands/GEORADIUSBYMEMBER.ts"],"names":[],"mappings":";;;AAEA,2CAAgF;AAEhF,SAAgB,+BAA+B,CAC7C,MAAqB,EACrB,GAAkB,EAClB,IAAmB,EACnB,MAAc,EACd,IAAc,EACd,OAA0B;IAE1B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;IAE3C,IAAA,iCAAqB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AAZD,0EAYC;AAED,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;OAQG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,IAAmB,EACnB,MAAc,EACd,IAAc,EACd,OAA0B;QAE1B,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACjC,+BAA+B,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO.d.ts b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO.d.ts new file mode 100644 index 0000000..abe312f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO.d.ts @@ -0,0 +1,17 @@ +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Read-only variant that queries members in a geospatial index based on a radius from a member + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param from - Member name to use as center point + * @param radius - Radius of the search area + * @param unit - Unit of distance (m, km, ft, mi) + * @param options - Additional search options + */ + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("../RESP/types").RedisArgument, radius: number, unit: import("./GEOSEARCH").GeoUnits, options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; +}; +export default _default; +//# sourceMappingURL=GEORADIUSBYMEMBER_RO.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO.d.ts.map new file mode 100644 index 0000000..c228ca6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GEORADIUSBYMEMBER_RO.d.ts","sourceRoot":"","sources":["../../../lib/commands/GEORADIUSBYMEMBER_RO.ts"],"names":[],"mappings":";;;IAME;;;;;;;;OAQG;;;;AAXL,wBAkB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO.js b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO.js new file mode 100644 index 0000000..d0310cd --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO.js @@ -0,0 +1,46 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const GEORADIUSBYMEMBER_1 = __importStar(require("./GEORADIUSBYMEMBER")); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Read-only variant that queries members in a geospatial index based on a radius from a member + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param from - Member name to use as center point + * @param radius - Radius of the search area + * @param unit - Unit of distance (m, km, ft, mi) + * @param options - Additional search options + */ + parseCommand(...args) { + const parser = args[0]; + parser.push('GEORADIUSBYMEMBER_RO'); + (0, GEORADIUSBYMEMBER_1.parseGeoRadiusByMemberArguments)(...args); + }, + transformReply: GEORADIUSBYMEMBER_1.default.transformReply +}; +//# sourceMappingURL=GEORADIUSBYMEMBER_RO.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO.js.map b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO.js.map new file mode 100644 index 0000000..a618910 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GEORADIUSBYMEMBER_RO.js","sourceRoot":"","sources":["../../../lib/commands/GEORADIUSBYMEMBER_RO.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,yEAAyF;AAEzF,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CAAC,GAAG,IAAwD;QACtE,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACpC,IAAA,mDAA+B,EAAC,GAAG,IAAI,CAAC,CAAC;IAC3C,CAAC;IACD,cAAc,EAAE,2BAAiB,CAAC,cAAc;CACtB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO_WITH.d.ts b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO_WITH.d.ts new file mode 100644 index 0000000..ba072ad --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO_WITH.d.ts @@ -0,0 +1,17 @@ +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Read-only variant that queries members in a geospatial index based on a radius from a member with additional information + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param from - Member name to use as center point + * @param radius - Radius of the search area + * @param unit - Unit of distance (m, km, ft, mi) + * @param withValues - Information to include with each returned member + */ + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("../RESP/types").RedisArgument, radius: number, unit: import("./GEOSEARCH").GeoUnits, replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[], options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, ...any[]]>[], replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[]) => import("./GEOSEARCH_WITH").GeoReplyWithMember[]; +}; +export default _default; +//# sourceMappingURL=GEORADIUSBYMEMBER_RO_WITH.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO_WITH.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO_WITH.d.ts.map new file mode 100644 index 0000000..2d71c13 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO_WITH.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GEORADIUSBYMEMBER_RO_WITH.d.ts","sourceRoot":"","sources":["../../../lib/commands/GEORADIUSBYMEMBER_RO_WITH.ts"],"names":[],"mappings":";;;IAME;;;;;;;;OAQG;;;;AAXL,wBAkB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO_WITH.js b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO_WITH.js new file mode 100644 index 0000000..a4f21d4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO_WITH.js @@ -0,0 +1,46 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const GEORADIUSBYMEMBER_WITH_1 = __importStar(require("./GEORADIUSBYMEMBER_WITH")); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Read-only variant that queries members in a geospatial index based on a radius from a member with additional information + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param from - Member name to use as center point + * @param radius - Radius of the search area + * @param unit - Unit of distance (m, km, ft, mi) + * @param withValues - Information to include with each returned member + */ + parseCommand(...args) { + const parser = args[0]; + parser.push('GEORADIUSBYMEMBER_RO'); + (0, GEORADIUSBYMEMBER_WITH_1.parseGeoRadiusByMemberWithArguments)(...args); + }, + transformReply: GEORADIUSBYMEMBER_WITH_1.default.transformReply +}; +//# sourceMappingURL=GEORADIUSBYMEMBER_RO_WITH.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO_WITH.js.map b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO_WITH.js.map new file mode 100644 index 0000000..1515bbf --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_RO_WITH.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GEORADIUSBYMEMBER_RO_WITH.js","sourceRoot":"","sources":["../../../lib/commands/GEORADIUSBYMEMBER_RO_WITH.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,mFAAuG;AAEvG,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CAAC,GAAG,IAA4D;QAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACpC,IAAA,4DAAmC,EAAC,GAAG,IAAI,CAAC,CAAC;IAC/C,CAAC;IACD,cAAc,EAAE,gCAAsB,CAAC,cAAc;CAC3B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_STORE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_STORE.d.ts new file mode 100644 index 0000000..33b6170 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_STORE.d.ts @@ -0,0 +1,23 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +import { GeoSearchOptions, GeoUnits } from './GEOSEARCH'; +export interface GeoRadiusStoreOptions extends GeoSearchOptions { + STOREDIST?: boolean; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Queries members in a geospatial index based on a radius from a member and stores the results + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param from - Member name to use as center point + * @param radius - Radius of the search area + * @param unit - Unit of distance (m, km, ft, mi) + * @param destination - Key to store the results + * @param options - Additional search and storage options + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, from: RedisArgument, radius: number, unit: GeoUnits, destination: RedisArgument, options?: GeoRadiusStoreOptions) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=GEORADIUSBYMEMBER_STORE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_STORE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_STORE.d.ts.map new file mode 100644 index 0000000..f22a232 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_STORE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GEORADIUSBYMEMBER_STORE.d.ts","sourceRoot":"","sources":["../../../lib/commands/GEORADIUSBYMEMBER_STORE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AAEpE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEzD,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;;;IAIC;;;;;;;;;OASG;gDAEO,aAAa,OAChB,aAAa,QACZ,aAAa,UACX,MAAM,QACR,QAAQ,eACD,aAAa,YAChB,qBAAqB;mCAaa,WAAW;;AAhC3D,wBAiC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_STORE.js b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_STORE.js new file mode 100644 index 0000000..a35b356 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_STORE.js @@ -0,0 +1,53 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const GEORADIUSBYMEMBER_1 = __importStar(require("./GEORADIUSBYMEMBER")); +exports.default = { + IS_READ_ONLY: GEORADIUSBYMEMBER_1.default.IS_READ_ONLY, + /** + * Queries members in a geospatial index based on a radius from a member and stores the results + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param from - Member name to use as center point + * @param radius - Radius of the search area + * @param unit - Unit of distance (m, km, ft, mi) + * @param destination - Key to store the results + * @param options - Additional search and storage options + */ + parseCommand(parser, key, from, radius, unit, destination, options) { + parser.push('GEORADIUSBYMEMBER'); + (0, GEORADIUSBYMEMBER_1.parseGeoRadiusByMemberArguments)(parser, key, from, radius, unit, options); + if (options?.STOREDIST) { + parser.push('STOREDIST'); + parser.pushKey(destination); + } + else { + parser.push('STORE'); + parser.pushKey(destination); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=GEORADIUSBYMEMBER_STORE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_STORE.js.map b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_STORE.js.map new file mode 100644 index 0000000..e0c7cff --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_STORE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GEORADIUSBYMEMBER_STORE.js","sourceRoot":"","sources":["../../../lib/commands/GEORADIUSBYMEMBER_STORE.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yEAAyF;AAOzF,kBAAe;IACb,YAAY,EAAE,2BAAiB,CAAC,YAAY;IAC5C;;;;;;;;;OASG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,IAAmB,EACnB,MAAc,EACd,IAAc,EACd,WAA0B,EAC1B,OAA+B;QAE/B,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QAChC,IAAA,mDAA+B,EAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAE1E,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACzB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_WITH.d.ts b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_WITH.d.ts new file mode 100644 index 0000000..433eb78 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_WITH.d.ts @@ -0,0 +1,22 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument } from '../RESP/types'; +import { GeoSearchOptions, GeoUnits } from './GEOSEARCH'; +import { GeoReplyWith } from './GEOSEARCH_WITH'; +export declare function parseGeoRadiusByMemberWithArguments(parser: CommandParser, key: RedisArgument, from: RedisArgument, radius: number, unit: GeoUnits, replyWith: Array, options?: GeoSearchOptions): void; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Queries members in a geospatial index based on a radius from a member with additional information + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param from - Member name to use as center point + * @param radius - Radius of the search area + * @param unit - Unit of distance (m, km, ft, mi) + * @param replyWith - Information to include with each returned member + * @param options - Additional search options + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, from: RedisArgument, radius: number, unit: GeoUnits, replyWith: Array, options?: GeoSearchOptions) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, ...any[]]>[], replyWith: GeoReplyWith[]) => import("./GEOSEARCH_WITH").GeoReplyWithMember[]; +}; +export default _default; +//# sourceMappingURL=GEORADIUSBYMEMBER_WITH.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_WITH.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_WITH.d.ts.map new file mode 100644 index 0000000..372970a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_WITH.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GEORADIUSBYMEMBER_WITH.d.ts","sourceRoot":"","sources":["../../../lib/commands/GEORADIUSBYMEMBER_WITH.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAW,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAyB,MAAM,aAAa,CAAC;AAChF,OAAuB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhE,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ,EACd,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,EAC9B,OAAO,CAAC,EAAE,gBAAgB,QAQ3B;;;IAIC;;;;;;;;;OASG;gDAEO,aAAa,OAChB,aAAa,QACZ,aAAa,UACX,MAAM,QACR,QAAQ,aACH,MAAM,YAAY,CAAC,YACpB,gBAAgB;;;AAnB9B,wBAyB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_WITH.js b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_WITH.js new file mode 100644 index 0000000..3407bde --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_WITH.js @@ -0,0 +1,36 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseGeoRadiusByMemberWithArguments = void 0; +const GEORADIUSBYMEMBER_1 = __importDefault(require("./GEORADIUSBYMEMBER")); +const GEOSEARCH_1 = require("./GEOSEARCH"); +const GEOSEARCH_WITH_1 = __importDefault(require("./GEOSEARCH_WITH")); +function parseGeoRadiusByMemberWithArguments(parser, key, from, radius, unit, replyWith, options) { + parser.pushKey(key); + parser.push(from, radius.toString(), unit); + (0, GEOSEARCH_1.parseGeoSearchOptions)(parser, options); + parser.push(...replyWith); + parser.preserve = replyWith; +} +exports.parseGeoRadiusByMemberWithArguments = parseGeoRadiusByMemberWithArguments; +exports.default = { + IS_READ_ONLY: GEORADIUSBYMEMBER_1.default.IS_READ_ONLY, + /** + * Queries members in a geospatial index based on a radius from a member with additional information + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param from - Member name to use as center point + * @param radius - Radius of the search area + * @param unit - Unit of distance (m, km, ft, mi) + * @param replyWith - Information to include with each returned member + * @param options - Additional search options + */ + parseCommand(parser, key, from, radius, unit, replyWith, options) { + parser.push('GEORADIUSBYMEMBER'); + parseGeoRadiusByMemberWithArguments(parser, key, from, radius, unit, replyWith, options); + }, + transformReply: GEOSEARCH_WITH_1.default.transformReply +}; +//# sourceMappingURL=GEORADIUSBYMEMBER_WITH.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_WITH.js.map b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_WITH.js.map new file mode 100644 index 0000000..1ddb374 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUSBYMEMBER_WITH.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GEORADIUSBYMEMBER_WITH.js","sourceRoot":"","sources":["../../../lib/commands/GEORADIUSBYMEMBER_WITH.ts"],"names":[],"mappings":";;;;;;AAEA,4EAAoD;AACpD,2CAAgF;AAChF,sEAAgE;AAEhE,SAAgB,mCAAmC,CACjD,MAAqB,EACrB,GAAkB,EAClB,IAAmB,EACnB,MAAc,EACd,IAAc,EACd,SAA8B,EAC9B,OAA0B;IAE1B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;IAC3C,IAAA,iCAAqB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEvC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;IAC1B,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC;AAC9B,CAAC;AAfD,kFAeC;AAED,kBAAe;IACb,YAAY,EAAE,2BAAiB,CAAC,YAAY;IAC5C;;;;;;;;;OASG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,IAAmB,EACnB,MAAc,EACd,IAAc,EACd,SAA8B,EAC9B,OAA0B;QAE1B,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACjC,mCAAmC,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3F,CAAC;IACD,cAAc,EAAE,wBAAc,CAAC,cAAc;CACnB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO.d.ts b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO.d.ts new file mode 100644 index 0000000..062092a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO.d.ts @@ -0,0 +1,17 @@ +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Read-only variant that queries members in a geospatial index based on a radius from a center point + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param from - Center coordinates for the search + * @param radius - Radius of the search area + * @param unit - Unit of distance (m, km, ft, mi) + * @param options - Additional search options + */ + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoCoordinates, radius: number, unit: import("./GEOSEARCH").GeoUnits, options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; +}; +export default _default; +//# sourceMappingURL=GEORADIUS_RO.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO.d.ts.map new file mode 100644 index 0000000..d45b82c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GEORADIUS_RO.d.ts","sourceRoot":"","sources":["../../../lib/commands/GEORADIUS_RO.ts"],"names":[],"mappings":";;;IAME;;;;;;;;OAQG;;;;AAXL,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO.js b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO.js new file mode 100644 index 0000000..1e7e6a2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO.js @@ -0,0 +1,45 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const GEORADIUS_1 = __importStar(require("./GEORADIUS")); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Read-only variant that queries members in a geospatial index based on a radius from a center point + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param from - Center coordinates for the search + * @param radius - Radius of the search area + * @param unit - Unit of distance (m, km, ft, mi) + * @param options - Additional search options + */ + parseCommand(...args) { + args[0].push('GEORADIUS_RO'); + (0, GEORADIUS_1.parseGeoRadiusArguments)(...args); + }, + transformReply: GEORADIUS_1.default.transformReply +}; +//# sourceMappingURL=GEORADIUS_RO.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO.js.map b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO.js.map new file mode 100644 index 0000000..6d4c1e5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GEORADIUS_RO.js","sourceRoot":"","sources":["../../../lib/commands/GEORADIUS_RO.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,yDAAiE;AAEjE,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CAAC,GAAG,IAAgD;QAC9D,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7B,IAAA,mCAAuB,EAAC,GAAG,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,cAAc,EAAE,mBAAS,CAAC,cAAc;CACd,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO_WITH.d.ts b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO_WITH.d.ts new file mode 100644 index 0000000..0880cb7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO_WITH.d.ts @@ -0,0 +1,18 @@ +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Read-only variant that queries members in a geospatial index based on a radius from a center point with additional information + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param from - Center coordinates for the search + * @param radius - Radius of the search area + * @param unit - Unit of distance (m, km, ft, mi) + * @param replyWith - Information to include with each returned member + * @param options - Additional search options + */ + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoCoordinates, radius: number, unit: import("./GEOSEARCH").GeoUnits, replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[], options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, ...any[]]>[], replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[]) => import("./GEOSEARCH_WITH").GeoReplyWithMember[]; +}; +export default _default; +//# sourceMappingURL=GEORADIUS_RO_WITH.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO_WITH.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO_WITH.d.ts.map new file mode 100644 index 0000000..d364f51 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO_WITH.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GEORADIUS_RO_WITH.d.ts","sourceRoot":"","sources":["../../../lib/commands/GEORADIUS_RO_WITH.ts"],"names":[],"mappings":";;;IAOE;;;;;;;;;OASG;;;;AAZL,wBAkB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO_WITH.js b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO_WITH.js new file mode 100644 index 0000000..c2142fe --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO_WITH.js @@ -0,0 +1,27 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const GEORADIUS_WITH_1 = require("./GEORADIUS_WITH"); +const GEORADIUS_WITH_2 = __importDefault(require("./GEORADIUS_WITH")); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Read-only variant that queries members in a geospatial index based on a radius from a center point with additional information + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param from - Center coordinates for the search + * @param radius - Radius of the search area + * @param unit - Unit of distance (m, km, ft, mi) + * @param replyWith - Information to include with each returned member + * @param options - Additional search options + */ + parseCommand(...args) { + args[0].push('GEORADIUS_RO'); + (0, GEORADIUS_WITH_1.parseGeoRadiusWithArguments)(...args); + }, + transformReply: GEORADIUS_WITH_2.default.transformReply +}; +//# sourceMappingURL=GEORADIUS_RO_WITH.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO_WITH.js.map b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO_WITH.js.map new file mode 100644 index 0000000..246aae9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_RO_WITH.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GEORADIUS_RO_WITH.js","sourceRoot":"","sources":["../../../lib/commands/GEORADIUS_RO_WITH.ts"],"names":[],"mappings":";;;;;AACA,qDAA+D;AAC/D,sEAA8C;AAE9C,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;;;;OASG;IACH,YAAY,CAAC,GAAG,IAAoD;QAClE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7B,IAAA,4CAA2B,EAAC,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,cAAc,EAAE,wBAAc,CAAC,cAAc;CACnB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_STORE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_STORE.d.ts new file mode 100644 index 0000000..b3397da --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_STORE.d.ts @@ -0,0 +1,23 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +import { GeoCoordinates, GeoSearchOptions, GeoUnits } from './GEOSEARCH'; +export interface GeoRadiusStoreOptions extends GeoSearchOptions { + STOREDIST?: boolean; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Queries members in a geospatial index based on a radius from a center point and stores the results + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param from - Center coordinates for the search + * @param radius - Radius of the search area + * @param unit - Unit of distance (m, km, ft, mi) + * @param destination - Key to store the results + * @param options - Additional search and storage options + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, from: GeoCoordinates, radius: number, unit: GeoUnits, destination: RedisArgument, options?: GeoRadiusStoreOptions) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=GEORADIUS_STORE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_STORE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_STORE.d.ts.map new file mode 100644 index 0000000..1d3c9e3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_STORE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GEORADIUS_STORE.d.ts","sourceRoot":"","sources":["../../../lib/commands/GEORADIUS_STORE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEzE,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;;;IAIC;;;;;;;;;OASG;gDAEO,aAAa,OAChB,aAAa,QACZ,cAAc,UACZ,MAAM,QACR,QAAQ,eACD,aAAa,YAChB,qBAAqB;mCAYa,WAAW;;AA/B3D,wBAgC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_STORE.js b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_STORE.js new file mode 100644 index 0000000..e1c05f8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_STORE.js @@ -0,0 +1,53 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const GEORADIUS_1 = __importStar(require("./GEORADIUS")); +exports.default = { + IS_READ_ONLY: GEORADIUS_1.default.IS_READ_ONLY, + /** + * Queries members in a geospatial index based on a radius from a center point and stores the results + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param from - Center coordinates for the search + * @param radius - Radius of the search area + * @param unit - Unit of distance (m, km, ft, mi) + * @param destination - Key to store the results + * @param options - Additional search and storage options + */ + parseCommand(parser, key, from, radius, unit, destination, options) { + parser.push('GEORADIUS'); + (0, GEORADIUS_1.parseGeoRadiusArguments)(parser, key, from, radius, unit, options); + if (options?.STOREDIST) { + parser.push('STOREDIST'); + parser.pushKey(destination); + } + else { + parser.push('STORE'); + parser.pushKey(destination); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=GEORADIUS_STORE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_STORE.js.map b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_STORE.js.map new file mode 100644 index 0000000..0cd8558 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_STORE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GEORADIUS_STORE.js","sourceRoot":"","sources":["../../../lib/commands/GEORADIUS_STORE.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yDAAiE;AAOjE,kBAAe;IACb,YAAY,EAAE,mBAAS,CAAC,YAAY;IACpC;;;;;;;;;OASG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,IAAoB,EACpB,MAAc,EACd,IAAc,EACd,WAA0B,EAC1B,OAA+B;QAE/B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,IAAA,mCAAuB,EAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAClE,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACzB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_WITH.d.ts b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_WITH.d.ts new file mode 100644 index 0000000..107028a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_WITH.d.ts @@ -0,0 +1,22 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument } from '../RESP/types'; +import { GeoCoordinates, GeoSearchOptions, GeoUnits } from './GEOSEARCH'; +import { GeoReplyWith } from './GEOSEARCH_WITH'; +export declare function parseGeoRadiusWithArguments(parser: CommandParser, key: RedisArgument, from: GeoCoordinates, radius: number, unit: GeoUnits, replyWith: Array, options?: GeoSearchOptions): void; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Queries members in a geospatial index based on a radius from a center point with additional information + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param from - Center coordinates for the search + * @param radius - Radius of the search area + * @param unit - Unit of distance (m, km, ft, mi) + * @param replyWith - Information to include with each returned member + * @param options - Additional search options + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, from: GeoCoordinates, radius: number, unit: GeoUnits, replyWith: Array, options?: GeoSearchOptions) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, ...any[]]>[], replyWith: GeoReplyWith[]) => import("./GEOSEARCH_WITH").GeoReplyWithMember[]; +}; +export default _default; +//# sourceMappingURL=GEORADIUS_WITH.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_WITH.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_WITH.d.ts.map new file mode 100644 index 0000000..cb29c59 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_WITH.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GEORADIUS_WITH.d.ts","sourceRoot":"","sources":["../../../lib/commands/GEORADIUS_WITH.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAW,aAAa,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACzE,OAAuB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhE,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ,EACd,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,EAC9B,OAAO,CAAC,EAAE,gBAAgB,QAK3B;;;IAIC;;;;;;;;;OASG;gDAEO,aAAa,OAChB,aAAa,QACZ,cAAc,UACZ,MAAM,QACR,QAAQ,aACH,MAAM,YAAY,CAAC,YACpB,gBAAgB;;;AAnB9B,wBAyB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_WITH.js b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_WITH.js new file mode 100644 index 0000000..68b37e9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_WITH.js @@ -0,0 +1,56 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseGeoRadiusWithArguments = void 0; +const GEORADIUS_1 = __importStar(require("./GEORADIUS")); +const GEOSEARCH_WITH_1 = __importDefault(require("./GEOSEARCH_WITH")); +function parseGeoRadiusWithArguments(parser, key, from, radius, unit, replyWith, options) { + (0, GEORADIUS_1.parseGeoRadiusArguments)(parser, key, from, radius, unit, options); + parser.pushVariadic(replyWith); + parser.preserve = replyWith; +} +exports.parseGeoRadiusWithArguments = parseGeoRadiusWithArguments; +exports.default = { + IS_READ_ONLY: GEORADIUS_1.default.IS_READ_ONLY, + /** + * Queries members in a geospatial index based on a radius from a center point with additional information + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param from - Center coordinates for the search + * @param radius - Radius of the search area + * @param unit - Unit of distance (m, km, ft, mi) + * @param replyWith - Information to include with each returned member + * @param options - Additional search options + */ + parseCommand(parser, key, from, radius, unit, replyWith, options) { + parser.push('GEORADIUS'); + parseGeoRadiusWithArguments(parser, key, from, radius, unit, replyWith, options); + }, + transformReply: GEOSEARCH_WITH_1.default.transformReply +}; +//# sourceMappingURL=GEORADIUS_WITH.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_WITH.js.map b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_WITH.js.map new file mode 100644 index 0000000..ee7674f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEORADIUS_WITH.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GEORADIUS_WITH.js","sourceRoot":"","sources":["../../../lib/commands/GEORADIUS_WITH.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yDAAiE;AAEjE,sEAAgE;AAEhE,SAAgB,2BAA2B,CACzC,MAAqB,EACrB,GAAkB,EAClB,IAAoB,EACpB,MAAc,EACd,IAAc,EACd,SAA8B,EAC9B,OAA0B;IAE1B,IAAA,mCAAuB,EAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IACjE,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC/B,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC;AAC9B,CAAC;AAZD,kEAYC;AAED,kBAAe;IACb,YAAY,EAAE,mBAAS,CAAC,YAAY;IACpC;;;;;;;;;OASG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,IAAoB,EACpB,MAAc,EACd,IAAc,EACd,SAA8B,EAC9B,OAA0B;QAE1B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,2BAA2B,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACnF,CAAC;IACD,cAAc,EAAE,wBAAc,CAAC,cAAc;CACnB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH.d.ts b/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH.d.ts new file mode 100644 index 0000000..351640c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH.d.ts @@ -0,0 +1,43 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '../RESP/types'; +export type GeoUnits = 'm' | 'km' | 'mi' | 'ft'; +export interface GeoCoordinates { + longitude: RedisArgument | number; + latitude: RedisArgument | number; +} +export type GeoSearchFrom = RedisArgument | GeoCoordinates; +export interface GeoSearchByRadius { + radius: number; + unit: GeoUnits; +} +export interface GeoSearchByBox { + width: number; + height: number; + unit: GeoUnits; +} +export type GeoSearchBy = GeoSearchByRadius | GeoSearchByBox; +export declare function parseGeoSearchArguments(parser: CommandParser, key: RedisArgument, from: GeoSearchFrom, by: GeoSearchBy, options?: GeoSearchOptions): void; +export type GeoCountArgument = number | { + value: number; + ANY?: boolean; +}; +export interface GeoSearchOptions { + SORT?: 'ASC' | 'DESC'; + COUNT?: GeoCountArgument; +} +export declare function parseGeoSearchOptions(parser: CommandParser, options?: GeoSearchOptions): void; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Queries members inside an area of a geospatial index + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param from - Center point of the search (member name or coordinates) + * @param by - Search area specification (radius or box dimensions) + * @param options - Additional search options + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, from: GeoSearchFrom, by: GeoSearchBy, options?: GeoSearchOptions) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=GEOSEARCH.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH.d.ts.map new file mode 100644 index 0000000..ec795d2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GEOSEARCH.d.ts","sourceRoot":"","sources":["../../../lib/commands/GEOSEARCH.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AAEpF,MAAM,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEhD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,aAAa,GAAG,MAAM,CAAC;IAClC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAAC;CAClC;AAED,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,cAAc,CAAC;AAE3D,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG,cAAc,CAAC;AAE7D,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,aAAa,EACnB,EAAE,EAAE,WAAW,EACf,OAAO,CAAC,EAAE,gBAAgB,QAiB3B;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,aAAa,EACrB,OAAO,CAAC,EAAE,gBAAgB,QAiB3B;;;IAIC;;;;;;;OAOG;gDAEO,aAAa,OAChB,aAAa,QACZ,aAAa,MACf,WAAW,YACL,gBAAgB;mCAKkB,WAAW,eAAe,CAAC;;AApB3E,wBAqB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH.js b/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH.js new file mode 100644 index 0000000..7d98308 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH.js @@ -0,0 +1,54 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseGeoSearchOptions = exports.parseGeoSearchArguments = void 0; +function parseGeoSearchArguments(parser, key, from, by, options) { + parser.pushKey(key); + if (typeof from === 'string' || from instanceof Buffer) { + parser.push('FROMMEMBER', from); + } + else { + parser.push('FROMLONLAT', from.longitude.toString(), from.latitude.toString()); + } + if ('radius' in by) { + parser.push('BYRADIUS', by.radius.toString(), by.unit); + } + else { + parser.push('BYBOX', by.width.toString(), by.height.toString(), by.unit); + } + parseGeoSearchOptions(parser, options); +} +exports.parseGeoSearchArguments = parseGeoSearchArguments; +function parseGeoSearchOptions(parser, options) { + if (options?.SORT) { + parser.push(options.SORT); + } + if (options?.COUNT) { + if (typeof options.COUNT === 'number') { + parser.push('COUNT', options.COUNT.toString()); + } + else { + parser.push('COUNT', options.COUNT.value.toString()); + if (options.COUNT.ANY) { + parser.push('ANY'); + } + } + } +} +exports.parseGeoSearchOptions = parseGeoSearchOptions; +exports.default = { + IS_READ_ONLY: true, + /** + * Queries members inside an area of a geospatial index + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param from - Center point of the search (member name or coordinates) + * @param by - Search area specification (radius or box dimensions) + * @param options - Additional search options + */ + parseCommand(parser, key, from, by, options) { + parser.push('GEOSEARCH'); + parseGeoSearchArguments(parser, key, from, by, options); + }, + transformReply: undefined +}; +//# sourceMappingURL=GEOSEARCH.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH.js.map b/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH.js.map new file mode 100644 index 0000000..587379d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GEOSEARCH.js","sourceRoot":"","sources":["../../../lib/commands/GEOSEARCH.ts"],"names":[],"mappings":";;;AAyBA,SAAgB,uBAAuB,CACrC,MAAqB,EACrB,GAAkB,EAClB,IAAmB,EACnB,EAAe,EACf,OAA0B;IAE1B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEpB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,YAAY,MAAM,EAAE,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAC3E,CAAC;IAED,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AAtBD,0DAsBC;AAYD,SAAgB,qBAAqB,CACnC,MAAqB,EACrB,OAA0B;IAE1B,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAErD,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAnBD,sDAmBC;AAED,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,IAAmB,EACnB,EAAe,EACf,OAA0B;QAE1B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,uBAAuB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCHSTORE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCHSTORE.d.ts new file mode 100644 index 0000000..4fc2735 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCHSTORE.d.ts @@ -0,0 +1,22 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +import { GeoSearchFrom, GeoSearchBy, GeoSearchOptions } from './GEOSEARCH'; +export interface GeoSearchStoreOptions extends GeoSearchOptions { + STOREDIST?: boolean; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Searches a geospatial index and stores the results in a new sorted set + * @param parser - The Redis command parser + * @param destination - Key to store the results + * @param source - Key of the geospatial index to search + * @param from - Center point of the search (member name or coordinates) + * @param by - Search area specification (radius or box dimensions) + * @param options - Additional search and storage options + */ + readonly parseCommand: (this: void, parser: CommandParser, destination: RedisArgument, source: RedisArgument, from: GeoSearchFrom, by: GeoSearchBy, options?: GeoSearchStoreOptions) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=GEOSEARCHSTORE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCHSTORE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCHSTORE.d.ts.map new file mode 100644 index 0000000..631ae6d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCHSTORE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GEOSEARCHSTORE.d.ts","sourceRoot":"","sources":["../../../lib/commands/GEOSEARCHSTORE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAA2B,MAAM,aAAa,CAAC;AAEpG,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;;;IAIC;;;;;;;;OAQG;gDAEO,aAAa,eACR,aAAa,UAClB,aAAa,QACf,aAAa,MACf,WAAW,YACL,qBAAqB;mCAca,WAAW;;AA/B3D,wBAgC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCHSTORE.js b/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCHSTORE.js new file mode 100644 index 0000000..17bff38 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCHSTORE.js @@ -0,0 +1,27 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const GEOSEARCH_1 = require("./GEOSEARCH"); +exports.default = { + IS_READ_ONLY: false, + /** + * Searches a geospatial index and stores the results in a new sorted set + * @param parser - The Redis command parser + * @param destination - Key to store the results + * @param source - Key of the geospatial index to search + * @param from - Center point of the search (member name or coordinates) + * @param by - Search area specification (radius or box dimensions) + * @param options - Additional search and storage options + */ + parseCommand(parser, destination, source, from, by, options) { + parser.push('GEOSEARCHSTORE'); + if (destination !== undefined) { + parser.pushKey(destination); + } + (0, GEOSEARCH_1.parseGeoSearchArguments)(parser, source, from, by, options); + if (options?.STOREDIST) { + parser.push('STOREDIST'); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=GEOSEARCHSTORE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCHSTORE.js.map b/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCHSTORE.js.map new file mode 100644 index 0000000..8a4e494 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCHSTORE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GEOSEARCHSTORE.js","sourceRoot":"","sources":["../../../lib/commands/GEOSEARCHSTORE.ts"],"names":[],"mappings":";;AAEA,2CAAoG;AAMpG,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;OAQG;IACH,YAAY,CACV,MAAqB,EACrB,WAA0B,EAC1B,MAAqB,EACrB,IAAmB,EACnB,EAAe,EACf,OAA+B;QAE/B,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAE9B,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9B,CAAC;QAED,IAAA,mCAAuB,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QAE3D,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH_WITH.d.ts b/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH_WITH.d.ts new file mode 100644 index 0000000..cc8faa4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH_WITH.d.ts @@ -0,0 +1,34 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, TuplesReply, BlobStringReply, NumberReply, DoubleReply, UnwrapReply } from '../RESP/types'; +import { GeoSearchBy, GeoSearchFrom, GeoSearchOptions } from './GEOSEARCH'; +export declare const GEO_REPLY_WITH: { + readonly DISTANCE: "WITHDIST"; + readonly HASH: "WITHHASH"; + readonly COORDINATES: "WITHCOORD"; +}; +export type GeoReplyWith = typeof GEO_REPLY_WITH[keyof typeof GEO_REPLY_WITH]; +export interface GeoReplyWithMember { + member: BlobStringReply; + distance?: BlobStringReply; + hash?: NumberReply; + coordinates?: { + longitude: DoubleReply; + latitude: DoubleReply; + }; +} +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Queries members inside an area of a geospatial index with additional information + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param from - Center point of the search (member name or coordinates) + * @param by - Search area specification (radius or box dimensions) + * @param replyWith - Information to include with each returned member + * @param options - Additional search options + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, from: GeoSearchFrom, by: GeoSearchBy, replyWith: Array, options?: GeoSearchOptions) => void; + readonly transformReply: (this: void, reply: UnwrapReply]>>>, replyWith: Array) => GeoReplyWithMember[]; +}; +export default _default; +//# sourceMappingURL=GEOSEARCH_WITH.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH_WITH.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH_WITH.d.ts.map new file mode 100644 index 0000000..3b40ba6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH_WITH.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GEOSEARCH_WITH.d.ts","sourceRoot":"","sources":["../../../lib/commands/GEOSEARCH_WITH.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACxI,OAAkB,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEtF,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,OAAO,cAAc,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAE9E,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,WAAW,CAAC,EAAE;QACZ,SAAS,EAAE,WAAW,CAAC;QACvB,QAAQ,EAAE,WAAW,CAAC;KACvB,CAAC;CACH;;;IAIC;;;;;;;;OAQG;gDAEO,aAAa,OAChB,aAAa,QACZ,aAAa,MACf,WAAW,aACJ,MAAM,YAAY,CAAC,YACpB,gBAAgB;iDAOnB,YAAY,WAAW,YAAY,CAAC,eAAe,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,aAClE,MAAM,YAAY,CAAC;;AAzBlC,wBA2D6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH_WITH.js b/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH_WITH.js new file mode 100644 index 0000000..279d450 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH_WITH.js @@ -0,0 +1,55 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.GEO_REPLY_WITH = void 0; +const GEOSEARCH_1 = __importDefault(require("./GEOSEARCH")); +exports.GEO_REPLY_WITH = { + DISTANCE: 'WITHDIST', + HASH: 'WITHHASH', + COORDINATES: 'WITHCOORD' +}; +exports.default = { + IS_READ_ONLY: GEOSEARCH_1.default.IS_READ_ONLY, + /** + * Queries members inside an area of a geospatial index with additional information + * @param parser - The Redis command parser + * @param key - Key of the geospatial index + * @param from - Center point of the search (member name or coordinates) + * @param by - Search area specification (radius or box dimensions) + * @param replyWith - Information to include with each returned member + * @param options - Additional search options + */ + parseCommand(parser, key, from, by, replyWith, options) { + GEOSEARCH_1.default.parseCommand(parser, key, from, by, options); + parser.push(...replyWith); + parser.preserve = replyWith; + }, + transformReply(reply, replyWith) { + const replyWithSet = new Set(replyWith); + let index = 0; + const distanceIndex = replyWithSet.has(exports.GEO_REPLY_WITH.DISTANCE) && ++index, hashIndex = replyWithSet.has(exports.GEO_REPLY_WITH.HASH) && ++index, coordinatesIndex = replyWithSet.has(exports.GEO_REPLY_WITH.COORDINATES) && ++index; + return reply.map(raw => { + const unwrapped = raw; + const item = { + member: unwrapped[0] + }; + if (distanceIndex) { + item.distance = unwrapped[distanceIndex]; + } + if (hashIndex) { + item.hash = unwrapped[hashIndex]; + } + if (coordinatesIndex) { + const [longitude, latitude] = unwrapped[coordinatesIndex]; + item.coordinates = { + longitude, + latitude + }; + } + return item; + }); + } +}; +//# sourceMappingURL=GEOSEARCH_WITH.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH_WITH.js.map b/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH_WITH.js.map new file mode 100644 index 0000000..c7a55d6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GEOSEARCH_WITH.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GEOSEARCH_WITH.js","sourceRoot":"","sources":["../../../lib/commands/GEOSEARCH_WITH.ts"],"names":[],"mappings":";;;;;;AAEA,4DAAsF;AAEzE,QAAA,cAAc,GAAG;IAC5B,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,WAAW;CAChB,CAAC;AAcX,kBAAe;IACb,YAAY,EAAE,mBAAS,CAAC,YAAY;IACpC;;;;;;;;OAQG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,IAAmB,EACnB,EAAe,EACf,SAA8B,EAC9B,OAA0B;QAE1B,mBAAS,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;QAC1B,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC9B,CAAC;IACD,cAAc,CACZ,KAA6E,EAC7E,SAA8B;QAE9B,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,sBAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EACxE,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,sBAAc,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAC5D,gBAAgB,GAAG,YAAY,CAAC,GAAG,CAAC,sBAAc,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC;QAE7E,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACrB,MAAM,SAAS,GAAG,GAAyC,CAAC;YAE5D,MAAM,IAAI,GAAuB;gBAC/B,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;aACrB,CAAC;YAEF,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;YAC3C,CAAC;YAED,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC;YAED,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC;gBAC1D,IAAI,CAAC,WAAW,GAAG;oBACjB,SAAS;oBACT,QAAQ;iBACT,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GET.d.ts b/back/node_modules/@redis/client/dist/lib/commands/GET.d.ts new file mode 100644 index 0000000..17bcd66 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GET.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply, NullReply } from '../RESP/types'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Gets the value of a key + * @param parser - The Redis command parser + * @param key - Key to get the value of + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => BlobStringReply | NullReply; +}; +export default _default; +//# sourceMappingURL=GET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GET.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/GET.d.ts.map new file mode 100644 index 0000000..0a9f2ea --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../lib/commands/GET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;;;;IAKjF;;;;OAIG;gDACkB,aAAa,OAAO,aAAa;mCAIR,eAAe,GAAG,SAAS;;AAZ3E,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GET.js b/back/node_modules/@redis/client/dist/lib/commands/GET.js new file mode 100644 index 0000000..1abd7fc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GET.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Gets the value of a key + * @param parser - The Redis command parser + * @param key - Key to get the value of + */ + parseCommand(parser, key) { + parser.push('GET'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=GET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GET.js.map b/back/node_modules/@redis/client/dist/lib/commands/GET.js.map new file mode 100644 index 0000000..8c538c7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../lib/commands/GET.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GETBIT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/GETBIT.d.ts new file mode 100644 index 0000000..7601b70 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GETBIT.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply, RedisArgument } from '../RESP/types'; +import { BitValue } from './generic-transformers'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Returns the bit value at a given offset in a string value + * @param parser - The Redis command parser + * @param key - Key to retrieve the bit from + * @param offset - Bit offset + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, offset: number) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=GETBIT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GETBIT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/GETBIT.d.ts.map new file mode 100644 index 0000000..eb01cb7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GETBIT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GETBIT.d.ts","sourceRoot":"","sources":["../../../lib/commands/GETBIT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAW,aAAa,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;;;;IAKhD;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,UAAU,MAAM;mCAKxB,YAAY,QAAQ,CAAC;;AAdrE,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GETBIT.js b/back/node_modules/@redis/client/dist/lib/commands/GETBIT.js new file mode 100644 index 0000000..ebd61ff --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GETBIT.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Returns the bit value at a given offset in a string value + * @param parser - The Redis command parser + * @param key - Key to retrieve the bit from + * @param offset - Bit offset + */ + parseCommand(parser, key, offset) { + parser.push('GETBIT'); + parser.pushKey(key); + parser.push(offset.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=GETBIT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GETBIT.js.map b/back/node_modules/@redis/client/dist/lib/commands/GETBIT.js.map new file mode 100644 index 0000000..7222037 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GETBIT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GETBIT.js","sourceRoot":"","sources":["../../../lib/commands/GETBIT.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,MAAc;QACpE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjC,CAAC;IACD,cAAc,EAAE,SAAmD;CACzC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GETDEL.d.ts b/back/node_modules/@redis/client/dist/lib/commands/GETDEL.d.ts new file mode 100644 index 0000000..bfeff02 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GETDEL.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply, NullReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Gets the value of a key and deletes the key + * @param parser - The Redis command parser + * @param key - Key to get and delete + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => BlobStringReply | NullReply; +}; +export default _default; +//# sourceMappingURL=GETDEL.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GETDEL.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/GETDEL.d.ts.map new file mode 100644 index 0000000..400e36b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GETDEL.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GETDEL.d.ts","sourceRoot":"","sources":["../../../lib/commands/GETDEL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;;;IAIjF;;;;OAIG;gDACkB,aAAa,OAAO,aAAa;mCAIR,eAAe,GAAG,SAAS;;AAX3E,wBAY6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GETDEL.js b/back/node_modules/@redis/client/dist/lib/commands/GETDEL.js new file mode 100644 index 0000000..fd4cd43 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GETDEL.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Gets the value of a key and deletes the key + * @param parser - The Redis command parser + * @param key - Key to get and delete + */ + parseCommand(parser, key) { + parser.push('GETDEL'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=GETDEL.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GETDEL.js.map b/back/node_modules/@redis/client/dist/lib/commands/GETDEL.js.map new file mode 100644 index 0000000..3392b77 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GETDEL.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GETDEL.js","sourceRoot":"","sources":["../../../lib/commands/GETDEL.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GETEX.d.ts b/back/node_modules/@redis/client/dist/lib/commands/GETEX.d.ts new file mode 100644 index 0000000..05f6027 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GETEX.d.ts @@ -0,0 +1,49 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply, NullReply } from '../RESP/types'; +export type GetExOptions = { + type: 'EX' | 'PX'; + value: number; +} | { + type: 'EXAT' | 'PXAT'; + value: number | Date; +} | { + type: 'PERSIST'; +} | { + /** + * @deprecated Use `{ type: 'EX', value: number }` instead. + */ + EX: number; +} | { + /** + * @deprecated Use `{ type: 'PX', value: number }` instead. + */ + PX: number; +} | { + /** + * @deprecated Use `{ type: 'EXAT', value: number | Date }` instead. + */ + EXAT: number | Date; +} | { + /** + * @deprecated Use `{ type: 'PXAT', value: number | Date }` instead. + */ + PXAT: number | Date; +} | { + /** + * @deprecated Use `{ type: 'PERSIST' }` instead. + */ + PERSIST: true; +}; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Gets the value of a key and optionally sets its expiration + * @param parser - The Redis command parser + * @param key - Key to get value from + * @param options - Options for setting expiration + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, options: GetExOptions) => void; + readonly transformReply: () => BlobStringReply | NullReply; +}; +export default _default; +//# sourceMappingURL=GETEX.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GETEX.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/GETEX.d.ts.map new file mode 100644 index 0000000..3431abf --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GETEX.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GETEX.d.ts","sourceRoot":"","sources":["../../../lib/commands/GETEX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;AAGnF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,GAAG;IACF,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,GAAG;IACF,IAAI,EAAE,SAAS,CAAC;CACjB,GAAG;IACF;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;CACZ,GAAG;IACF;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;CACZ,GAAG;IACF;;OAEG;IACH,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,GAAG;IACF;;OAEG;IACH,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,GAAG;IACF;;OAEG;IACH,OAAO,EAAE,IAAI,CAAC;CACf,CAAC;;;IAIA;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,WAAW,YAAY;mCAkC/B,eAAe,GAAG,SAAS;;AA1C3E,wBA2C6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GETEX.js b/back/node_modules/@redis/client/dist/lib/commands/GETEX.js new file mode 100644 index 0000000..3c42a41 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GETEX.js @@ -0,0 +1,50 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + IS_READ_ONLY: true, + /** + * Gets the value of a key and optionally sets its expiration + * @param parser - The Redis command parser + * @param key - Key to get value from + * @param options - Options for setting expiration + */ + parseCommand(parser, key, options) { + parser.push('GETEX'); + parser.pushKey(key); + if ('type' in options) { + switch (options.type) { + case 'EX': + case 'PX': + parser.push(options.type, options.value.toString()); + break; + case 'EXAT': + case 'PXAT': + parser.push(options.type, (0, generic_transformers_1.transformEXAT)(options.value)); + break; + case 'PERSIST': + parser.push('PERSIST'); + break; + } + } + else { + if ('EX' in options) { + parser.push('EX', options.EX.toString()); + } + else if ('PX' in options) { + parser.push('PX', options.PX.toString()); + } + else if ('EXAT' in options) { + parser.push('EXAT', (0, generic_transformers_1.transformEXAT)(options.EXAT)); + } + else if ('PXAT' in options) { + parser.push('PXAT', (0, generic_transformers_1.transformPXAT)(options.PXAT)); + } + else { // PERSIST + parser.push('PERSIST'); + } + } + }, + transformReply: undefined +}; +//# sourceMappingURL=GETEX.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GETEX.js.map b/back/node_modules/@redis/client/dist/lib/commands/GETEX.js.map new file mode 100644 index 0000000..860fe26 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GETEX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GETEX.js","sourceRoot":"","sources":["../../../lib/commands/GETEX.ts"],"names":[],"mappings":";;AAEA,iEAAsE;AAqCtE,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,OAAqB;QAC3E,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YACtB,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;gBACrB,KAAK,IAAI,CAAC;gBACV,KAAK,IAAI;oBACP,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACpD,MAAM;gBAER,KAAK,MAAM,CAAC;gBACZ,KAAK,MAAM;oBACT,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAA,oCAAa,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;oBACxD,MAAM;gBAER,KAAK,SAAS;oBACZ,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACvB,MAAM;YACV,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3C,CAAC;iBAAM,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3C,CAAC;iBAAM,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAA,oCAAa,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACnD,CAAC;iBAAM,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAA,oCAAa,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC,CAAC,UAAU;gBACjB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GETRANGE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/GETRANGE.d.ts new file mode 100644 index 0000000..05103b8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GETRANGE.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply, NullReply } from '../RESP/types'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Returns a substring of the string stored at a key + * @param parser - The Redis command parser + * @param key - Key to get substring from + * @param start - Start position of the substring + * @param end - End position of the substring + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, start: number, end: number) => void; + readonly transformReply: () => BlobStringReply | NullReply; +}; +export default _default; +//# sourceMappingURL=GETRANGE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GETRANGE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/GETRANGE.d.ts.map new file mode 100644 index 0000000..e9fde63 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GETRANGE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GETRANGE.d.ts","sourceRoot":"","sources":["../../../lib/commands/GETRANGE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;;;;IAKjF;;;;;;OAMG;gDACkB,aAAa,OAAO,aAAa,SAAS,MAAM,OAAO,MAAM;mCAKpC,eAAe,GAAG,SAAS;;AAf3E,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GETRANGE.js b/back/node_modules/@redis/client/dist/lib/commands/GETRANGE.js new file mode 100644 index 0000000..172e9cf --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GETRANGE.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Returns a substring of the string stored at a key + * @param parser - The Redis command parser + * @param key - Key to get substring from + * @param start - Start position of the substring + * @param end - End position of the substring + */ + parseCommand(parser, key, start, end) { + parser.push('GETRANGE'); + parser.pushKey(key); + parser.push(start.toString(), end.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=GETRANGE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GETRANGE.js.map b/back/node_modules/@redis/client/dist/lib/commands/GETRANGE.js.map new file mode 100644 index 0000000..d428e57 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GETRANGE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GETRANGE.js","sourceRoot":"","sources":["../../../lib/commands/GETRANGE.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAa,EAAE,GAAW;QAChF,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GETSET.d.ts b/back/node_modules/@redis/client/dist/lib/commands/GETSET.d.ts new file mode 100644 index 0000000..03fb286 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GETSET.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply, NullReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Sets a key to a new value and returns its old value + * @param parser - The Redis command parser + * @param key - Key to set + * @param value - Value to set + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, value: RedisArgument) => void; + readonly transformReply: () => BlobStringReply | NullReply; +}; +export default _default; +//# sourceMappingURL=GETSET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GETSET.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/GETSET.d.ts.map new file mode 100644 index 0000000..fd56d2f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GETSET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GETSET.d.ts","sourceRoot":"","sources":["../../../lib/commands/GETSET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;;;IAIjF;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,SAAS,aAAa;mCAK9B,eAAe,GAAG,SAAS;;AAb3E,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GETSET.js b/back/node_modules/@redis/client/dist/lib/commands/GETSET.js new file mode 100644 index 0000000..d276da4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GETSET.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Sets a key to a new value and returns its old value + * @param parser - The Redis command parser + * @param key - Key to set + * @param value - Value to set + */ + parseCommand(parser, key, value) { + parser.push('GETSET'); + parser.pushKey(key); + parser.push(value); + }, + transformReply: undefined +}; +//# sourceMappingURL=GETSET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/GETSET.js.map b/back/node_modules/@redis/client/dist/lib/commands/GETSET.js.map new file mode 100644 index 0000000..02809c8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/GETSET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GETSET.js","sourceRoot":"","sources":["../../../lib/commands/GETSET.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAoB;QAC1E,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HDEL.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HDEL.d.ts new file mode 100644 index 0000000..383f58d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HDEL.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + /** + * Removes one or more fields from a hash + * @param parser - The Redis command parser + * @param key - Key of the hash + * @param field - Field(s) to remove + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, field: RedisVariadicArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=HDEL.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HDEL.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HDEL.d.ts.map new file mode 100644 index 0000000..876d08b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HDEL.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HDEL.d.ts","sourceRoot":"","sources":["../../../lib/commands/HDEL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;IAG7D;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,SAAS,qBAAqB;mCAKtC,WAAW;;AAZ3D,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HDEL.js b/back/node_modules/@redis/client/dist/lib/commands/HDEL.js new file mode 100644 index 0000000..9e17a9f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HDEL.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Removes one or more fields from a hash + * @param parser - The Redis command parser + * @param key - Key of the hash + * @param field - Field(s) to remove + */ + parseCommand(parser, key, field) { + parser.push('HDEL'); + parser.pushKey(key); + parser.pushVariadic(field); + }, + transformReply: undefined +}; +//# sourceMappingURL=HDEL.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HDEL.js.map b/back/node_modules/@redis/client/dist/lib/commands/HDEL.js.map new file mode 100644 index 0000000..d0a9f07 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HDEL.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HDEL.js","sourceRoot":"","sources":["../../../lib/commands/HDEL.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAA4B;QAClF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HELLO.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HELLO.d.ts new file mode 100644 index 0000000..00c280e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HELLO.d.ts @@ -0,0 +1,63 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, RespVersions, TuplesToMapReply, BlobStringReply, NumberReply, ArrayReply } from '../RESP/types'; +export interface HelloOptions { + protover?: RespVersions; + AUTH?: { + username: RedisArgument; + password: RedisArgument; + }; + SETNAME?: string; +} +export type HelloReply = TuplesToMapReply<[ + [ + BlobStringReply<'server'>, + BlobStringReply + ], + [ + BlobStringReply<'version'>, + BlobStringReply + ], + [ + BlobStringReply<'proto'>, + NumberReply + ], + [ + BlobStringReply<'id'>, + NumberReply + ], + [ + BlobStringReply<'mode'>, + BlobStringReply + ], + [ + BlobStringReply<'role'>, + BlobStringReply + ], + [ + BlobStringReply<'modules'>, + ArrayReply + ] +]>; +declare const _default: { + /** + * Handshakes with the Redis server and switches to the specified protocol version + * @param parser - The Redis command parser + * @param protover - Protocol version to use + * @param options - Additional options for authentication and connection naming + */ + readonly parseCommand: (this: void, parser: CommandParser, protover?: RespVersions, options?: HelloOptions) => void; + readonly transformReply: { + readonly 2: (reply: [BlobStringReply<"server">, BlobStringReply, BlobStringReply<"version">, BlobStringReply, BlobStringReply<"proto">, NumberReply, BlobStringReply<"id">, NumberReply, BlobStringReply<"mode">, BlobStringReply, BlobStringReply<"role">, BlobStringReply, BlobStringReply<"modules">, import("../RESP/types").RespType<42, BlobStringReply[], never, BlobStringReply[]>]) => { + server: BlobStringReply; + version: BlobStringReply; + proto: NumberReply; + id: NumberReply; + mode: BlobStringReply; + role: BlobStringReply; + modules: import("../RESP/types").RespType<42, BlobStringReply[], never, BlobStringReply[]>; + }; + readonly 3: () => HelloReply; + }; +}; +export default _default; +//# sourceMappingURL=HELLO.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HELLO.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HELLO.d.ts.map new file mode 100644 index 0000000..8fd7bfb --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HELLO.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HELLO.d.ts","sourceRoot":"","sources":["../../../lib/commands/HELLO.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAoC,MAAM,eAAe,CAAC;AAE1J,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,IAAI,CAAC,EAAE;QACL,QAAQ,EAAE,aAAa,CAAC;QACxB,QAAQ,EAAE,aAAa,CAAC;KACzB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,UAAU,GAAG,gBAAgB,CAAC;IACxC;QAAC,eAAe,CAAC,QAAQ,CAAC;QAAE,eAAe;KAAC;IAC5C;QAAC,eAAe,CAAC,SAAS,CAAC;QAAE,eAAe;KAAC;IAC7C;QAAC,eAAe,CAAC,OAAO,CAAC;QAAE,WAAW,CAAC,YAAY,CAAC;KAAC;IACrD;QAAC,eAAe,CAAC,IAAI,CAAC;QAAE,WAAW;KAAC;IACpC;QAAC,eAAe,CAAC,MAAM,CAAC;QAAE,eAAe;KAAC;IAC1C;QAAC,eAAe,CAAC,MAAM,CAAC;QAAE,eAAe;KAAC;IAC1C;QAAC,eAAe,CAAC,SAAS,CAAC;QAAE,UAAU,CAAC,eAAe,CAAC;KAAC;CAC1D,CAAC,CAAC;;IAGD;;;;;OAKG;gDACkB,aAAa,aAAa,YAAY,YAAY,YAAY;;;;;;;;;;;;;;AAPrF,wBAyC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HELLO.js b/back/node_modules/@redis/client/dist/lib/commands/HELLO.js new file mode 100644 index 0000000..cdbc6de --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HELLO.js @@ -0,0 +1,35 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Handshakes with the Redis server and switches to the specified protocol version + * @param parser - The Redis command parser + * @param protover - Protocol version to use + * @param options - Additional options for authentication and connection naming + */ + parseCommand(parser, protover, options) { + parser.push('HELLO'); + if (protover) { + parser.push(protover.toString()); + if (options?.AUTH) { + parser.push('AUTH', options.AUTH.username, options.AUTH.password); + } + if (options?.SETNAME) { + parser.push('SETNAME', options.SETNAME); + } + } + }, + transformReply: { + 2: (reply) => ({ + server: reply[1], + version: reply[3], + proto: reply[5], + id: reply[7], + mode: reply[9], + role: reply[11], + modules: reply[13] + }), + 3: undefined + } +}; +//# sourceMappingURL=HELLO.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HELLO.js.map b/back/node_modules/@redis/client/dist/lib/commands/HELLO.js.map new file mode 100644 index 0000000..ff3be81 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HELLO.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HELLO.js","sourceRoot":"","sources":["../../../lib/commands/HELLO.ts"],"names":[],"mappings":";;AAsBA,kBAAe;IACb;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,QAAuB,EAAE,OAAsB;QACjF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAErB,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEjC,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,CACT,MAAM,EACN,OAAO,CAAC,IAAI,CAAC,QAAQ,EACrB,OAAO,CAAC,IAAI,CAAC,QAAQ,CACtB,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;gBACrB,MAAM,CAAC,IAAI,CACT,SAAS,EACT,OAAO,CAAC,OAAO,CAChB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAA0C,EAAE,EAAE,CAAC,CAAC;YAClD,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;YAChB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YACjB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YACf,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;YACZ,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACd,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YACf,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;SACnB,CAAC;QACF,CAAC,EAAE,SAAwC;KAC5C;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HEXISTS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HEXISTS.d.ts new file mode 100644 index 0000000..6fe17ea --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HEXISTS.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Determines whether a field exists in a hash + * @param parser - The Redis command parser + * @param key - Key of the hash + * @param field - Field to check + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, field: RedisArgument) => void; + readonly transformReply: () => NumberReply<0 | 1>; +}; +export default _default; +//# sourceMappingURL=HEXISTS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HEXISTS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HEXISTS.d.ts.map new file mode 100644 index 0000000..53f45d0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HEXISTS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HEXISTS.d.ts","sourceRoot":"","sources":["../../../lib/commands/HEXISTS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;;IAKlE;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,SAAS,aAAa;mCAK9B,YAAY,CAAC,GAAG,CAAC,CAAC;;AAdlE,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HEXISTS.js b/back/node_modules/@redis/client/dist/lib/commands/HEXISTS.js new file mode 100644 index 0000000..2a3cf5a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HEXISTS.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Determines whether a field exists in a hash + * @param parser - The Redis command parser + * @param key - Key of the hash + * @param field - Field to check + */ + parseCommand(parser, key, field) { + parser.push('HEXISTS'); + parser.pushKey(key); + parser.push(field); + }, + transformReply: undefined +}; +//# sourceMappingURL=HEXISTS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HEXISTS.js.map b/back/node_modules/@redis/client/dist/lib/commands/HEXISTS.js.map new file mode 100644 index 0000000..b530ce1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HEXISTS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HEXISTS.js","sourceRoot":"","sources":["../../../lib/commands/HEXISTS.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAoB;QAC1E,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,cAAc,EAAE,SAAgD;CACtC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HEXPIRE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HEXPIRE.d.ts new file mode 100644 index 0000000..5f20731 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HEXPIRE.d.ts @@ -0,0 +1,28 @@ +import { CommandParser } from '../client/parser'; +import { ArrayReply, RedisArgument } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +export declare const HASH_EXPIRATION: { + /** The field does not exist */ + readonly FIELD_NOT_EXISTS: -2; + /** Specified NX | XX | GT | LT condition not met */ + readonly CONDITION_NOT_MET: 0; + /** Expiration time was set or updated */ + readonly UPDATED: 1; + /** Field deleted because the specified expiration time is in the past */ + readonly DELETED: 2; +}; +export type HashExpiration = typeof HASH_EXPIRATION[keyof typeof HASH_EXPIRATION]; +declare const _default: { + /** + * Sets a timeout on hash fields. After the timeout has expired, the fields will be automatically deleted + * @param parser - The Redis command parser + * @param key - Key of the hash + * @param fields - Fields to set expiration on + * @param seconds - Number of seconds until field expiration + * @param mode - Expiration mode: NX (only if field has no expiry), XX (only if field has existing expiry), GT (only if new expiry is greater than current), LT (only if new expiry is less than current) + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, fields: RedisVariadicArgument, seconds: number, mode?: 'NX' | 'XX' | 'GT' | 'LT') => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=HEXPIRE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HEXPIRE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HEXPIRE.d.ts.map new file mode 100644 index 0000000..bd65839 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HEXPIRE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HEXPIRE.d.ts","sourceRoot":"","sources":["../../../lib/commands/HEXPIRE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAW,aAAa,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,eAAO,MAAM,eAAe;IAC1B,+BAA+B;;IAE/B,oDAAoD;;IAEpD,yCAAyC;;IAEzC,yEAAyE;;CAEjE,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,OAAO,eAAe,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;;IAGhF;;;;;;;OAOG;gDAEO,aAAa,OAChB,aAAa,UACV,qBAAqB,WACpB,MAAM,SACR,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;mCAcY,WAAW,cAAc,CAAC;;AA5B1E,wBA6B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HEXPIRE.js b/back/node_modules/@redis/client/dist/lib/commands/HEXPIRE.js new file mode 100644 index 0000000..6ce0d8b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HEXPIRE.js @@ -0,0 +1,35 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.HASH_EXPIRATION = void 0; +exports.HASH_EXPIRATION = { + /** The field does not exist */ + FIELD_NOT_EXISTS: -2, + /** Specified NX | XX | GT | LT condition not met */ + CONDITION_NOT_MET: 0, + /** Expiration time was set or updated */ + UPDATED: 1, + /** Field deleted because the specified expiration time is in the past */ + DELETED: 2 +}; +exports.default = { + /** + * Sets a timeout on hash fields. After the timeout has expired, the fields will be automatically deleted + * @param parser - The Redis command parser + * @param key - Key of the hash + * @param fields - Fields to set expiration on + * @param seconds - Number of seconds until field expiration + * @param mode - Expiration mode: NX (only if field has no expiry), XX (only if field has existing expiry), GT (only if new expiry is greater than current), LT (only if new expiry is less than current) + */ + parseCommand(parser, key, fields, seconds, mode) { + parser.push('HEXPIRE'); + parser.pushKey(key); + parser.push(seconds.toString()); + if (mode) { + parser.push(mode); + } + parser.push('FIELDS'); + parser.pushVariadicWithLength(fields); + }, + transformReply: undefined +}; +//# sourceMappingURL=HEXPIRE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HEXPIRE.js.map b/back/node_modules/@redis/client/dist/lib/commands/HEXPIRE.js.map new file mode 100644 index 0000000..7a316c8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HEXPIRE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HEXPIRE.js","sourceRoot":"","sources":["../../../lib/commands/HEXPIRE.ts"],"names":[],"mappings":";;;AAIa,QAAA,eAAe,GAAG;IAC7B,+BAA+B;IAC/B,gBAAgB,EAAE,CAAC,CAAC;IACpB,oDAAoD;IACpD,iBAAiB,EAAE,CAAC;IACpB,yCAAyC;IACzC,OAAO,EAAE,CAAC;IACV,yEAAyE;IACzE,OAAO,EAAE,CAAC;CACF,CAAC;AAIX,kBAAe;IACb;;;;;;;OAOG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,MAA6B,EAC7B,OAAe,EACf,IAAgC;QAEhC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEhC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEtB,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,cAAc,EAAE,SAAwD;CAC9C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HEXPIREAT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HEXPIREAT.d.ts new file mode 100644 index 0000000..fa6b3c2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HEXPIREAT.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisVariadicArgument } from './generic-transformers'; +import { ArrayReply, NumberReply, RedisArgument } from '../RESP/types'; +declare const _default: { + /** + * Sets the expiration for hash fields at a specific Unix timestamp + * @param parser - The Redis command parser + * @param key - Key of the hash + * @param fields - Fields to set expiration on + * @param timestamp - Unix timestamp (seconds since January 1, 1970) or Date object + * @param mode - Expiration mode: NX (only if field has no expiry), XX (only if field has existing expiry), GT (only if new expiry is greater than current), LT (only if new expiry is less than current) + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, fields: RedisVariadicArgument, timestamp: number | Date, mode?: 'NX' | 'XX' | 'GT' | 'LT') => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=HEXPIREAT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HEXPIREAT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HEXPIREAT.d.ts.map new file mode 100644 index 0000000..df0f3cb --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HEXPIREAT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HEXPIREAT.d.ts","sourceRoot":"","sources":["../../../lib/commands/HEXPIREAT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAiB,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAW,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;;IAG9E;;;;;;;OAOG;gDAEO,aAAa,OAChB,aAAa,UACV,qBAAqB,aAClB,MAAM,GAAG,IAAI,SACjB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;mCAcY,WAAW,WAAW,CAAC;;AA5BvE,wBA6B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HEXPIREAT.js b/back/node_modules/@redis/client/dist/lib/commands/HEXPIREAT.js new file mode 100644 index 0000000..34d9f0c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HEXPIREAT.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + /** + * Sets the expiration for hash fields at a specific Unix timestamp + * @param parser - The Redis command parser + * @param key - Key of the hash + * @param fields - Fields to set expiration on + * @param timestamp - Unix timestamp (seconds since January 1, 1970) or Date object + * @param mode - Expiration mode: NX (only if field has no expiry), XX (only if field has existing expiry), GT (only if new expiry is greater than current), LT (only if new expiry is less than current) + */ + parseCommand(parser, key, fields, timestamp, mode) { + parser.push('HEXPIREAT'); + parser.pushKey(key); + parser.push((0, generic_transformers_1.transformEXAT)(timestamp)); + if (mode) { + parser.push(mode); + } + parser.push('FIELDS'); + parser.pushVariadicWithLength(fields); + }, + transformReply: undefined +}; +//# sourceMappingURL=HEXPIREAT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HEXPIREAT.js.map b/back/node_modules/@redis/client/dist/lib/commands/HEXPIREAT.js.map new file mode 100644 index 0000000..3329df9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HEXPIREAT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HEXPIREAT.js","sourceRoot":"","sources":["../../../lib/commands/HEXPIREAT.ts"],"names":[],"mappings":";;AACA,iEAA8E;AAG9E,kBAAe;IACb;;;;;;;OAOG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,MAA6B,EAC7B,SAAwB,EACxB,IAAgC;QAEhC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAA,oCAAa,EAAC,SAAS,CAAC,CAAC,CAAC;QAEtC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAErB,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HEXPIRETIME.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HEXPIRETIME.d.ts new file mode 100644 index 0000000..e45b090 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HEXPIRETIME.d.ts @@ -0,0 +1,22 @@ +import { CommandParser } from '../client/parser'; +import { ArrayReply, NumberReply, RedisArgument } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +export declare const HASH_EXPIRATION_TIME: { + /** The field does not exist */ + readonly FIELD_NOT_EXISTS: -2; + /** The field exists but has no associated expire */ + readonly NO_EXPIRATION: -1; +}; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns the absolute Unix timestamp (since January 1, 1970) at which the given hash fields will expire + * @param parser - The Redis command parser + * @param key - Key of the hash + * @param fields - Fields to check expiration time + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, fields: RedisVariadicArgument) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=HEXPIRETIME.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HEXPIRETIME.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HEXPIRETIME.d.ts.map new file mode 100644 index 0000000..d84deee --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HEXPIRETIME.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HEXPIRETIME.d.ts","sourceRoot":"","sources":["../../../lib/commands/HEXPIRETIME.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAW,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,eAAO,MAAM,oBAAoB;IAC/B,+BAA+B;;IAE/B,oDAAoD;;CAE5C,CAAC;;;IAIT;;;;;OAKG;gDAEO,aAAa,OAChB,aAAa,UACV,qBAAqB;mCAOe,WAAW,WAAW,CAAC;;AAlBvE,wBAmB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HEXPIRETIME.js b/back/node_modules/@redis/client/dist/lib/commands/HEXPIRETIME.js new file mode 100644 index 0000000..cc725c1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HEXPIRETIME.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.HASH_EXPIRATION_TIME = void 0; +exports.HASH_EXPIRATION_TIME = { + /** The field does not exist */ + FIELD_NOT_EXISTS: -2, + /** The field exists but has no associated expire */ + NO_EXPIRATION: -1, +}; +exports.default = { + IS_READ_ONLY: true, + /** + * Returns the absolute Unix timestamp (since January 1, 1970) at which the given hash fields will expire + * @param parser - The Redis command parser + * @param key - Key of the hash + * @param fields - Fields to check expiration time + */ + parseCommand(parser, key, fields) { + parser.push('HEXPIRETIME'); + parser.pushKey(key); + parser.push('FIELDS'); + parser.pushVariadicWithLength(fields); + }, + transformReply: undefined +}; +//# sourceMappingURL=HEXPIRETIME.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HEXPIRETIME.js.map b/back/node_modules/@redis/client/dist/lib/commands/HEXPIRETIME.js.map new file mode 100644 index 0000000..4ff782c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HEXPIRETIME.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HEXPIRETIME.js","sourceRoot":"","sources":["../../../lib/commands/HEXPIRETIME.ts"],"names":[],"mappings":";;;AAIa,QAAA,oBAAoB,GAAG;IAClC,+BAA+B;IAC/B,gBAAgB,EAAE,CAAC,CAAC;IACpB,oDAAoD;IACpD,aAAa,EAAE,CAAC,CAAC;CACT,CAAC;AAEX,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,MAA6B;QAE7B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HGET.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HGET.d.ts new file mode 100644 index 0000000..ca29674 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HGET.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply, NullReply } from '../RESP/types'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Gets the value of a field in a hash + * @param parser - The Redis command parser + * @param key - Key of the hash + * @param field - Field to get the value of + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, field: RedisArgument) => void; + readonly transformReply: () => BlobStringReply | NullReply; +}; +export default _default; +//# sourceMappingURL=HGET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HGET.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HGET.d.ts.map new file mode 100644 index 0000000..ae2357b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HGET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HGET.d.ts","sourceRoot":"","sources":["../../../lib/commands/HGET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;;;;IAKjF;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,SAAS,aAAa;mCAK9B,eAAe,GAAG,SAAS;;AAd3E,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HGET.js b/back/node_modules/@redis/client/dist/lib/commands/HGET.js new file mode 100644 index 0000000..e38822b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HGET.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Gets the value of a field in a hash + * @param parser - The Redis command parser + * @param key - Key of the hash + * @param field - Field to get the value of + */ + parseCommand(parser, key, field) { + parser.push('HGET'); + parser.pushKey(key); + parser.push(field); + }, + transformReply: undefined +}; +//# sourceMappingURL=HGET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HGET.js.map b/back/node_modules/@redis/client/dist/lib/commands/HGET.js.map new file mode 100644 index 0000000..1befeb2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HGET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HGET.js","sourceRoot":"","sources":["../../../lib/commands/HGET.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAoB;QAC1E,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HGETALL.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HGETALL.d.ts new file mode 100644 index 0000000..d6f0d02 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HGETALL.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, MapReply, BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Gets all fields and values in a hash + * @param parser - The Redis command parser + * @param key - Key of the hash + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly TRANSFORM_LEGACY_REPLY: true; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => MapReply, BlobStringReply>; + readonly 3: () => MapReply; + }; +}; +export default _default; +//# sourceMappingURL=HGETALL.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HGETALL.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HGETALL.d.ts.map new file mode 100644 index 0000000..26e677d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HGETALL.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HGETALL.d.ts","sourceRoot":"","sources":["../../../lib/commands/HGETALL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;;IAMhF;;;;OAIG;gDACkB,aAAa,OAAO,aAAa;;;;0BAOnB,SAAS,eAAe,EAAE,eAAe,CAAC;;;AAf/E,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HGETALL.js b/back/node_modules/@redis/client/dist/lib/commands/HGETALL.js new file mode 100644 index 0000000..1791709 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HGETALL.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Gets all fields and values in a hash + * @param parser - The Redis command parser + * @param key - Key of the hash + */ + parseCommand(parser, key) { + parser.push('HGETALL'); + parser.pushKey(key); + }, + TRANSFORM_LEGACY_REPLY: true, + transformReply: { + 2: (generic_transformers_1.transformTuplesReply), + 3: undefined + } +}; +//# sourceMappingURL=HGETALL.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HGETALL.js.map b/back/node_modules/@redis/client/dist/lib/commands/HGETALL.js.map new file mode 100644 index 0000000..4e6543a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HGETALL.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HGETALL.js","sourceRoot":"","sources":["../../../lib/commands/HGETALL.ts"],"names":[],"mappings":";;AAEA,iEAA8D;AAE9D,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,sBAAsB,EAAE,IAAI;IAC5B,cAAc,EAAE;QACd,CAAC,EAAE,CAAA,2CAAqC,CAAA;QACxC,CAAC,EAAE,SAAwE;KAC5E;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HGETDEL.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HGETDEL.d.ts new file mode 100644 index 0000000..0ebfa25 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HGETDEL.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { RedisVariadicArgument } from './generic-transformers'; +import { RedisArgument, ArrayReply, BlobStringReply, NullReply } from '../RESP/types'; +declare const _default: { + /** + * Gets and deletes the specified fields from a hash + * @param parser - The Redis command parser + * @param key - Key of the hash + * @param fields - Fields to get and delete + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, fields: RedisVariadicArgument) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=HGETDEL.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HGETDEL.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HGETDEL.d.ts.map new file mode 100644 index 0000000..d90e20e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HGETDEL.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HGETDEL.d.ts","sourceRoot":"","sources":["../../../lib/commands/HGETDEL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;;IAG7F;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,UAAU,qBAAqB;mCAMvC,WAAW,eAAe,GAAG,SAAS,CAAC;;AAbvF,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HGETDEL.js b/back/node_modules/@redis/client/dist/lib/commands/HGETDEL.js new file mode 100644 index 0000000..6b8944e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HGETDEL.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Gets and deletes the specified fields from a hash + * @param parser - The Redis command parser + * @param key - Key of the hash + * @param fields - Fields to get and delete + */ + parseCommand(parser, key, fields) { + parser.push('HGETDEL'); + parser.pushKey(key); + parser.push('FIELDS'); + parser.pushVariadicWithLength(fields); + }, + transformReply: undefined +}; +//# sourceMappingURL=HGETDEL.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HGETDEL.js.map b/back/node_modules/@redis/client/dist/lib/commands/HGETDEL.js.map new file mode 100644 index 0000000..62af5c8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HGETDEL.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HGETDEL.js","sourceRoot":"","sources":["../../../lib/commands/HGETDEL.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,MAA6B;QACnF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACrB,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,cAAc,EAAE,SAAqE;CAC3D,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HGETEX.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HGETEX.d.ts new file mode 100644 index 0000000..2d8d381 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HGETEX.d.ts @@ -0,0 +1,24 @@ +import { CommandParser } from '../client/parser'; +import { RedisVariadicArgument } from './generic-transformers'; +import { ArrayReply, BlobStringReply, NullReply, RedisArgument } from '../RESP/types'; +export interface HGetExOptions { + expiration?: { + type: 'EX' | 'PX' | 'EXAT' | 'PXAT'; + value: number; + } | { + type: 'PERSIST'; + } | 'PERSIST'; +} +declare const _default: { + /** + * Gets the values of the specified fields in a hash and optionally sets their expiration + * @param parser - The Redis command parser + * @param key - Key of the hash + * @param fields - Fields to get values from + * @param options - Options for setting expiration + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, fields: RedisVariadicArgument, options?: HGetExOptions) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=HGETEX.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HGETEX.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HGETEX.d.ts.map new file mode 100644 index 0000000..611b821 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HGETEX.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HGETEX.d.ts","sourceRoot":"","sources":["../../../lib/commands/HGETEX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAW,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE/F,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;QACpC,KAAK,EAAE,MAAM,CAAC;KACf,GAAG;QACF,IAAI,EAAE,SAAS,CAAC;KACjB,GAAG,SAAS,CAAC;CACf;;IAGC;;;;;;OAMG;gDAEO,aAAa,OAChB,aAAa,UACV,qBAAqB,YACnB,aAAa;mCAsBqB,WAAW,eAAe,GAAG,SAAS,CAAC;;AAlCvF,wBAmC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HGETEX.js b/back/node_modules/@redis/client/dist/lib/commands/HGETEX.js new file mode 100644 index 0000000..71fbef6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HGETEX.js @@ -0,0 +1,30 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Gets the values of the specified fields in a hash and optionally sets their expiration + * @param parser - The Redis command parser + * @param key - Key of the hash + * @param fields - Fields to get values from + * @param options - Options for setting expiration + */ + parseCommand(parser, key, fields, options) { + parser.push('HGETEX'); + parser.pushKey(key); + if (options?.expiration) { + if (typeof options.expiration === 'string') { + parser.push(options.expiration); + } + else if (options.expiration.type === 'PERSIST') { + parser.push('PERSIST'); + } + else { + parser.push(options.expiration.type, options.expiration.value.toString()); + } + } + parser.push('FIELDS'); + parser.pushVariadicWithLength(fields); + }, + transformReply: undefined +}; +//# sourceMappingURL=HGETEX.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HGETEX.js.map b/back/node_modules/@redis/client/dist/lib/commands/HGETEX.js.map new file mode 100644 index 0000000..fc77aac --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HGETEX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HGETEX.js","sourceRoot":"","sources":["../../../lib/commands/HGETEX.ts"],"names":[],"mappings":";;AAaA,kBAAe;IACb;;;;;;OAMG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,MAA6B,EAC7B,OAAuB;QAEvB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;YACtB,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAC3C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAClC,CAAC;iBAAM,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACjD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CACT,OAAO,CAAC,UAAU,CAAC,IAAI,EACvB,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,CACpC,CAAC;YACJ,CAAC;QACL,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAErB,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,cAAc,EAAE,SAAqE;CAC3D,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HINCRBY.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HINCRBY.d.ts new file mode 100644 index 0000000..003940d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HINCRBY.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + /** + * Increments the integer value of a field in a hash by the given number + * @param parser - The Redis command parser + * @param key - Key of the hash + * @param field - Field to increment + * @param increment - Increment amount + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, field: RedisArgument, increment: number) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=HINCRBY.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HINCRBY.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HINCRBY.d.ts.map new file mode 100644 index 0000000..fe817c4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HINCRBY.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HINCRBY.d.ts","sourceRoot":"","sources":["../../../lib/commands/HINCRBY.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;IAGlE;;;;;;OAMG;gDAEO,aAAa,OAChB,aAAa,SACX,aAAa,aACT,MAAM;mCAM2B,WAAW;;AAlB3D,wBAmB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HINCRBY.js b/back/node_modules/@redis/client/dist/lib/commands/HINCRBY.js new file mode 100644 index 0000000..e47c520 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HINCRBY.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Increments the integer value of a field in a hash by the given number + * @param parser - The Redis command parser + * @param key - Key of the hash + * @param field - Field to increment + * @param increment - Increment amount + */ + parseCommand(parser, key, field, increment) { + parser.push('HINCRBY'); + parser.pushKey(key); + parser.push(field, increment.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=HINCRBY.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HINCRBY.js.map b/back/node_modules/@redis/client/dist/lib/commands/HINCRBY.js.map new file mode 100644 index 0000000..45832f9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HINCRBY.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HINCRBY.js","sourceRoot":"","sources":["../../../lib/commands/HINCRBY.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb;;;;;;OAMG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,KAAoB,EACpB,SAAiB;QAEjB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HINCRBYFLOAT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HINCRBYFLOAT.d.ts new file mode 100644 index 0000000..9f5b491 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HINCRBYFLOAT.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply } from '../RESP/types'; +declare const _default: { + /** + * Increments the float value of a field in a hash by the given amount + * @param parser - The Redis command parser + * @param key - Key of the hash + * @param field - Field to increment + * @param increment - Increment amount (float) + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, field: RedisArgument, increment: number) => void; + readonly transformReply: () => BlobStringReply; +}; +export default _default; +//# sourceMappingURL=HINCRBYFLOAT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HINCRBYFLOAT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HINCRBYFLOAT.d.ts.map new file mode 100644 index 0000000..0f62102 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HINCRBYFLOAT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HINCRBYFLOAT.d.ts","sourceRoot":"","sources":["../../../lib/commands/HINCRBYFLOAT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;IAGtE;;;;;;OAMG;gDAEO,aAAa,OAChB,aAAa,SACX,aAAa,aACT,MAAM;mCAM2B,eAAe;;AAlB/D,wBAmB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HINCRBYFLOAT.js b/back/node_modules/@redis/client/dist/lib/commands/HINCRBYFLOAT.js new file mode 100644 index 0000000..2ae4737 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HINCRBYFLOAT.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Increments the float value of a field in a hash by the given amount + * @param parser - The Redis command parser + * @param key - Key of the hash + * @param field - Field to increment + * @param increment - Increment amount (float) + */ + parseCommand(parser, key, field, increment) { + parser.push('HINCRBYFLOAT'); + parser.pushKey(key); + parser.push(field, increment.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=HINCRBYFLOAT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HINCRBYFLOAT.js.map b/back/node_modules/@redis/client/dist/lib/commands/HINCRBYFLOAT.js.map new file mode 100644 index 0000000..ca4f0e0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HINCRBYFLOAT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HINCRBYFLOAT.js","sourceRoot":"","sources":["../../../lib/commands/HINCRBYFLOAT.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb;;;;;;OAMG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,KAAoB,EACpB,SAAiB;QAEjB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,cAAc,EAAE,SAA6C;CACnC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HKEYS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HKEYS.d.ts new file mode 100644 index 0000000..70ae4b8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HKEYS.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Gets all field names in a hash + * @param parser - The Redis command parser + * @param key - Key of the hash + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=HKEYS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HKEYS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HKEYS.d.ts.map new file mode 100644 index 0000000..aea9f00 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HKEYS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HKEYS.d.ts","sourceRoot":"","sources":["../../../lib/commands/HKEYS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;;IAKlF;;;;OAIG;gDACkB,aAAa,OAAO,aAAa;mCAIR,WAAW,eAAe,CAAC;;AAZ3E,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HKEYS.js b/back/node_modules/@redis/client/dist/lib/commands/HKEYS.js new file mode 100644 index 0000000..a989900 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HKEYS.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Gets all field names in a hash + * @param parser - The Redis command parser + * @param key - Key of the hash + */ + parseCommand(parser, key) { + parser.push('HKEYS'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=HKEYS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HKEYS.js.map b/back/node_modules/@redis/client/dist/lib/commands/HKEYS.js.map new file mode 100644 index 0000000..67a945d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HKEYS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HKEYS.js","sourceRoot":"","sources":["../../../lib/commands/HKEYS.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HLEN.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HLEN.d.ts new file mode 100644 index 0000000..57c12b5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HLEN.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Gets the number of fields in a hash. + * @param parser - The Redis command parser. + * @param key - Key of the hash. + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=HLEN.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HLEN.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HLEN.d.ts.map new file mode 100644 index 0000000..6e5c346 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HLEN.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HLEN.d.ts","sourceRoot":"","sources":["../../../lib/commands/HLEN.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;;IAKlE;;;;OAIG;gDACkB,aAAa,OAAO,aAAa;mCAIR,WAAW;;AAZ3D,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HLEN.js b/back/node_modules/@redis/client/dist/lib/commands/HLEN.js new file mode 100644 index 0000000..a14501b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HLEN.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Gets the number of fields in a hash. + * @param parser - The Redis command parser. + * @param key - Key of the hash. + */ + parseCommand(parser, key) { + parser.push('HLEN'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=HLEN.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HLEN.js.map b/back/node_modules/@redis/client/dist/lib/commands/HLEN.js.map new file mode 100644 index 0000000..e057369 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HLEN.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HLEN.js","sourceRoot":"","sources":["../../../lib/commands/HLEN.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HMGET.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HMGET.d.ts new file mode 100644 index 0000000..9148039 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HMGET.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply, NullReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Gets the values of all the specified fields in a hash. + * @param parser - The Redis command parser. + * @param key - Key of the hash. + * @param fields - Fields to get from the hash. + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, fields: RedisVariadicArgument) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=HMGET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HMGET.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HMGET.d.ts.map new file mode 100644 index 0000000..f92b5e8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HMGET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HMGET.d.ts","sourceRoot":"","sources":["../../../lib/commands/HMGET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;;IAK7D;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,UAAU,qBAAqB;mCAKvC,WAAW,eAAe,GAAG,SAAS,CAAC;;AAdvF,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HMGET.js b/back/node_modules/@redis/client/dist/lib/commands/HMGET.js new file mode 100644 index 0000000..a2c4ead --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HMGET.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Gets the values of all the specified fields in a hash. + * @param parser - The Redis command parser. + * @param key - Key of the hash. + * @param fields - Fields to get from the hash. + */ + parseCommand(parser, key, fields) { + parser.push('HMGET'); + parser.pushKey(key); + parser.pushVariadic(fields); + }, + transformReply: undefined +}; +//# sourceMappingURL=HMGET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HMGET.js.map b/back/node_modules/@redis/client/dist/lib/commands/HMGET.js.map new file mode 100644 index 0000000..c5383d4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HMGET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HMGET.js","sourceRoot":"","sources":["../../../lib/commands/HMGET.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,MAA6B;QACnF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IACD,cAAc,EAAE,SAAqE;CAC3D,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_GET.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_GET.d.ts new file mode 100644 index 0000000..e5c121a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_GET.d.ts @@ -0,0 +1,68 @@ +import { CommandParser } from '../client/parser'; +import { ReplyUnion, UnwrapReply, ArrayReply, BlobStringReply, NumberReply } from '../RESP/types'; +/** + * Hotkey entry with key name and metric value + */ +export interface HotkeyEntry { + key: string; + value: number; +} +/** + * Slot range with start and end values + */ +export interface SlotRange { + start: number; + end: number; +} +/** + * HOTKEYS GET response structure + */ +export interface HotkeysGetReply { + trackingActive: number; + sampleRatio: number; + selectedSlots: Array; + /** Only present when sample-ratio > 1 AND selected-slots is not empty */ + sampledCommandsSelectedSlotsUs?: number; + /** Only present when selected-slots is not empty */ + allCommandsSelectedSlotsUs?: number; + allCommandsAllSlotsUs: number; + /** Only present when sample-ratio > 1 AND selected-slots is not empty */ + netBytesSampledCommandsSelectedSlots?: number; + /** Only present when selected-slots is not empty */ + netBytesAllCommandsSelectedSlots?: number; + netBytesAllCommandsAllSlots: number; + collectionStartTimeUnixMs: number; + collectionDurationMs: number; + totalCpuTimeSysMs: number; + totalCpuTimeUserMs: number; + totalNetBytes: number; + byCpuTimeUs?: Array; + byNetBytes?: Array; +} +type HotkeysGetRawReply = ArrayReply>>; +/** + * HOTKEYS GET command - returns hotkeys tracking data + * + * State transitions: + * - ACTIVE -> returns data (does not stop) + * - STOPPED -> returns data + * - EMPTY -> returns null + */ +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns the top K hotkeys by CPU time and network bytes. + * Returns null if no tracking has been started or tracking was reset. + * @param parser - The Redis command parser + * @see https://redis.io/commands/hotkeys-get/ + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: { + readonly 2: (reply: UnwrapReply | null) => HotkeysGetReply | null; + readonly 3: () => ReplyUnion; + }; + readonly unstableResp3: true; +}; +export default _default; +//# sourceMappingURL=HOTKEYS_GET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_GET.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_GET.d.ts.map new file mode 100644 index 0000000..342d257 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_GET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HOTKEYS_GET.d.ts","sourceRoot":"","sources":["../../../lib/commands/HOTKEYS_GET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAW,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE3G;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAChC,yEAAyE;IACzE,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,oDAAoD;IACpD,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,yEAAyE;IACzE,oCAAoC,CAAC,EAAE,MAAM,CAAC;IAC9C,oDAAoD;IACpD,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAC1C,2BAA2B,EAAE,MAAM,CAAC;IACpC,yBAAyB,EAAE,MAAM,CAAC;IAClC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;CACjC;AAED,KAAK,kBAAkB,GAAG,UAAU,CAAC,UAAU,CAAC,eAAe,GAAG,WAAW,GAAG,UAAU,CAAC,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AA2G5H;;;;;;;GAOG;;;;IAID;;;;;OAKG;gDACkB,aAAa;;4BAIrB,YAAY,kBAAkB,CAAC,GAAG,IAAI,KAAG,eAAe,GAAG,IAAI;0BAIzC,UAAU;;;;AAjB/C,wBAoB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_GET.js b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_GET.js new file mode 100644 index 0000000..d5bb98e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_GET.js @@ -0,0 +1,131 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Parse the hotkeys array into HotkeyEntry objects + */ +function parseHotkeysList(arr) { + const result = []; + for (let i = 0; i < arr.length; i += 2) { + result.push({ + key: arr[i].toString(), + value: Number(arr[i + 1]) + }); + } + return result; +} +/** + * Parse slot ranges from the server response. + * Single slots are represented as arrays with one element: [slot] + * Slot ranges are represented as arrays with two elements: [start, end] + */ +function parseSlotRanges(arr) { + return arr.map(range => { + const unwrapped = range; + if (unwrapped.length === 1) { + // Single slot - start and end are the same + return { + start: Number(unwrapped[0]), + end: Number(unwrapped[0]) + }; + } + // Slot range + return { + start: Number(unwrapped[0]), + end: Number(unwrapped[1]) + }; + }); +} +/** + * Transform the raw reply into a structured object + */ +function transformHotkeysGetReply(reply) { + const result = {}; + // The reply is wrapped in an extra array, so we need to access reply[0] + const data = reply[0]; + for (let i = 0; i < data.length; i += 2) { + const key = data[i].toString(); + const value = data[i + 1]; + switch (key) { + case 'tracking-active': + result.trackingActive = Number(value); + break; + case 'sample-ratio': + result.sampleRatio = Number(value); + break; + case 'selected-slots': + result.selectedSlots = parseSlotRanges(value); + break; + case 'sampled-commands-selected-slots-us': + result.sampledCommandsSelectedSlotsUs = Number(value); + break; + case 'all-commands-selected-slots-us': + result.allCommandsSelectedSlotsUs = Number(value); + break; + case 'all-commands-all-slots-us': + result.allCommandsAllSlotsUs = Number(value); + break; + case 'net-bytes-sampled-commands-selected-slots': + result.netBytesSampledCommandsSelectedSlots = Number(value); + break; + case 'net-bytes-all-commands-selected-slots': + result.netBytesAllCommandsSelectedSlots = Number(value); + break; + case 'net-bytes-all-commands-all-slots': + result.netBytesAllCommandsAllSlots = Number(value); + break; + case 'collection-start-time-unix-ms': + result.collectionStartTimeUnixMs = Number(value); + break; + case 'collection-duration-ms': + result.collectionDurationMs = Number(value); + break; + case 'total-cpu-time-sys-ms': + result.totalCpuTimeSysMs = Number(value); + break; + case 'total-cpu-time-user-ms': + result.totalCpuTimeUserMs = Number(value); + break; + case 'total-net-bytes': + result.totalNetBytes = Number(value); + break; + case 'by-cpu-time-us': + result.byCpuTimeUs = parseHotkeysList(value); + break; + case 'by-net-bytes': + result.byNetBytes = parseHotkeysList(value); + break; + } + } + return result; +} +/** + * HOTKEYS GET command - returns hotkeys tracking data + * + * State transitions: + * - ACTIVE -> returns data (does not stop) + * - STOPPED -> returns data + * - EMPTY -> returns null + */ +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns the top K hotkeys by CPU time and network bytes. + * Returns null if no tracking has been started or tracking was reset. + * @param parser - The Redis command parser + * @see https://redis.io/commands/hotkeys-get/ + */ + parseCommand(parser) { + parser.push('HOTKEYS', 'GET'); + }, + transformReply: { + 2: (reply) => { + if (reply === null) + return null; + return transformHotkeysGetReply(reply); + }, + 3: undefined + }, + unstableResp3: true +}; +//# sourceMappingURL=HOTKEYS_GET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_GET.js.map b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_GET.js.map new file mode 100644 index 0000000..3efd828 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_GET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HOTKEYS_GET.js","sourceRoot":"","sources":["../../../lib/commands/HOTKEYS_GET.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_RESET.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_RESET.d.ts new file mode 100644 index 0000000..b8e342c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_RESET.d.ts @@ -0,0 +1,24 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +/** + * HOTKEYS RESET command - releases resources used for hotkey tracking + * + * State transitions: + * - STOPPED -> EMPTY + * - EMPTY -> EMPTY + * - ACTIVE -> ERROR (must stop first) + */ +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + /** + * Releases resources used for hotkey tracking. + * Returns error if a session is active (must be stopped first). + * @param parser - The Redis command parser + * @see https://redis.io/commands/hotkeys-reset/ + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=HOTKEYS_RESET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_RESET.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_RESET.d.ts.map new file mode 100644 index 0000000..65d2815 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_RESET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HOTKEYS_RESET.d.ts","sourceRoot":"","sources":["../../../lib/commands/HOTKEYS_RESET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;AAE3D;;;;;;;GAOG;;;;IAID;;;;;OAKG;gDACkB,aAAa;mCAGY,kBAAkB,IAAI,CAAC;;AAZvE,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_RESET.js b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_RESET.js new file mode 100644 index 0000000..3cbd858 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_RESET.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * HOTKEYS RESET command - releases resources used for hotkey tracking + * + * State transitions: + * - STOPPED -> EMPTY + * - EMPTY -> EMPTY + * - ACTIVE -> ERROR (must stop first) + */ +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: false, + /** + * Releases resources used for hotkey tracking. + * Returns error if a session is active (must be stopped first). + * @param parser - The Redis command parser + * @see https://redis.io/commands/hotkeys-reset/ + */ + parseCommand(parser) { + parser.push('HOTKEYS', 'RESET'); + }, + transformReply: undefined +}; +//# sourceMappingURL=HOTKEYS_RESET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_RESET.js.map b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_RESET.js.map new file mode 100644 index 0000000..f23ffa3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_RESET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HOTKEYS_RESET.js","sourceRoot":"","sources":["../../../lib/commands/HOTKEYS_RESET.ts"],"names":[],"mappings":";;AAGA;;;;;;;GAOG;AACH,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_START.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_START.d.ts new file mode 100644 index 0000000..69ecf59 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_START.d.ts @@ -0,0 +1,66 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +/** + * Metrics to track for hotkeys + */ +export declare const HOTKEYS_METRICS: { + readonly CPU: "CPU"; + readonly NET: "NET"; +}; +export type HotkeysMetric = typeof HOTKEYS_METRICS[keyof typeof HOTKEYS_METRICS]; +/** + * Options for HOTKEYS START command + */ +export interface HotkeysStartOptions { + /** + * Metrics to track. At least one must be specified. + * CPU: CPU time spent on the key + * NET: Sum of ingress/egress/replication network bytes used by the key + */ + METRICS: { + count: number; + CPU?: boolean; + NET?: boolean; + }; + /** + * How many keys to report. Default: 10, min: 10, max: 64 + */ + COUNT?: number; + /** + * Automatically stop tracking after this many seconds. Default: 0 (no auto-stop) + */ + DURATION?: number; + /** + * Log a key with probability 1/ratio. Default: 1 (track every key), min: 1 + */ + SAMPLE?: number; + /** + * Only track keys from specified slots + */ + SLOTS?: { + count: number; + slots: Array; + }; +} +/** + * HOTKEYS START command - starts hotkeys tracking + * + * State transitions: + * - EMPTY -> ACTIVE + * - STOPPED -> ACTIVE (fresh) + * - ACTIVE -> ERROR + */ +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + /** + * Starts hotkeys tracking with specified options. + * @param parser - The Redis command parser + * @param options - Configuration options for hotkeys tracking + * @see https://redis.io/commands/hotkeys-start/ + */ + readonly parseCommand: (this: void, parser: CommandParser, options: HotkeysStartOptions) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=HOTKEYS_START.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_START.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_START.d.ts.map new file mode 100644 index 0000000..f43df93 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_START.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HOTKEYS_START.d.ts","sourceRoot":"","sources":["../../../lib/commands/HOTKEYS_START.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,OAAO,eAAe,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,GAAG,CAAC,EAAE,OAAO,CAAC;KACf,CAAC;IACF;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;KACtB,CAAC;CACH;AAED;;;;;;;GAOG;;;;IAID;;;;;OAKG;gDACkB,aAAa,WAAW,mBAAmB;mCAmClB,kBAAkB,IAAI,CAAC;;AA5CvE,wBA6C6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_START.js b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_START.js new file mode 100644 index 0000000..60179d9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_START.js @@ -0,0 +1,60 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.HOTKEYS_METRICS = void 0; +/** + * Metrics to track for hotkeys + */ +exports.HOTKEYS_METRICS = { + CPU: 'CPU', + NET: 'NET' +}; +/** + * HOTKEYS START command - starts hotkeys tracking + * + * State transitions: + * - EMPTY -> ACTIVE + * - STOPPED -> ACTIVE (fresh) + * - ACTIVE -> ERROR + */ +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: false, + /** + * Starts hotkeys tracking with specified options. + * @param parser - The Redis command parser + * @param options - Configuration options for hotkeys tracking + * @see https://redis.io/commands/hotkeys-start/ + */ + parseCommand(parser, options) { + parser.push('HOTKEYS', 'START'); + // METRICS is required with count and at least one metric type + parser.push('METRICS', options.METRICS.count.toString()); + if (options.METRICS.CPU) { + parser.push('CPU'); + } + if (options.METRICS.NET) { + parser.push('NET'); + } + // COUNT option + if (options.COUNT !== undefined) { + parser.push('COUNT', options.COUNT.toString()); + } + // DURATION option + if (options.DURATION !== undefined) { + parser.push('DURATION', options.DURATION.toString()); + } + // SAMPLE option + if (options.SAMPLE !== undefined) { + parser.push('SAMPLE', options.SAMPLE.toString()); + } + // SLOTS option + if (options.SLOTS !== undefined) { + parser.push('SLOTS', options.SLOTS.count.toString()); + for (const slot of options.SLOTS.slots) { + parser.push(slot.toString()); + } + } + }, + transformReply: undefined +}; +//# sourceMappingURL=HOTKEYS_START.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_START.js.map b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_START.js.map new file mode 100644 index 0000000..7ca101f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_START.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HOTKEYS_START.js","sourceRoot":"","sources":["../../../lib/commands/HOTKEYS_START.ts"],"names":[],"mappings":";;;AAGA;;GAEG;AACU,QAAA,eAAe,GAAG;IAC7B,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;CACF,CAAC;AAuCX;;;;;;;GAOG;AACH,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,OAA4B;QAC9D,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEhC,8DAA8D;QAC9D,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzD,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAED,eAAe;QACf,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,kBAAkB;QAClB,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,gBAAgB;QAChB,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,eAAe;QACf,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_STOP.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_STOP.d.ts new file mode 100644 index 0000000..ad9ebb5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_STOP.d.ts @@ -0,0 +1,26 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply, NullReply } from '../RESP/types'; +/** + * HOTKEYS STOP command - stops hotkeys tracking but keeps results available for GET + * + * State transitions: + * - ACTIVE -> STOPPED (returns OK) + * - STOPPED -> STOPPED (no-op) + * - EMPTY -> EMPTY (returns null - no session was started) + * + * Note: Returns null if no session was started or is already stopped. + */ +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + /** + * Stops hotkeys tracking. Results remain available via HOTKEYS GET. + * Returns null if no session was started or is already stopped. + * @param parser - The Redis command parser + * @see https://redis.io/commands/hotkeys-stop/ + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => SimpleStringReply<'OK'> | NullReply; +}; +export default _default; +//# sourceMappingURL=HOTKEYS_STOP.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_STOP.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_STOP.d.ts.map new file mode 100644 index 0000000..2ce0fea --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_STOP.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HOTKEYS_STOP.d.ts","sourceRoot":"","sources":["../../../lib/commands/HOTKEYS_STOP.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;AAEtE;;;;;;;;;GASG;;;;IAID;;;;;OAKG;gDACkB,aAAa;mCAGY,kBAAkB,IAAI,CAAC,GAAG,SAAS;;AAZnF,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_STOP.js b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_STOP.js new file mode 100644 index 0000000..9fe655d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_STOP.js @@ -0,0 +1,27 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * HOTKEYS STOP command - stops hotkeys tracking but keeps results available for GET + * + * State transitions: + * - ACTIVE -> STOPPED (returns OK) + * - STOPPED -> STOPPED (no-op) + * - EMPTY -> EMPTY (returns null - no session was started) + * + * Note: Returns null if no session was started or is already stopped. + */ +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: false, + /** + * Stops hotkeys tracking. Results remain available via HOTKEYS GET. + * Returns null if no session was started or is already stopped. + * @param parser - The Redis command parser + * @see https://redis.io/commands/hotkeys-stop/ + */ + parseCommand(parser) { + parser.push('HOTKEYS', 'STOP'); + }, + transformReply: undefined +}; +//# sourceMappingURL=HOTKEYS_STOP.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_STOP.js.map b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_STOP.js.map new file mode 100644 index 0000000..d55ba19 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HOTKEYS_STOP.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HOTKEYS_STOP.js","sourceRoot":"","sources":["../../../lib/commands/HOTKEYS_STOP.ts"],"names":[],"mappings":";;AAGA;;;;;;;;;GASG;AACH,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IACD,cAAc,EAAE,SAAiE;CACvD,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HPERSIST.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HPERSIST.d.ts new file mode 100644 index 0000000..8bc75fc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HPERSIST.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { ArrayReply, NullReply, NumberReply, RedisArgument } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + /** + * Removes the expiration from the specified fields in a hash. + * @param parser - The Redis command parser. + * @param key - Key of the hash. + * @param fields - Fields to remove expiration from. + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, fields: RedisVariadicArgument) => void; + readonly transformReply: () => ArrayReply | NullReply; +}; +export default _default; +//# sourceMappingURL=HPERSIST.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HPERSIST.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HPERSIST.d.ts.map new file mode 100644 index 0000000..f80c014 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HPERSIST.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HPERSIST.d.ts","sourceRoot":"","sources":["../../../lib/commands/HPERSIST.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAW,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;IAG7D;;;;;OAKG;gDAEO,aAAa,OAChB,aAAa,UACV,qBAAqB;mCAOe,WAAW,WAAW,CAAC,GAAG,SAAS;;AAjBnF,wBAkB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HPERSIST.js b/back/node_modules/@redis/client/dist/lib/commands/HPERSIST.js new file mode 100644 index 0000000..e7c5e8a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HPERSIST.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Removes the expiration from the specified fields in a hash. + * @param parser - The Redis command parser. + * @param key - Key of the hash. + * @param fields - Fields to remove expiration from. + */ + parseCommand(parser, key, fields) { + parser.push('HPERSIST'); + parser.pushKey(key); + parser.push('FIELDS'); + parser.pushVariadicWithLength(fields); + }, + transformReply: undefined +}; +//# sourceMappingURL=HPERSIST.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HPERSIST.js.map b/back/node_modules/@redis/client/dist/lib/commands/HPERSIST.js.map new file mode 100644 index 0000000..4e56f35 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HPERSIST.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HPERSIST.js","sourceRoot":"","sources":["../../../lib/commands/HPERSIST.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb;;;;;OAKG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,MAA6B;QAE7B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,cAAc,EAAE,SAAiE;CACvD,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HPEXPIRE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HPEXPIRE.d.ts new file mode 100644 index 0000000..2b530ef --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HPEXPIRE.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '../client/parser'; +import { ArrayReply, NullReply, RedisArgument } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +import { HashExpiration } from './HEXPIRE'; +declare const _default: { + /** + * Parses the arguments for the `HPEXPIRE` command. + * + * @param parser - The command parser instance. + * @param key - The key of the hash. + * @param fields - The fields to set the expiration for. + * @param ms - The expiration time in milliseconds. + * @param mode - Optional mode for the command ('NX', 'XX', 'GT', 'LT'). + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, fields: RedisVariadicArgument, ms: number, mode?: 'NX' | 'XX' | 'GT' | 'LT') => void; + readonly transformReply: () => ArrayReply | NullReply; +}; +export default _default; +//# sourceMappingURL=HPEXPIRE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HPEXPIRE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HPEXPIRE.d.ts.map new file mode 100644 index 0000000..cd7d98c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HPEXPIRE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HPEXPIRE.d.ts","sourceRoot":"","sources":["../../../lib/commands/HPEXPIRE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAW,SAAS,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;;IAGzC;;;;;;;;OAQG;gDAEO,aAAa,OAChB,aAAa,UACV,qBAAqB,MACzB,MAAM,SACH,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;mCAcY,WAAW,cAAc,CAAC,GAAG,SAAS;;AA7BtF,wBA8B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HPEXPIRE.js b/back/node_modules/@redis/client/dist/lib/commands/HPEXPIRE.js new file mode 100644 index 0000000..25c97c3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HPEXPIRE.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Parses the arguments for the `HPEXPIRE` command. + * + * @param parser - The command parser instance. + * @param key - The key of the hash. + * @param fields - The fields to set the expiration for. + * @param ms - The expiration time in milliseconds. + * @param mode - Optional mode for the command ('NX', 'XX', 'GT', 'LT'). + */ + parseCommand(parser, key, fields, ms, mode) { + parser.push('HPEXPIRE'); + parser.pushKey(key); + parser.push(ms.toString()); + if (mode) { + parser.push(mode); + } + parser.push('FIELDS'); + parser.pushVariadicWithLength(fields); + }, + transformReply: undefined +}; +//# sourceMappingURL=HPEXPIRE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HPEXPIRE.js.map b/back/node_modules/@redis/client/dist/lib/commands/HPEXPIRE.js.map new file mode 100644 index 0000000..9f14334 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HPEXPIRE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HPEXPIRE.js","sourceRoot":"","sources":["../../../lib/commands/HPEXPIRE.ts"],"names":[],"mappings":";;AAKA,kBAAe;IACb;;;;;;;;OAQG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,MAA6B,EAC7B,EAAU,EACV,IAAgC;QAEhC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE3B,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAErB,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,cAAc,EAAE,SAAoE;CAC1D,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HPEXPIREAT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HPEXPIREAT.d.ts new file mode 100644 index 0000000..6532b5e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HPEXPIREAT.d.ts @@ -0,0 +1,20 @@ +import { CommandParser } from '../client/parser'; +import { ArrayReply, NullReply, RedisArgument } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +import { HashExpiration } from './HEXPIRE'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Parses the arguments for the `HPEXPIREAT` command. + * + * @param parser - The command parser instance. + * @param key - The key of the hash. + * @param fields - The fields to set the expiration for. + * @param timestamp - The expiration timestamp (Unix timestamp or Date object). + * @param mode - Optional mode for the command ('NX', 'XX', 'GT', 'LT'). + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, fields: RedisVariadicArgument, timestamp: number | Date, mode?: 'NX' | 'XX' | 'GT' | 'LT') => void; + readonly transformReply: () => ArrayReply | NullReply; +}; +export default _default; +//# sourceMappingURL=HPEXPIREAT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HPEXPIREAT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HPEXPIREAT.d.ts.map new file mode 100644 index 0000000..129e0a8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HPEXPIREAT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HPEXPIREAT.d.ts","sourceRoot":"","sources":["../../../lib/commands/HPEXPIREAT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAW,SAAS,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAiB,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;;;IAIzC;;;;;;;;OAQG;gDAEO,aAAa,OAChB,aAAa,UACV,qBAAqB,aAClB,MAAM,GAAG,IAAI,SACjB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;mCAcY,WAAW,cAAc,CAAC,GAAG,SAAS;;AA9BtF,wBA+B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HPEXPIREAT.js b/back/node_modules/@redis/client/dist/lib/commands/HPEXPIREAT.js new file mode 100644 index 0000000..96edf8a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HPEXPIREAT.js @@ -0,0 +1,27 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + IS_READ_ONLY: true, + /** + * Parses the arguments for the `HPEXPIREAT` command. + * + * @param parser - The command parser instance. + * @param key - The key of the hash. + * @param fields - The fields to set the expiration for. + * @param timestamp - The expiration timestamp (Unix timestamp or Date object). + * @param mode - Optional mode for the command ('NX', 'XX', 'GT', 'LT'). + */ + parseCommand(parser, key, fields, timestamp, mode) { + parser.push('HPEXPIREAT'); + parser.pushKey(key); + parser.push((0, generic_transformers_1.transformPXAT)(timestamp)); + if (mode) { + parser.push(mode); + } + parser.push('FIELDS'); + parser.pushVariadicWithLength(fields); + }, + transformReply: undefined +}; +//# sourceMappingURL=HPEXPIREAT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HPEXPIREAT.js.map b/back/node_modules/@redis/client/dist/lib/commands/HPEXPIREAT.js.map new file mode 100644 index 0000000..6b7dcac --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HPEXPIREAT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HPEXPIREAT.js","sourceRoot":"","sources":["../../../lib/commands/HPEXPIREAT.ts"],"names":[],"mappings":";;AAEA,iEAA8E;AAG9E,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,MAA6B,EAC7B,SAAwB,EACxB,IAAgC;QAEhC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAA,oCAAa,EAAC,SAAS,CAAC,CAAC,CAAC;QAEtC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAErB,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,cAAc,EAAE,SAAoE;CAC1D,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HPEXPIRETIME.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HPEXPIRETIME.d.ts new file mode 100644 index 0000000..28d116b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HPEXPIRETIME.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { ArrayReply, NullReply, NumberReply, RedisArgument } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the HPEXPIRETIME command + * + * @param parser - The command parser + * @param key - The key to retrieve expiration time for + * @param fields - The fields to retrieve expiration time for + * @see https://redis.io/commands/hpexpiretime/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, fields: RedisVariadicArgument) => void; + readonly transformReply: () => ArrayReply | NullReply; +}; +export default _default; +//# sourceMappingURL=HPEXPIRETIME.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HPEXPIRETIME.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HPEXPIRETIME.d.ts.map new file mode 100644 index 0000000..f32a0c0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HPEXPIRETIME.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HPEXPIRETIME.d.ts","sourceRoot":"","sources":["../../../lib/commands/HPEXPIRETIME.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAW,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;IAI7D;;;;;;;OAOG;gDAEO,aAAa,OAChB,aAAa,UACV,qBAAqB;mCAOe,WAAW,WAAW,CAAC,GAAG,SAAS;;AApBnF,wBAqB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HPEXPIRETIME.js b/back/node_modules/@redis/client/dist/lib/commands/HPEXPIRETIME.js new file mode 100644 index 0000000..c9ac268 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HPEXPIRETIME.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the HPEXPIRETIME command + * + * @param parser - The command parser + * @param key - The key to retrieve expiration time for + * @param fields - The fields to retrieve expiration time for + * @see https://redis.io/commands/hpexpiretime/ + */ + parseCommand(parser, key, fields) { + parser.push('HPEXPIRETIME'); + parser.pushKey(key); + parser.push('FIELDS'); + parser.pushVariadicWithLength(fields); + }, + transformReply: undefined +}; +//# sourceMappingURL=HPEXPIRETIME.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HPEXPIRETIME.js.map b/back/node_modules/@redis/client/dist/lib/commands/HPEXPIRETIME.js.map new file mode 100644 index 0000000..ff5de69 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HPEXPIRETIME.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HPEXPIRETIME.js","sourceRoot":"","sources":["../../../lib/commands/HPEXPIRETIME.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,MAA6B;QAE7B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,cAAc,EAAE,SAAiE;CACvD,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HPTTL.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HPTTL.d.ts new file mode 100644 index 0000000..1361f1b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HPTTL.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { ArrayReply, NullReply, NumberReply, RedisArgument } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the HPTTL command + * + * @param parser - The command parser + * @param key - The key to check time-to-live for + * @param fields - The fields to check time-to-live for + * @see https://redis.io/commands/hpttl/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, fields: RedisVariadicArgument) => void; + readonly transformReply: () => ArrayReply | NullReply; +}; +export default _default; +//# sourceMappingURL=HPTTL.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HPTTL.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HPTTL.d.ts.map new file mode 100644 index 0000000..a9c9dac --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HPTTL.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HPTTL.d.ts","sourceRoot":"","sources":["../../../lib/commands/HPTTL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAW,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;IAI7D;;;;;;;OAOG;gDAEO,aAAa,OAChB,aAAa,UACV,qBAAqB;mCAOe,WAAW,WAAW,CAAC,GAAG,SAAS;;AApBnF,wBAqB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HPTTL.js b/back/node_modules/@redis/client/dist/lib/commands/HPTTL.js new file mode 100644 index 0000000..485c0bc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HPTTL.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the HPTTL command + * + * @param parser - The command parser + * @param key - The key to check time-to-live for + * @param fields - The fields to check time-to-live for + * @see https://redis.io/commands/hpttl/ + */ + parseCommand(parser, key, fields) { + parser.push('HPTTL'); + parser.pushKey(key); + parser.push('FIELDS'); + parser.pushVariadicWithLength(fields); + }, + transformReply: undefined +}; +//# sourceMappingURL=HPTTL.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HPTTL.js.map b/back/node_modules/@redis/client/dist/lib/commands/HPTTL.js.map new file mode 100644 index 0000000..c2b8f8d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HPTTL.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HPTTL.js","sourceRoot":"","sources":["../../../lib/commands/HPTTL.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,MAA6B;QAE7B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,cAAc,EAAE,SAAiE;CACvD,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD.d.ts new file mode 100644 index 0000000..10719ac --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply, NullReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the HRANDFIELD command + * + * @param parser - The command parser + * @param key - The key of the hash to get a random field from + * @see https://redis.io/commands/hrandfield/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => BlobStringReply | NullReply; +}; +export default _default; +//# sourceMappingURL=HRANDFIELD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD.d.ts.map new file mode 100644 index 0000000..c5accf5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HRANDFIELD.d.ts","sourceRoot":"","sources":["../../../lib/commands/HRANDFIELD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;;;IAIjF;;;;;;OAMG;gDACkB,aAAa,OAAO,aAAa;mCAIR,eAAe,GAAG,SAAS;;AAb3E,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD.js b/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD.js new file mode 100644 index 0000000..d9ebf12 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the HRANDFIELD command + * + * @param parser - The command parser + * @param key - The key of the hash to get a random field from + * @see https://redis.io/commands/hrandfield/ + */ + parseCommand(parser, key) { + parser.push('HRANDFIELD'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=HRANDFIELD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD.js.map b/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD.js.map new file mode 100644 index 0000000..371d72d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HRANDFIELD.js","sourceRoot":"","sources":["../../../lib/commands/HRANDFIELD.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT.d.ts new file mode 100644 index 0000000..1e88a2d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the HRANDFIELD command with count parameter + * + * @param parser - The command parser + * @param key - The key of the hash to get random fields from + * @param count - The number of fields to return (positive: unique fields, negative: may repeat fields) + * @see https://redis.io/commands/hrandfield/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, count: number) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=HRANDFIELD_COUNT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT.d.ts.map new file mode 100644 index 0000000..f6257ee --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HRANDFIELD_COUNT.d.ts","sourceRoot":"","sources":["../../../lib/commands/HRANDFIELD_COUNT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;IAIlF;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,SAAS,MAAM;mCAKvB,WAAW,eAAe,CAAC;;AAf3E,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT.js b/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT.js new file mode 100644 index 0000000..802e77e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the HRANDFIELD command with count parameter + * + * @param parser - The command parser + * @param key - The key of the hash to get random fields from + * @param count - The number of fields to return (positive: unique fields, negative: may repeat fields) + * @see https://redis.io/commands/hrandfield/ + */ + parseCommand(parser, key, count) { + parser.push('HRANDFIELD'); + parser.pushKey(key); + parser.push(count.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=HRANDFIELD_COUNT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT.js.map b/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT.js.map new file mode 100644 index 0000000..641fd64 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HRANDFIELD_COUNT.js","sourceRoot":"","sources":["../../../lib/commands/HRANDFIELD_COUNT.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAa;QACnE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT_WITHVALUES.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT_WITHVALUES.d.ts new file mode 100644 index 0000000..0241e7d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT_WITHVALUES.d.ts @@ -0,0 +1,27 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, TuplesReply, BlobStringReply, UnwrapReply } from '../RESP/types'; +export type HRandFieldCountWithValuesReply = Array<{ + field: BlobStringReply; + value: BlobStringReply; +}>; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the HRANDFIELD command with count parameter and WITHVALUES option + * + * @param parser - The command parser + * @param key - The key of the hash to get random fields from + * @param count - The number of fields to return (positive: unique fields, negative: may repeat fields) + * @see https://redis.io/commands/hrandfield/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, count: number) => void; + readonly transformReply: { + readonly 2: (rawReply: UnwrapReply>) => HRandFieldCountWithValuesReply; + readonly 3: (reply: UnwrapReply>>) => { + field: BlobStringReply; + value: BlobStringReply; + }[]; + }; +}; +export default _default; +//# sourceMappingURL=HRANDFIELD_COUNT_WITHVALUES.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT_WITHVALUES.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT_WITHVALUES.d.ts.map new file mode 100644 index 0000000..b4c45c5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT_WITHVALUES.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HRANDFIELD_COUNT_WITHVALUES.d.ts","sourceRoot":"","sources":["../../../lib/commands/HRANDFIELD_COUNT_WITHVALUES.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AAE9G,MAAM,MAAM,8BAA8B,GAAG,KAAK,CAAC;IACjD,KAAK,EAAE,eAAe,CAAC;IACvB,KAAK,EAAE,eAAe,CAAC;CACxB,CAAC,CAAC;;;IAID;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,SAAS,MAAM;;+BAMrD,YAAY,WAAW,eAAe,CAAC,CAAC;4BAa3C,YAAY,WAAW,YAAY,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;;;;;;AA7BvF,wBAuC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT_WITHVALUES.js b/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT_WITHVALUES.js new file mode 100644 index 0000000..20b42e4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT_WITHVALUES.js @@ -0,0 +1,41 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the HRANDFIELD command with count parameter and WITHVALUES option + * + * @param parser - The command parser + * @param key - The key of the hash to get random fields from + * @param count - The number of fields to return (positive: unique fields, negative: may repeat fields) + * @see https://redis.io/commands/hrandfield/ + */ + parseCommand(parser, key, count) { + parser.push('HRANDFIELD'); + parser.pushKey(key); + parser.push(count.toString(), 'WITHVALUES'); + }, + transformReply: { + 2: (rawReply) => { + const reply = []; + let i = 0; + while (i < rawReply.length) { + reply.push({ + field: rawReply[i++], + value: rawReply[i++] + }); + } + return reply; + }, + 3: (reply) => { + return reply.map(entry => { + const [field, value] = entry; + return { + field, + value + }; + }); + } + } +}; +//# sourceMappingURL=HRANDFIELD_COUNT_WITHVALUES.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT_WITHVALUES.js.map b/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT_WITHVALUES.js.map new file mode 100644 index 0000000..9c23bee --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HRANDFIELD_COUNT_WITHVALUES.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HRANDFIELD_COUNT_WITHVALUES.js","sourceRoot":"","sources":["../../../lib/commands/HRANDFIELD_COUNT_WITHVALUES.ts"],"names":[],"mappings":";;AAQA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAa;QACnE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC,CAAC;IAC9C,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,QAAkD,EAAE,EAAE;YACxD,MAAM,KAAK,GAAmC,EAAE,CAAC;YAEjD,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC;oBACT,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;oBACpB,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;iBACrB,CAAC,CAAC;YACL,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QACD,CAAC,EAAE,CAAC,KAA+E,EAAE,EAAE;YACrF,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBACvB,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,KAA6C,CAAC;gBACrE,OAAO;oBACL,KAAK;oBACL,KAAK;iBACN,CAAC;YACJ,CAAC,CAA0C,CAAC;QAC9C,CAAC;KACF;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HSCAN.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HSCAN.d.ts new file mode 100644 index 0000000..13877bb --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HSCAN.d.ts @@ -0,0 +1,29 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply } from '../RESP/types'; +import { ScanCommonOptions } from './SCAN'; +export interface HScanEntry { + field: BlobStringReply; + value: BlobStringReply; +} +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the HSCAN command + * + * @param parser - The command parser + * @param key - The key of the hash to scan + * @param cursor - The cursor position to start scanning from + * @param options - Options for the scan (COUNT, MATCH, TYPE) + * @see https://redis.io/commands/hscan/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, cursor: RedisArgument, options?: ScanCommonOptions) => void; + readonly transformReply: (this: void, [cursor, rawEntries]: [BlobStringReply, Array]) => { + cursor: BlobStringReply; + entries: { + field: BlobStringReply; + value: BlobStringReply; + }[]; + }; +}; +export default _default; +//# sourceMappingURL=HSCAN.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HSCAN.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HSCAN.d.ts.map new file mode 100644 index 0000000..ada8591 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HSCAN.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HSCAN.d.ts","sourceRoot":"","sources":["../../../lib/commands/HSCAN.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAsB,MAAM,QAAQ,CAAC;AAE/D,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,eAAe,CAAC;IACvB,KAAK,EAAE,eAAe,CAAC;CACxB;;;IAIC;;;;;;;;OAQG;gDAEO,aAAa,OAChB,aAAa,UACV,aAAa,YACX,iBAAiB;gEAMQ,CAAC,eAAe,EAAE,MAAM,eAAe,CAAC,CAAC;;;;;;;;AArBhF,wBAoC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HSCAN.js b/back/node_modules/@redis/client/dist/lib/commands/HSCAN.js new file mode 100644 index 0000000..53ef0ca --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HSCAN.js @@ -0,0 +1,35 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const SCAN_1 = require("./SCAN"); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the HSCAN command + * + * @param parser - The command parser + * @param key - The key of the hash to scan + * @param cursor - The cursor position to start scanning from + * @param options - Options for the scan (COUNT, MATCH, TYPE) + * @see https://redis.io/commands/hscan/ + */ + parseCommand(parser, key, cursor, options) { + parser.push('HSCAN'); + parser.pushKey(key); + (0, SCAN_1.parseScanArguments)(parser, cursor, options); + }, + transformReply([cursor, rawEntries]) { + const entries = []; + let i = 0; + while (i < rawEntries.length) { + entries.push({ + field: rawEntries[i++], + value: rawEntries[i++] + }); + } + return { + cursor, + entries + }; + } +}; +//# sourceMappingURL=HSCAN.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HSCAN.js.map b/back/node_modules/@redis/client/dist/lib/commands/HSCAN.js.map new file mode 100644 index 0000000..e2b3807 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HSCAN.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HSCAN.js","sourceRoot":"","sources":["../../../lib/commands/HSCAN.ts"],"names":[],"mappings":";;AAEA,iCAA+D;AAO/D,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,MAAqB,EACrB,OAA2B;QAE3B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,IAAA,yBAAkB,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IACD,cAAc,CAAC,CAAC,MAAM,EAAE,UAAU,CAA4C;QAC5E,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;gBACtB,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;aACF,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,MAAM;YACN,OAAO;SACR,CAAC;IACJ,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HSCAN_NOVALUES.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HSCAN_NOVALUES.d.ts new file mode 100644 index 0000000..7f55f50 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HSCAN_NOVALUES.d.ts @@ -0,0 +1,17 @@ +import { BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the HSCAN command with NOVALUES option + * + * @param args - The same parameters as HSCAN command + * @see https://redis.io/commands/hscan/ + */ + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, cursor: import("../RESP/types").RedisArgument, options?: import("./SCAN").ScanCommonOptions | undefined) => void; + readonly transformReply: (this: void, [cursor, fields]: [BlobStringReply, Array]) => { + cursor: BlobStringReply; + fields: BlobStringReply[]; + }; +}; +export default _default; +//# sourceMappingURL=HSCAN_NOVALUES.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HSCAN_NOVALUES.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HSCAN_NOVALUES.d.ts.map new file mode 100644 index 0000000..bf1460a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HSCAN_NOVALUES.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HSCAN_NOVALUES.d.ts","sourceRoot":"","sources":["../../../lib/commands/HSCAN_NOVALUES.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;IAKvD;;;;;OAKG;;4DAO8B,CAAC,eAAe,EAAE,MAAM,eAAe,CAAC,CAAC;;;;;AAd5E,wBAoB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HSCAN_NOVALUES.js b/back/node_modules/@redis/client/dist/lib/commands/HSCAN_NOVALUES.js new file mode 100644 index 0000000..f934f53 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HSCAN_NOVALUES.js @@ -0,0 +1,27 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const HSCAN_1 = __importDefault(require("./HSCAN")); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the HSCAN command with NOVALUES option + * + * @param args - The same parameters as HSCAN command + * @see https://redis.io/commands/hscan/ + */ + parseCommand(...args) { + const parser = args[0]; + HSCAN_1.default.parseCommand(...args); + parser.push('NOVALUES'); + }, + transformReply([cursor, fields]) { + return { + cursor, + fields + }; + } +}; +//# sourceMappingURL=HSCAN_NOVALUES.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HSCAN_NOVALUES.js.map b/back/node_modules/@redis/client/dist/lib/commands/HSCAN_NOVALUES.js.map new file mode 100644 index 0000000..08bfe18 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HSCAN_NOVALUES.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HSCAN_NOVALUES.js","sourceRoot":"","sources":["../../../lib/commands/HSCAN_NOVALUES.ts"],"names":[],"mappings":";;;;;AACA,oDAA4B;AAE5B,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,GAAG,IAA2C;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEvB,eAAK,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1B,CAAC;IACD,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAA4C;QACxE,OAAO;YACL,MAAM;YACN,MAAM;SACP,CAAC;IACJ,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HSET.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HSET.d.ts new file mode 100644 index 0000000..53acd03 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HSET.d.ts @@ -0,0 +1,25 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +export type HashTypes = RedisArgument | number; +type HSETObject = Record; +type HSETMap = Map; +type HSETTuples = Array<[HashTypes, HashTypes]> | Array; +type GenericArguments = [key: RedisArgument]; +type SingleFieldArguments = [...generic: GenericArguments, field: HashTypes, value: HashTypes]; +type MultipleFieldsArguments = [...generic: GenericArguments, value: HSETObject | HSETMap | HSETTuples]; +export type HSETArguments = SingleFieldArguments | MultipleFieldsArguments; +declare const _default: { + /** + * Constructs the HSET command + * + * @param parser - The command parser + * @param key - The key of the hash + * @param value - Either the field name (when using single field) or an object/map/array of field-value pairs + * @param fieldValue - The value to set (only used with single field variant) + * @see https://redis.io/commands/hset/ + */ + readonly parseCommand: (this: void, parser: CommandParser, ...[key, value, fieldValue]: SingleFieldArguments | MultipleFieldsArguments) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=HSET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HSET.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HSET.d.ts.map new file mode 100644 index 0000000..c83e066 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HSET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HSET.d.ts","sourceRoot":"","sources":["../../../lib/commands/HSET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AAEpE,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC;AAE/C,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,SAAS,CAAC,CAAC;AAErD,KAAK,OAAO,GAAG,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAEzC,KAAK,UAAU,GAAG,KAAK,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;AAEnE,KAAK,gBAAgB,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;AAE7C,KAAK,oBAAoB,GAAG,CAAC,GAAG,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;AAE/F,KAAK,uBAAuB,GAAG,CAAC,GAAG,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC,CAAC;AAExG,MAAM,MAAM,aAAa,GAAG,oBAAoB,GAAG,uBAAuB,CAAC;;IAGzE;;;;;;;;OAQG;gDACkB,aAAa,+BAA+B,oBAAoB,GAAG,uBAAuB;mCAiBjE,WAAW;;AA3B3D,wBA4B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HSET.js b/back/node_modules/@redis/client/dist/lib/commands/HSET.js new file mode 100644 index 0000000..49b8484 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HSET.js @@ -0,0 +1,55 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Constructs the HSET command + * + * @param parser - The command parser + * @param key - The key of the hash + * @param value - Either the field name (when using single field) or an object/map/array of field-value pairs + * @param fieldValue - The value to set (only used with single field variant) + * @see https://redis.io/commands/hset/ + */ + parseCommand(parser, ...[key, value, fieldValue]) { + parser.push('HSET'); + parser.pushKey(key); + if (typeof value === 'string' || typeof value === 'number' || value instanceof Buffer) { + parser.push(convertValue(value), convertValue(fieldValue)); + } + else if (value instanceof Map) { + pushMap(parser, value); + } + else if (Array.isArray(value)) { + pushTuples(parser, value); + } + else { + pushObject(parser, value); + } + }, + transformReply: undefined +}; +function pushMap(parser, map) { + for (const [key, value] of map.entries()) { + parser.push(convertValue(key), convertValue(value)); + } +} +function pushTuples(parser, tuples) { + for (const tuple of tuples) { + if (Array.isArray(tuple)) { + pushTuples(parser, tuple); + continue; + } + parser.push(convertValue(tuple)); + } +} +function pushObject(parser, object) { + for (const key of Object.keys(object)) { + parser.push(convertValue(key), convertValue(object[key])); + } +} +function convertValue(value) { + return typeof value === 'number' ? + value.toString() : + value; +} +//# sourceMappingURL=HSET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HSET.js.map b/back/node_modules/@redis/client/dist/lib/commands/HSET.js.map new file mode 100644 index 0000000..0f6a4a3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HSET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HSET.js","sourceRoot":"","sources":["../../../lib/commands/HSET.ts"],"names":[],"mappings":";;AAmBA,kBAAe;IACb;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAiD;QAC7G,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;YACtF,MAAM,CAAC,IAAI,CACT,YAAY,CAAC,KAAK,CAAC,EACnB,YAAY,CAAC,UAAW,CAAC,CAC1B,CAAC;QACJ,CAAC;aAAM,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;YAChC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC;AAE7B,SAAS,OAAO,CAAC,MAAqB,EAAE,GAAY;IAClD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CACT,YAAY,CAAC,GAAG,CAAC,EACjB,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,MAAqB,EAAE,MAAkB;IAC3D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC1B,SAAS;QACX,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,MAAqB,EAAE,MAAkB;IAC3D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CACT,YAAY,CAAC,GAAG,CAAC,EACjB,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAC1B,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAgB;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;QAChC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClB,KAAK,CAAC;AACV,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HSETEX.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HSETEX.d.ts new file mode 100644 index 0000000..beba6b1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HSETEX.d.ts @@ -0,0 +1,30 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply, RedisArgument } from '../RESP/types'; +export interface HSetExOptions { + expiration?: { + type: 'EX' | 'PX' | 'EXAT' | 'PXAT'; + value: number; + } | { + type: 'KEEPTTL'; + } | 'KEEPTTL'; + mode?: 'FNX' | 'FXX'; +} +export type HashTypes = RedisArgument | number; +type HSETEXObject = Record; +type HSETEXMap = Map; +type HSETEXTuples = Array<[HashTypes, HashTypes]> | Array; +declare const _default: { + /** + * Constructs the HSETEX command + * + * @param parser - The command parser + * @param key - The key of the hash + * @param fields - Object, Map, or Array of field-value pairs to set + * @param options - Optional configuration for expiration and mode settings + * @see https://redis.io/commands/hsetex/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, fields: HSETEXObject | HSETEXMap | HSETEXTuples, options?: HSetExOptions) => void; + readonly transformReply: () => NumberReply<0 | 1>; +}; +export default _default; +//# sourceMappingURL=HSETEX.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HSETEX.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HSETEX.d.ts.map new file mode 100644 index 0000000..b4a3b92 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HSETEX.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HSETEX.d.ts","sourceRoot":"","sources":["../../../lib/commands/HSETEX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAY,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAErE,MAAM,WAAW,aAAa;IAC1B,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;QACpC,KAAK,EAAE,MAAM,CAAC;KACf,GAAG;QACF,IAAI,EAAE,SAAS,CAAC;KACjB,GAAG,SAAS,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,CAAA;CACrB;AAEH,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC;AAE/C,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,SAAS,CAAC,CAAC;AAEvD,KAAK,SAAS,GAAG,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAE3C,KAAK,YAAY,GAAG,KAAK,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;;IAGnE;;;;;;;;OAQG;gDAEO,aAAa,OAChB,aAAa,UACV,YAAY,GAAG,SAAS,GAAG,YAAY,YACrC,aAAa;mCA8BqB,YAAY,CAAC,GAAG,CAAC,CAAC;;AA5ClE,wBA6C6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HSETEX.js b/back/node_modules/@redis/client/dist/lib/commands/HSETEX.js new file mode 100644 index 0000000..fcd18e1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HSETEX.js @@ -0,0 +1,81 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const parser_1 = require("../client/parser"); +exports.default = { + /** + * Constructs the HSETEX command + * + * @param parser - The command parser + * @param key - The key of the hash + * @param fields - Object, Map, or Array of field-value pairs to set + * @param options - Optional configuration for expiration and mode settings + * @see https://redis.io/commands/hsetex/ + */ + parseCommand(parser, key, fields, options) { + parser.push('HSETEX'); + parser.pushKey(key); + if (options?.mode) { + parser.push(options.mode); + } + if (options?.expiration) { + if (typeof options.expiration === 'string') { + parser.push(options.expiration); + } + else if (options.expiration.type === 'KEEPTTL') { + parser.push('KEEPTTL'); + } + else { + parser.push(options.expiration.type, options.expiration.value.toString()); + } + } + parser.push('FIELDS'); + if (fields instanceof Map) { + pushMap(parser, fields); + } + else if (Array.isArray(fields)) { + pushTuples(parser, fields); + } + else { + pushObject(parser, fields); + } + }, + transformReply: undefined +}; +function pushMap(parser, map) { + parser.push(map.size.toString()); + for (const [key, value] of map.entries()) { + parser.push(convertValue(key), convertValue(value)); + } +} +function pushTuples(parser, tuples) { + const tmpParser = new parser_1.BasicCommandParser; + _pushTuples(tmpParser, tuples); + if (tmpParser.redisArgs.length % 2 != 0) { + throw Error('invalid number of arguments, expected key value ....[key value] pairs, got key without value'); + } + parser.push((tmpParser.redisArgs.length / 2).toString()); + parser.push(...tmpParser.redisArgs); +} +function _pushTuples(parser, tuples) { + for (const tuple of tuples) { + if (Array.isArray(tuple)) { + _pushTuples(parser, tuple); + continue; + } + parser.push(convertValue(tuple)); + } +} +function pushObject(parser, object) { + const len = Object.keys(object).length; + if (len == 0) { + throw Error('object without keys'); + } + parser.push(len.toString()); + for (const key of Object.keys(object)) { + parser.push(convertValue(key), convertValue(object[key])); + } +} +function convertValue(value) { + return typeof value === 'number' ? value.toString() : value; +} +//# sourceMappingURL=HSETEX.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HSETEX.js.map b/back/node_modules/@redis/client/dist/lib/commands/HSETEX.js.map new file mode 100644 index 0000000..55231df --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HSETEX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HSETEX.js","sourceRoot":"","sources":["../../../lib/commands/HSETEX.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HSETNX.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HSETNX.d.ts new file mode 100644 index 0000000..e7e21e4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HSETNX.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the HSETNX command + * + * @param parser - The command parser + * @param key - The key of the hash + * @param field - The field to set if it does not exist + * @param value - The value to set + * @see https://redis.io/commands/hsetnx/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, field: RedisArgument, value: RedisArgument) => void; + readonly transformReply: () => NumberReply<0 | 1>; +}; +export default _default; +//# sourceMappingURL=HSETNX.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HSETNX.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HSETNX.d.ts.map new file mode 100644 index 0000000..ab479c3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HSETNX.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HSETNX.d.ts","sourceRoot":"","sources":["../../../lib/commands/HSETNX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAW,WAAW,EAAE,MAAM,eAAe,CAAC;;;IAIlE;;;;;;;;OAQG;gDAEO,aAAa,OAChB,aAAa,SACX,aAAa,SACb,aAAa;mCAMwB,YAAY,CAAC,GAAG,CAAC,CAAC;;AArBlE,wBAsB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HSETNX.js b/back/node_modules/@redis/client/dist/lib/commands/HSETNX.js new file mode 100644 index 0000000..72ee49f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HSETNX.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the HSETNX command + * + * @param parser - The command parser + * @param key - The key of the hash + * @param field - The field to set if it does not exist + * @param value - The value to set + * @see https://redis.io/commands/hsetnx/ + */ + parseCommand(parser, key, field, value) { + parser.push('HSETNX'); + parser.pushKey(key); + parser.push(field, value); + }, + transformReply: undefined +}; +//# sourceMappingURL=HSETNX.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HSETNX.js.map b/back/node_modules/@redis/client/dist/lib/commands/HSETNX.js.map new file mode 100644 index 0000000..0ab57b6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HSETNX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HSETNX.js","sourceRoot":"","sources":["../../../lib/commands/HSETNX.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,KAAoB,EACpB,KAAoB;QAEpB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,cAAc,EAAE,SAAgD;CACtC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HSTRLEN.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HSTRLEN.d.ts new file mode 100644 index 0000000..788b21c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HSTRLEN.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the HSTRLEN command + * + * @param parser - The command parser + * @param key - The key of the hash + * @param field - The field to get the string length of + * @see https://redis.io/commands/hstrlen/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, field: RedisArgument) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=HSTRLEN.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HSTRLEN.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HSTRLEN.d.ts.map new file mode 100644 index 0000000..2745bfe --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HSTRLEN.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HSTRLEN.d.ts","sourceRoot":"","sources":["../../../lib/commands/HSTRLEN.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;;IAKlF;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,SAAS,aAAa;mCAK9B,WAAW,eAAe,CAAC;;AAhB3E,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HSTRLEN.js b/back/node_modules/@redis/client/dist/lib/commands/HSTRLEN.js new file mode 100644 index 0000000..046e03f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HSTRLEN.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Constructs the HSTRLEN command + * + * @param parser - The command parser + * @param key - The key of the hash + * @param field - The field to get the string length of + * @see https://redis.io/commands/hstrlen/ + */ + parseCommand(parser, key, field) { + parser.push('HSTRLEN'); + parser.pushKey(key); + parser.push(field); + }, + transformReply: undefined +}; +//# sourceMappingURL=HSTRLEN.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HSTRLEN.js.map b/back/node_modules/@redis/client/dist/lib/commands/HSTRLEN.js.map new file mode 100644 index 0000000..e82f9b3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HSTRLEN.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HSTRLEN.js","sourceRoot":"","sources":["../../../lib/commands/HSTRLEN.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAoB;QAC1E,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HTTL.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HTTL.d.ts new file mode 100644 index 0000000..54963e6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HTTL.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { ArrayReply, NullReply, NumberReply, RedisArgument } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns the remaining time to live of field(s) in a hash. + * @param parser - The Redis command parser. + * @param key - Key of the hash. + * @param fields - Fields to check time to live. + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, fields: RedisVariadicArgument) => void; + readonly transformReply: () => ArrayReply | NullReply; +}; +export default _default; +//# sourceMappingURL=HTTL.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HTTL.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HTTL.d.ts.map new file mode 100644 index 0000000..0223e11 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HTTL.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HTTL.d.ts","sourceRoot":"","sources":["../../../lib/commands/HTTL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAW,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;IAI7D;;;;;OAKG;gDAEO,aAAa,OAChB,aAAa,UACV,qBAAqB;mCAOe,WAAW,WAAW,CAAC,GAAG,SAAS;;AAlBnF,wBAmB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HTTL.js b/back/node_modules/@redis/client/dist/lib/commands/HTTL.js new file mode 100644 index 0000000..9cd0bb8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HTTL.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns the remaining time to live of field(s) in a hash. + * @param parser - The Redis command parser. + * @param key - Key of the hash. + * @param fields - Fields to check time to live. + */ + parseCommand(parser, key, fields) { + parser.push('HTTL'); + parser.pushKey(key); + parser.push('FIELDS'); + parser.pushVariadicWithLength(fields); + }, + transformReply: undefined +}; +//# sourceMappingURL=HTTL.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HTTL.js.map b/back/node_modules/@redis/client/dist/lib/commands/HTTL.js.map new file mode 100644 index 0000000..61fa826 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HTTL.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HTTL.js","sourceRoot":"","sources":["../../../lib/commands/HTTL.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,MAA6B;QAE7B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,cAAc,EAAE,SAAiE;CACvD,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HVALS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/HVALS.d.ts new file mode 100644 index 0000000..2653a7f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HVALS.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Gets all values in a hash. + * @param parser - The Redis command parser. + * @param key - Key of the hash. + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=HVALS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HVALS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/HVALS.d.ts.map new file mode 100644 index 0000000..143dc37 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HVALS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HVALS.d.ts","sourceRoot":"","sources":["../../../lib/commands/HVALS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;;IAKlF;;;;OAIG;gDACkB,aAAa,OAAO,aAAa;mCAIR,WAAW,eAAe,CAAC;;AAZ3E,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HVALS.js b/back/node_modules/@redis/client/dist/lib/commands/HVALS.js new file mode 100644 index 0000000..6a25175 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HVALS.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Gets all values in a hash. + * @param parser - The Redis command parser. + * @param key - Key of the hash. + */ + parseCommand(parser, key) { + parser.push('HVALS'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=HVALS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/HVALS.js.map b/back/node_modules/@redis/client/dist/lib/commands/HVALS.js.map new file mode 100644 index 0000000..d9e6186 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/HVALS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HVALS.js","sourceRoot":"","sources":["../../../lib/commands/HVALS.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/INCR.d.ts b/back/node_modules/@redis/client/dist/lib/commands/INCR.d.ts new file mode 100644 index 0000000..fd3b02e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/INCR.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + /** + * Constructs the INCR command + * + * @param parser - The command parser + * @param key - The key to increment + * @see https://redis.io/commands/incr/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=INCR.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/INCR.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/INCR.d.ts.map new file mode 100644 index 0000000..1055b4a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/INCR.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"INCR.d.ts","sourceRoot":"","sources":["../../../lib/commands/INCR.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;IAGlE;;;;;;OAMG;gDACkB,aAAa,OAAO,aAAa;mCAIR,WAAW;;AAZ3D,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/INCR.js b/back/node_modules/@redis/client/dist/lib/commands/INCR.js new file mode 100644 index 0000000..bb2e912 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/INCR.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Constructs the INCR command + * + * @param parser - The command parser + * @param key - The key to increment + * @see https://redis.io/commands/incr/ + */ + parseCommand(parser, key) { + parser.push('INCR'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=INCR.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/INCR.js.map b/back/node_modules/@redis/client/dist/lib/commands/INCR.js.map new file mode 100644 index 0000000..c1f4227 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/INCR.js.map @@ -0,0 +1 @@ +{"version":3,"file":"INCR.js","sourceRoot":"","sources":["../../../lib/commands/INCR.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/INCRBY.d.ts b/back/node_modules/@redis/client/dist/lib/commands/INCRBY.d.ts new file mode 100644 index 0000000..6f5dabb --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/INCRBY.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + /** + * Constructs the INCRBY command + * + * @param parser - The command parser + * @param key - The key to increment + * @param increment - The amount to increment by + * @see https://redis.io/commands/incrby/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, increment: number) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=INCRBY.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/INCRBY.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/INCRBY.d.ts.map new file mode 100644 index 0000000..9bdf3df --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/INCRBY.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"INCRBY.d.ts","sourceRoot":"","sources":["../../../lib/commands/INCRBY.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;IAGlE;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,aAAa,MAAM;mCAK3B,WAAW;;AAd3D,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/INCRBY.js b/back/node_modules/@redis/client/dist/lib/commands/INCRBY.js new file mode 100644 index 0000000..312be4c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/INCRBY.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Constructs the INCRBY command + * + * @param parser - The command parser + * @param key - The key to increment + * @param increment - The amount to increment by + * @see https://redis.io/commands/incrby/ + */ + parseCommand(parser, key, increment) { + parser.push('INCRBY'); + parser.pushKey(key); + parser.push(increment.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=INCRBY.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/INCRBY.js.map b/back/node_modules/@redis/client/dist/lib/commands/INCRBY.js.map new file mode 100644 index 0000000..dd3205a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/INCRBY.js.map @@ -0,0 +1 @@ +{"version":3,"file":"INCRBY.js","sourceRoot":"","sources":["../../../lib/commands/INCRBY.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,SAAiB;QACvE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/INCRBYFLOAT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/INCRBYFLOAT.d.ts new file mode 100644 index 0000000..26daa93 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/INCRBYFLOAT.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply } from '../RESP/types'; +declare const _default: { + /** + * Constructs the INCRBYFLOAT command + * + * @param parser - The command parser + * @param key - The key to increment + * @param increment - The floating-point value to increment by + * @see https://redis.io/commands/incrbyfloat/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, increment: number) => void; + readonly transformReply: () => BlobStringReply; +}; +export default _default; +//# sourceMappingURL=INCRBYFLOAT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/INCRBYFLOAT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/INCRBYFLOAT.d.ts.map new file mode 100644 index 0000000..cebefc0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/INCRBYFLOAT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"INCRBYFLOAT.d.ts","sourceRoot":"","sources":["../../../lib/commands/INCRBYFLOAT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;IAGtE;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,aAAa,MAAM;mCAK3B,eAAe;;AAd/D,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/INCRBYFLOAT.js b/back/node_modules/@redis/client/dist/lib/commands/INCRBYFLOAT.js new file mode 100644 index 0000000..348cccf --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/INCRBYFLOAT.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Constructs the INCRBYFLOAT command + * + * @param parser - The command parser + * @param key - The key to increment + * @param increment - The floating-point value to increment by + * @see https://redis.io/commands/incrbyfloat/ + */ + parseCommand(parser, key, increment) { + parser.push('INCRBYFLOAT'); + parser.pushKey(key); + parser.push(increment.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=INCRBYFLOAT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/INCRBYFLOAT.js.map b/back/node_modules/@redis/client/dist/lib/commands/INCRBYFLOAT.js.map new file mode 100644 index 0000000..baa4f92 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/INCRBYFLOAT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"INCRBYFLOAT.js","sourceRoot":"","sources":["../../../lib/commands/INCRBYFLOAT.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,SAAiB;QACvE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,cAAc,EAAE,SAA6C;CACnC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/INFO.d.ts b/back/node_modules/@redis/client/dist/lib/commands/INFO.d.ts new file mode 100644 index 0000000..0773496 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/INFO.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, VerbatimStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the INFO command + * + * @param parser - The command parser + * @param section - Optional specific section of information to retrieve + * @see https://redis.io/commands/info/ + */ + readonly parseCommand: (this: void, parser: CommandParser, section?: RedisArgument) => void; + readonly transformReply: () => VerbatimStringReply; +}; +export default _default; +//# sourceMappingURL=INFO.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/INFO.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/INFO.d.ts.map new file mode 100644 index 0000000..e94a513 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/INFO.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"INFO.d.ts","sourceRoot":"","sources":["../../../lib/commands/INFO.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAW,MAAM,eAAe,CAAC;;;;IAK1E;;;;;;OAMG;gDACkB,aAAa,YAAY,aAAa;mCAOb,mBAAmB;;AAjBnE,wBAkB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/INFO.js b/back/node_modules/@redis/client/dist/lib/commands/INFO.js new file mode 100644 index 0000000..452a044 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/INFO.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the INFO command + * + * @param parser - The command parser + * @param section - Optional specific section of information to retrieve + * @see https://redis.io/commands/info/ + */ + parseCommand(parser, section) { + parser.push('INFO'); + if (section) { + parser.push(section); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=INFO.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/INFO.js.map b/back/node_modules/@redis/client/dist/lib/commands/INFO.js.map new file mode 100644 index 0000000..5d9f63a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/INFO.js.map @@ -0,0 +1 @@ +{"version":3,"file":"INFO.js","sourceRoot":"","sources":["../../../lib/commands/INFO.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,OAAuB;QACzD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEpB,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAiD;CACvC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/KEYS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/KEYS.d.ts new file mode 100644 index 0000000..32d1f47 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/KEYS.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the KEYS command + * + * @param parser - The command parser + * @param pattern - The pattern to match keys against + * @see https://redis.io/commands/keys/ + */ + readonly parseCommand: (this: void, parser: CommandParser, pattern: RedisArgument) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=KEYS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/KEYS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/KEYS.d.ts.map new file mode 100644 index 0000000..9cb47e7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/KEYS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"KEYS.d.ts","sourceRoot":"","sources":["../../../lib/commands/KEYS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;;IAKlF;;;;;;OAMG;gDACkB,aAAa,WAAW,aAAa;mCAGZ,WAAW,eAAe,CAAC;;AAb3E,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/KEYS.js b/back/node_modules/@redis/client/dist/lib/commands/KEYS.js new file mode 100644 index 0000000..0df1c82 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/KEYS.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the KEYS command + * + * @param parser - The command parser + * @param pattern - The pattern to match keys against + * @see https://redis.io/commands/keys/ + */ + parseCommand(parser, pattern) { + parser.push('KEYS', pattern); + }, + transformReply: undefined +}; +//# sourceMappingURL=KEYS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/KEYS.js.map b/back/node_modules/@redis/client/dist/lib/commands/KEYS.js.map new file mode 100644 index 0000000..6f44cef --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/KEYS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"KEYS.js","sourceRoot":"","sources":["../../../lib/commands/KEYS.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,OAAsB;QACxD,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LASTSAVE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/LASTSAVE.d.ts new file mode 100644 index 0000000..d0b4e3a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LASTSAVE.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the LASTSAVE command + * + * @param parser - The command parser + * @see https://redis.io/commands/lastsave/ + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=LASTSAVE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LASTSAVE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/LASTSAVE.d.ts.map new file mode 100644 index 0000000..8440009 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LASTSAVE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LASTSAVE.d.ts","sourceRoot":"","sources":["../../../lib/commands/LASTSAVE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;;IAKnD;;;;;OAKG;gDACkB,aAAa;mCAGY,WAAW;;AAZ3D,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LASTSAVE.js b/back/node_modules/@redis/client/dist/lib/commands/LASTSAVE.js new file mode 100644 index 0000000..2ecb7b5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LASTSAVE.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the LASTSAVE command + * + * @param parser - The command parser + * @see https://redis.io/commands/lastsave/ + */ + parseCommand(parser) { + parser.push('LASTSAVE'); + }, + transformReply: undefined +}; +//# sourceMappingURL=LASTSAVE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LASTSAVE.js.map b/back/node_modules/@redis/client/dist/lib/commands/LASTSAVE.js.map new file mode 100644 index 0000000..b739f9d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LASTSAVE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LASTSAVE.js","sourceRoot":"","sources":["../../../lib/commands/LASTSAVE.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1B,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LATENCY_DOCTOR.d.ts b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_DOCTOR.d.ts new file mode 100644 index 0000000..7fef56b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_DOCTOR.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the LATENCY DOCTOR command + * + * @param parser - The command parser + * @see https://redis.io/commands/latency-doctor/ + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => BlobStringReply; +}; +export default _default; +//# sourceMappingURL=LATENCY_DOCTOR.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LATENCY_DOCTOR.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_DOCTOR.d.ts.map new file mode 100644 index 0000000..497f72e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_DOCTOR.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LATENCY_DOCTOR.d.ts","sourceRoot":"","sources":["../../../lib/commands/LATENCY_DOCTOR.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;;IAKvD;;;;;OAKG;gDACkB,aAAa;mCAGY,eAAe;;AAZ/D,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LATENCY_DOCTOR.js b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_DOCTOR.js new file mode 100644 index 0000000..47c71c4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_DOCTOR.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the LATENCY DOCTOR command + * + * @param parser - The command parser + * @see https://redis.io/commands/latency-doctor/ + */ + parseCommand(parser) { + parser.push('LATENCY', 'DOCTOR'); + }, + transformReply: undefined +}; +//# sourceMappingURL=LATENCY_DOCTOR.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LATENCY_DOCTOR.js.map b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_DOCTOR.js.map new file mode 100644 index 0000000..0622058 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_DOCTOR.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LATENCY_DOCTOR.js","sourceRoot":"","sources":["../../../lib/commands/LATENCY_DOCTOR.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IACD,cAAc,EAAE,SAA6C;CACnC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LATENCY_GRAPH.d.ts b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_GRAPH.d.ts new file mode 100644 index 0000000..a6586a0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_GRAPH.d.ts @@ -0,0 +1,36 @@ +import { CommandParser } from '../client/parser'; +import { BlobStringReply } from '../RESP/types'; +export declare const LATENCY_EVENTS: { + readonly ACTIVE_DEFRAG_CYCLE: "active-defrag-cycle"; + readonly AOF_FSYNC_ALWAYS: "aof-fsync-always"; + readonly AOF_STAT: "aof-stat"; + readonly AOF_REWRITE_DIFF_WRITE: "aof-rewrite-diff-write"; + readonly AOF_RENAME: "aof-rename"; + readonly AOF_WRITE: "aof-write"; + readonly AOF_WRITE_ACTIVE_CHILD: "aof-write-active-child"; + readonly AOF_WRITE_ALONE: "aof-write-alone"; + readonly AOF_WRITE_PENDING_FSYNC: "aof-write-pending-fsync"; + readonly COMMAND: "command"; + readonly EXPIRE_CYCLE: "expire-cycle"; + readonly EVICTION_CYCLE: "eviction-cycle"; + readonly EVICTION_DEL: "eviction-del"; + readonly FAST_COMMAND: "fast-command"; + readonly FORK: "fork"; + readonly RDB_UNLINK_TEMP_FILE: "rdb-unlink-temp-file"; +}; +export type LatencyEvent = typeof LATENCY_EVENTS[keyof typeof LATENCY_EVENTS]; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the LATENCY GRAPH command + * + * @param parser - The command parser + * @param event - The latency event to get the graph for + * @see https://redis.io/commands/latency-graph/ + */ + readonly parseCommand: (this: void, parser: CommandParser, event: LatencyEvent) => void; + readonly transformReply: () => BlobStringReply; +}; +export default _default; +//# sourceMappingURL=LATENCY_GRAPH.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LATENCY_GRAPH.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_GRAPH.d.ts.map new file mode 100644 index 0000000..ce6b7ae --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_GRAPH.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LATENCY_GRAPH.d.ts","sourceRoot":"","sources":["../../../lib/commands/LATENCY_GRAPH.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AAEzD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;CAiBjB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,OAAO,cAAc,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;;;;IAK5E;;;;;;OAMG;gDACkB,aAAa,SAAS,YAAY;mCAGT,eAAe;;AAb/D,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LATENCY_GRAPH.js b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_GRAPH.js new file mode 100644 index 0000000..fd524c8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_GRAPH.js @@ -0,0 +1,37 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.LATENCY_EVENTS = void 0; +exports.LATENCY_EVENTS = { + ACTIVE_DEFRAG_CYCLE: 'active-defrag-cycle', + AOF_FSYNC_ALWAYS: 'aof-fsync-always', + AOF_STAT: 'aof-stat', + AOF_REWRITE_DIFF_WRITE: 'aof-rewrite-diff-write', + AOF_RENAME: 'aof-rename', + AOF_WRITE: 'aof-write', + AOF_WRITE_ACTIVE_CHILD: 'aof-write-active-child', + AOF_WRITE_ALONE: 'aof-write-alone', + AOF_WRITE_PENDING_FSYNC: 'aof-write-pending-fsync', + COMMAND: 'command', + EXPIRE_CYCLE: 'expire-cycle', + EVICTION_CYCLE: 'eviction-cycle', + EVICTION_DEL: 'eviction-del', + FAST_COMMAND: 'fast-command', + FORK: 'fork', + RDB_UNLINK_TEMP_FILE: 'rdb-unlink-temp-file' +}; +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the LATENCY GRAPH command + * + * @param parser - The command parser + * @param event - The latency event to get the graph for + * @see https://redis.io/commands/latency-graph/ + */ + parseCommand(parser, event) { + parser.push('LATENCY', 'GRAPH', event); + }, + transformReply: undefined +}; +//# sourceMappingURL=LATENCY_GRAPH.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LATENCY_GRAPH.js.map b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_GRAPH.js.map new file mode 100644 index 0000000..a945790 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_GRAPH.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LATENCY_GRAPH.js","sourceRoot":"","sources":["../../../lib/commands/LATENCY_GRAPH.ts"],"names":[],"mappings":";;;AAGa,QAAA,cAAc,GAAG;IAC5B,mBAAmB,EAAE,qBAAqB;IAC1C,gBAAgB,EAAE,kBAAkB;IACpC,QAAQ,EAAE,UAAU;IACpB,sBAAsB,EAAE,wBAAwB;IAChD,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,WAAW;IACtB,sBAAsB,EAAE,wBAAwB;IAChD,eAAe,EAAE,iBAAiB;IAClC,uBAAuB,EAAE,yBAAyB;IAClD,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,gBAAgB;IAChC,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,IAAI,EAAE,MAAM;IACZ,oBAAoB,EAAE,sBAAsB;CACpC,CAAC;AAIX,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,KAAmB;QACrD,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IACD,cAAc,EAAE,SAA6C;CACnC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTOGRAM.d.ts b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTOGRAM.d.ts new file mode 100644 index 0000000..8e0376e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTOGRAM.d.ts @@ -0,0 +1,24 @@ +import { CommandParser } from '../client/parser'; +type RawHistogram = [string, number, string, number[]]; +type Histogram = Record; +}>; +declare const _default: { + readonly CACHEABLE: false; + readonly IS_READ_ONLY: true; + /** + * Constructs the LATENCY HISTOGRAM command + * + * @param parser - The command parser + * @param commands - The list of redis commands to get histogram for + * @see https://redis.io/docs/latest/commands/latency-histogram/ + */ + readonly parseCommand: (this: void, parser: CommandParser, ...commands: string[]) => void; + readonly transformReply: { + readonly 2: (reply: (string | RawHistogram)[]) => Histogram; + readonly 3: () => Histogram; + }; +}; +export default _default; +//# sourceMappingURL=LATENCY_HISTOGRAM.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTOGRAM.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTOGRAM.d.ts.map new file mode 100644 index 0000000..cffe6d5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTOGRAM.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LATENCY_HISTOGRAM.d.ts","sourceRoot":"","sources":["../../../lib/commands/LATENCY_HISTOGRAM.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,KAAK,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AAEvD,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,CAAC,CAAC;;;;IAOD;;;;;;OAMG;gDACkB,aAAa,eAAe,MAAM,EAAE;;4BAQ5C,CAAC,MAAM,GAAG,YAAY,CAAC,EAAE,KAAG,SAAS;0BAYf,SAAS;;;AA9B9C,wBAgC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTOGRAM.js b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTOGRAM.js new file mode 100644 index 0000000..0fae79c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTOGRAM.js @@ -0,0 +1,39 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +const id = (n) => n; +exports.default = { + CACHEABLE: false, + IS_READ_ONLY: true, + /** + * Constructs the LATENCY HISTOGRAM command + * + * @param parser - The command parser + * @param commands - The list of redis commands to get histogram for + * @see https://redis.io/docs/latest/commands/latency-histogram/ + */ + parseCommand(parser, ...commands) { + const args = ['LATENCY', 'HISTOGRAM']; + if (commands.length !== 0) { + args.push(...commands); + } + parser.push(...args); + }, + transformReply: { + 2: (reply) => { + const result = {}; + if (reply.length === 0) + return result; + for (let i = 1; i < reply.length; i += 2) { + const histogram = reply[i]; + result[reply[i - 1]] = { + calls: histogram[1], + histogram_usec: (0, generic_transformers_1.transformTuplesToMap)(histogram[3], id), + }; + } + return result; + }, + 3: undefined, + } +}; +//# sourceMappingURL=LATENCY_HISTOGRAM.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTOGRAM.js.map b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTOGRAM.js.map new file mode 100644 index 0000000..6c3848a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTOGRAM.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LATENCY_HISTOGRAM.js","sourceRoot":"","sources":["../../../lib/commands/LATENCY_HISTOGRAM.ts"],"names":[],"mappings":";;AAEA,iEAA8D;AAS9D,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC;AAE5B,kBAAe;IACb,SAAS,EAAE,KAAK;IAChB,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAG,QAAkB;QACvD,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACtC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QACzB,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACvB,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAAgC,EAAa,EAAE;YACjD,MAAM,MAAM,GAAc,EAAE,CAAC;YAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,MAAM,CAAC;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAiB,CAAC;gBAC3C,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAW,CAAC,GAAG;oBAC/B,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;oBACnB,cAAc,EAAE,IAAA,2CAAoB,EAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;iBACvD,CAAC;YACJ,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,CAAC,EAAE,SAAuC;KAC3C;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTORY.d.ts b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTORY.d.ts new file mode 100644 index 0000000..5d7e1bf --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTORY.d.ts @@ -0,0 +1,21 @@ +import { CommandParser } from '../client/parser'; +import { ArrayReply, TuplesReply, NumberReply } from '../RESP/types'; +export type LatencyEventType = ('active-defrag-cycle' | 'aof-fsync-always' | 'aof-stat' | 'aof-rewrite-diff-write' | 'aof-rename' | 'aof-write' | 'aof-write-active-child' | 'aof-write-alone' | 'aof-write-pending-fsync' | 'command' | 'expire-cycle' | 'eviction-cycle' | 'eviction-del' | 'fast-command' | 'fork' | 'rdb-unlink-temp-file'); +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the LATENCY HISTORY command + * + * @param parser - The command parser + * @param event - The latency event to get the history for + * @see https://redis.io/commands/latency-history/ + */ + readonly parseCommand: (this: void, parser: CommandParser, event: LatencyEventType) => void; + readonly transformReply: () => ArrayReply>; +}; +export default _default; +//# sourceMappingURL=LATENCY_HISTORY.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTORY.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTORY.d.ts.map new file mode 100644 index 0000000..a82d61f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTORY.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LATENCY_HISTORY.d.ts","sourceRoot":"","sources":["../../../lib/commands/LATENCY_HISTORY.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AAE9E,MAAM,MAAM,gBAAgB,GAAG,CAC7B,qBAAqB,GACrB,kBAAkB,GAClB,UAAU,GACV,wBAAwB,GACxB,YAAY,GACZ,WAAW,GACX,wBAAwB,GACxB,iBAAiB,GACjB,yBAAyB,GACzB,SAAS,GACT,cAAc,GACd,gBAAgB,GAChB,cAAc,GACd,cAAc,GACd,MAAM,GACN,sBAAsB,CACvB,CAAC;;;;IAKA;;;;;;OAMG;gDACkB,aAAa,SAAS,gBAAgB;mCAGb,WAAW,YAAY;QACnE,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,WAAW;KACrB,CAAC,CAAC;;AAhBL,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTORY.js b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTORY.js new file mode 100644 index 0000000..644163b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTORY.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the LATENCY HISTORY command + * + * @param parser - The command parser + * @param event - The latency event to get the history for + * @see https://redis.io/commands/latency-history/ + */ + parseCommand(parser, event) { + parser.push('LATENCY', 'HISTORY', event); + }, + transformReply: undefined +}; +//# sourceMappingURL=LATENCY_HISTORY.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTORY.js.map b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTORY.js.map new file mode 100644 index 0000000..152b428 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_HISTORY.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LATENCY_HISTORY.js","sourceRoot":"","sources":["../../../lib/commands/LATENCY_HISTORY.ts"],"names":[],"mappings":";;AAsBA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,KAAuB;QACzD,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IACD,cAAc,EAAE,SAGb;CACuB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LATENCY_LATEST.d.ts b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_LATEST.d.ts new file mode 100644 index 0000000..27f94c0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_LATEST.d.ts @@ -0,0 +1,21 @@ +import { CommandParser } from '../client/parser'; +import { ArrayReply, BlobStringReply, NumberReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the LATENCY LATEST command + * + * @param parser - The command parser + * @see https://redis.io/commands/latency-latest/ + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => ArrayReply<[ + name: BlobStringReply, + timestamp: NumberReply, + latestLatency: NumberReply, + allTimeLatency: NumberReply + ]>; +}; +export default _default; +//# sourceMappingURL=LATENCY_LATEST.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LATENCY_LATEST.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_LATEST.d.ts.map new file mode 100644 index 0000000..80e2eb6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_LATEST.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LATENCY_LATEST.d.ts","sourceRoot":"","sources":["../../../lib/commands/LATENCY_LATEST.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;;IAKhF;;;;;OAKG;gDACkB,aAAa;mCAGY,WAAW;QACvD,IAAI,EAAE,eAAe;QACrB,SAAS,EAAE,WAAW;QACtB,aAAa,EAAE,WAAW;QAC1B,cAAc,EAAE,WAAW;KAC5B,CAAC;;AAjBJ,wBAkB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LATENCY_LATEST.js b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_LATEST.js new file mode 100644 index 0000000..25b2308 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_LATEST.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the LATENCY LATEST command + * + * @param parser - The command parser + * @see https://redis.io/commands/latency-latest/ + */ + parseCommand(parser) { + parser.push('LATENCY', 'LATEST'); + }, + transformReply: undefined +}; +//# sourceMappingURL=LATENCY_LATEST.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LATENCY_LATEST.js.map b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_LATEST.js.map new file mode 100644 index 0000000..7474176 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_LATEST.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LATENCY_LATEST.js","sourceRoot":"","sources":["../../../lib/commands/LATENCY_LATEST.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IACD,cAAc,EAAE,SAKd;CACwB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LATENCY_RESET.d.ts b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_RESET.d.ts new file mode 100644 index 0000000..8c61bc0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_RESET.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { LATENCY_EVENTS, LatencyEvent } from './LATENCY_GRAPH'; +export { LATENCY_EVENTS, LatencyEvent }; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + /** + * Constructs the LATENCY RESET command + * * @param parser - The command parser + * @param events - The latency events to reset. If not specified, all events are reset. + * @see https://redis.io/commands/latency-reset/ + */ + readonly parseCommand: (this: void, parser: CommandParser, ...events: Array) => void; + readonly transformReply: () => number; +}; +export default _default; +//# sourceMappingURL=LATENCY_RESET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LATENCY_RESET.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_RESET.d.ts.map new file mode 100644 index 0000000..d14681f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_RESET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LATENCY_RESET.d.ts","sourceRoot":"","sources":["../../../lib/commands/LATENCY_RESET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC;;;;IAKpC;;;;;OAKG;gDACkB,aAAa,aAAa,MAAM,YAAY,CAAC;mCAOpB,MAAM;;AAhBxD,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LATENCY_RESET.js b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_RESET.js new file mode 100644 index 0000000..cdee4d0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_RESET.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.LATENCY_EVENTS = void 0; +const LATENCY_GRAPH_1 = require("./LATENCY_GRAPH"); +Object.defineProperty(exports, "LATENCY_EVENTS", { enumerable: true, get: function () { return LATENCY_GRAPH_1.LATENCY_EVENTS; } }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: false, + /** + * Constructs the LATENCY RESET command + * * @param parser - The command parser + * @param events - The latency events to reset. If not specified, all events are reset. + * @see https://redis.io/commands/latency-reset/ + */ + parseCommand(parser, ...events) { + const args = ['LATENCY', 'RESET']; + if (events.length > 0) { + args.push(...events); + } + parser.push(...args); + }, + transformReply: undefined +}; +//# sourceMappingURL=LATENCY_RESET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LATENCY_RESET.js.map b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_RESET.js.map new file mode 100644 index 0000000..b55a55e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LATENCY_RESET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LATENCY_RESET.js","sourceRoot":"","sources":["../../../lib/commands/LATENCY_RESET.ts"],"names":[],"mappings":";;;AAEA,mDAA+D;AAEtD,+FAFA,8BAAc,OAEA;AAEvB,kBAAe;IACX,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAG,MAA2B;QAC9D,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAClC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;QACzB,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,cAAc,EAAE,SAAoC;CAC5B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LCS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/LCS.d.ts new file mode 100644 index 0000000..174f56c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LCS.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the LCS command (Longest Common Substring) + * + * @param parser - The command parser + * @param key1 - First key containing the first string + * @param key2 - Second key containing the second string + * @see https://redis.io/commands/lcs/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key1: RedisArgument, key2: RedisArgument) => void; + readonly transformReply: () => BlobStringReply; +}; +export default _default; +//# sourceMappingURL=LCS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LCS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/LCS.d.ts.map new file mode 100644 index 0000000..3bf963d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LCS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LCS.d.ts","sourceRoot":"","sources":["../../../lib/commands/LCS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;IAItE;;;;;;;OAOG;gDAEO,aAAa,QACf,aAAa,QACb,aAAa;mCAKyB,eAAe;;AAlB/D,wBAmB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LCS.js b/back/node_modules/@redis/client/dist/lib/commands/LCS.js new file mode 100644 index 0000000..93ecf5c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LCS.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the LCS command (Longest Common Substring) + * + * @param parser - The command parser + * @param key1 - First key containing the first string + * @param key2 - Second key containing the second string + * @see https://redis.io/commands/lcs/ + */ + parseCommand(parser, key1, key2) { + parser.push('LCS'); + parser.pushKeys([key1, key2]); + }, + transformReply: undefined +}; +//# sourceMappingURL=LCS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LCS.js.map b/back/node_modules/@redis/client/dist/lib/commands/LCS.js.map new file mode 100644 index 0000000..afca691 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LCS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LCS.js","sourceRoot":"","sources":["../../../lib/commands/LCS.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CACV,MAAqB,EACrB,IAAmB,EACnB,IAAmB;QAEnB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAChC,CAAC;IACD,cAAc,EAAE,SAA6C;CACnC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LCS_IDX.d.ts b/back/node_modules/@redis/client/dist/lib/commands/LCS_IDX.d.ts new file mode 100644 index 0000000..e28eb62 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LCS_IDX.d.ts @@ -0,0 +1,45 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, TuplesToMapReply, BlobStringReply, ArrayReply, NumberReply, TuplesReply } from '../RESP/types'; +export interface LcsIdxOptions { + MINMATCHLEN?: number; +} +export type LcsIdxRange = TuplesReply<[ + start: NumberReply, + end: NumberReply +]>; +export type LcsIdxMatches = ArrayReply>; +export type LcsIdxReply = TuplesToMapReply<[ + [ + BlobStringReply<'matches'>, + LcsIdxMatches + ], + [ + BlobStringReply<'len'>, + NumberReply + ] +]>; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the LCS command with IDX option + * + * @param parser - The command parser + * @param key1 - First key containing the first string + * @param key2 - Second key containing the second string + * @param options - Additional options for the LCS IDX command + * @see https://redis.io/commands/lcs/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key1: RedisArgument, key2: RedisArgument, options?: LcsIdxOptions) => void; + readonly transformReply: { + readonly 2: (reply: [BlobStringReply<"matches">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>, import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>], never, [import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>, import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>, import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>], never, [import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>, import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>]>[]>, BlobStringReply<"len">, NumberReply]) => { + matches: import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>, import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>], never, [import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>, import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>, import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>], never, [import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>, import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>]>[]>; + len: NumberReply; + }; + readonly 3: () => LcsIdxReply; + }; +}; +export default _default; +//# sourceMappingURL=LCS_IDX.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LCS_IDX.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/LCS_IDX.d.ts.map new file mode 100644 index 0000000..f8961fa --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LCS_IDX.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LCS_IDX.d.ts","sourceRoot":"","sources":["../../../lib/commands/LCS_IDX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAoC,WAAW,EAAE,MAAM,eAAe,CAAC;AAGzJ,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC;IACpC,KAAK,EAAE,WAAW;IAClB,GAAG,EAAE,WAAW;CACjB,CAAC,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,UAAU,CACpC,WAAW,CAAC;IACV,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,WAAW;CAClB,CAAC,CACH,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,gBAAgB,CAAC;IACzC;QAAC,eAAe,CAAC,SAAS,CAAC;QAAE,aAAa;KAAC;IAC3C;QAAC,eAAe,CAAC,KAAK,CAAC;QAAE,WAAW;KAAC;CACtC,CAAC,CAAC;;;IAID;;;;;;;;OAQG;gDAEO,aAAa,QACf,aAAa,QACb,aAAa,YACT,aAAa;;;;;;;;;AAf3B,wBAgC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LCS_IDX.js b/back/node_modules/@redis/client/dist/lib/commands/LCS_IDX.js new file mode 100644 index 0000000..20e3166 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LCS_IDX.js @@ -0,0 +1,33 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const LCS_1 = __importDefault(require("./LCS")); +exports.default = { + IS_READ_ONLY: LCS_1.default.IS_READ_ONLY, + /** + * Constructs the LCS command with IDX option + * + * @param parser - The command parser + * @param key1 - First key containing the first string + * @param key2 - Second key containing the second string + * @param options - Additional options for the LCS IDX command + * @see https://redis.io/commands/lcs/ + */ + parseCommand(parser, key1, key2, options) { + LCS_1.default.parseCommand(parser, key1, key2); + parser.push('IDX'); + if (options?.MINMATCHLEN) { + parser.push('MINMATCHLEN', options.MINMATCHLEN.toString()); + } + }, + transformReply: { + 2: (reply) => ({ + matches: reply[1], + len: reply[3] + }), + 3: undefined + } +}; +//# sourceMappingURL=LCS_IDX.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LCS_IDX.js.map b/back/node_modules/@redis/client/dist/lib/commands/LCS_IDX.js.map new file mode 100644 index 0000000..135ce0a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LCS_IDX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LCS_IDX.js","sourceRoot":"","sources":["../../../lib/commands/LCS_IDX.ts"],"names":[],"mappings":";;;;;AAEA,gDAAwB;AAuBxB,kBAAe;IACb,YAAY,EAAE,aAAG,CAAC,YAAY;IAC9B;;;;;;;;OAQG;IACH,YAAY,CACV,MAAqB,EACrB,IAAmB,EACnB,IAAmB,EACnB,OAAuB;QAEvB,aAAG,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAErC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEnB,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAA2C,EAAE,EAAE,CAAC,CAAC;YACnD,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YACjB,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;SACd,CAAC;QACF,CAAC,EAAE,SAAyC;KAC7C;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LCS_IDX_WITHMATCHLEN.d.ts b/back/node_modules/@redis/client/dist/lib/commands/LCS_IDX_WITHMATCHLEN.d.ts new file mode 100644 index 0000000..87d4331 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LCS_IDX_WITHMATCHLEN.d.ts @@ -0,0 +1,36 @@ +import { TuplesToMapReply, BlobStringReply, ArrayReply, TuplesReply, NumberReply } from '../RESP/types'; +import { LcsIdxRange } from './LCS_IDX'; +export type LcsIdxWithMatchLenMatches = ArrayReply>; +export type LcsIdxWithMatchLenReply = TuplesToMapReply<[ + [ + BlobStringReply<'matches'>, + LcsIdxWithMatchLenMatches + ], + [ + BlobStringReply<'len'>, + NumberReply + ] +]>; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the LCS command with IDX and WITHMATCHLEN options + * + * @param args - The same parameters as LCS_IDX command + * @see https://redis.io/commands/lcs/ + */ + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key1: import("../RESP/types").RedisArgument, key2: import("../RESP/types").RedisArgument, options?: import("./LCS_IDX").LcsIdxOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [BlobStringReply<"matches">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>, import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>, NumberReply], never, [import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>, import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>, NumberReply]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>, import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>, NumberReply], never, [import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>, import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>, NumberReply]>[]>, BlobStringReply<"len">, NumberReply]) => { + matches: import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>, import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>, NumberReply], never, [import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>, import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>, NumberReply]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>, import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>, NumberReply], never, [import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>, import("../RESP/types").RespType<42, [NumberReply, NumberReply], never, [NumberReply, NumberReply]>, NumberReply]>[]>; + len: NumberReply; + }; + readonly 3: () => LcsIdxWithMatchLenReply; + }; +}; +export default _default; +//# sourceMappingURL=LCS_IDX_WITHMATCHLEN.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LCS_IDX_WITHMATCHLEN.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/LCS_IDX_WITHMATCHLEN.d.ts.map new file mode 100644 index 0000000..878727d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LCS_IDX_WITHMATCHLEN.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LCS_IDX_WITHMATCHLEN.d.ts","sourceRoot":"","sources":["../../../lib/commands/LCS_IDX_WITHMATCHLEN.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAoC,MAAM,eAAe,CAAC;AAC1I,OAAgB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAEjD,MAAM,MAAM,yBAAyB,GAAG,UAAU,CAChD,WAAW,CAAC;IACV,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,WAAW;IACjB,GAAG,EAAE,WAAW;CACjB,CAAC,CACH,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,gBAAgB,CAAC;IACrD;QAAC,eAAe,CAAC,SAAS,CAAC;QAAE,yBAAyB;KAAC;IACvD;QAAC,eAAe,CAAC,KAAK,CAAC;QAAE,WAAW;KAAC;CACtC,CAAC,CAAC;;;IAID;;;;;OAKG;;;;;;;;;;AAPL,wBAoB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LCS_IDX_WITHMATCHLEN.js b/back/node_modules/@redis/client/dist/lib/commands/LCS_IDX_WITHMATCHLEN.js new file mode 100644 index 0000000..54a9c37 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LCS_IDX_WITHMATCHLEN.js @@ -0,0 +1,28 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const LCS_IDX_1 = __importDefault(require("./LCS_IDX")); +exports.default = { + IS_READ_ONLY: LCS_IDX_1.default.IS_READ_ONLY, + /** + * Constructs the LCS command with IDX and WITHMATCHLEN options + * + * @param args - The same parameters as LCS_IDX command + * @see https://redis.io/commands/lcs/ + */ + parseCommand(...args) { + const parser = args[0]; + LCS_IDX_1.default.parseCommand(...args); + parser.push('WITHMATCHLEN'); + }, + transformReply: { + 2: (reply) => ({ + matches: reply[1], + len: reply[3] + }), + 3: undefined + } +}; +//# sourceMappingURL=LCS_IDX_WITHMATCHLEN.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LCS_IDX_WITHMATCHLEN.js.map b/back/node_modules/@redis/client/dist/lib/commands/LCS_IDX_WITHMATCHLEN.js.map new file mode 100644 index 0000000..85ec262 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LCS_IDX_WITHMATCHLEN.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LCS_IDX_WITHMATCHLEN.js","sourceRoot":"","sources":["../../../lib/commands/LCS_IDX_WITHMATCHLEN.ts"],"names":[],"mappings":";;;;;AACA,wDAAiD;AAejD,kBAAe;IACb,YAAY,EAAE,iBAAO,CAAC,YAAY;IAClC;;;;;OAKG;IACH,YAAY,CAAC,GAAG,IAA6C;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,iBAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9B,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAAuD,EAAE,EAAE,CAAC,CAAC;YAC/D,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YACjB,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;SACd,CAAC;QACF,CAAC,EAAE,SAAqD;KACzD;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LCS_LEN.d.ts b/back/node_modules/@redis/client/dist/lib/commands/LCS_LEN.d.ts new file mode 100644 index 0000000..031712e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LCS_LEN.d.ts @@ -0,0 +1,14 @@ +import { NumberReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the LCS command with LEN option + * + * @param args - The same parameters as LCS command + * @see https://redis.io/commands/lcs/ + */ + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key1: import("../RESP/types").RedisArgument, key2: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=LCS_LEN.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LCS_LEN.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/LCS_LEN.d.ts.map new file mode 100644 index 0000000..a0470b2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LCS_LEN.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LCS_LEN.d.ts","sourceRoot":"","sources":["../../../lib/commands/LCS_LEN.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;IAKnD;;;;;OAKG;;mCAO2C,WAAW;;AAd3D,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LCS_LEN.js b/back/node_modules/@redis/client/dist/lib/commands/LCS_LEN.js new file mode 100644 index 0000000..e2800b7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LCS_LEN.js @@ -0,0 +1,22 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const LCS_1 = __importDefault(require("./LCS")); +exports.default = { + IS_READ_ONLY: LCS_1.default.IS_READ_ONLY, + /** + * Constructs the LCS command with LEN option + * + * @param args - The same parameters as LCS command + * @see https://redis.io/commands/lcs/ + */ + parseCommand(...args) { + const parser = args[0]; + LCS_1.default.parseCommand(...args); + parser.push('LEN'); + }, + transformReply: undefined +}; +//# sourceMappingURL=LCS_LEN.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LCS_LEN.js.map b/back/node_modules/@redis/client/dist/lib/commands/LCS_LEN.js.map new file mode 100644 index 0000000..b4bf452 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LCS_LEN.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LCS_LEN.js","sourceRoot":"","sources":["../../../lib/commands/LCS_LEN.ts"],"names":[],"mappings":";;;;;AACA,gDAAwB;AAExB,kBAAe;IACb,YAAY,EAAE,aAAG,CAAC,YAAY;IAC9B;;;;;OAKG;IACH,YAAY,CAAC,GAAG,IAAyC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEvB,aAAG,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LINDEX.d.ts b/back/node_modules/@redis/client/dist/lib/commands/LINDEX.d.ts new file mode 100644 index 0000000..17a7d0a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LINDEX.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply, NullReply } from '../RESP/types'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the LINDEX command + * + * @param parser - The command parser + * @param key - The key of the list + * @param index - The index of the element to retrieve + * @see https://redis.io/commands/lindex/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, index: number) => void; + readonly transformReply: () => BlobStringReply | NullReply; +}; +export default _default; +//# sourceMappingURL=LINDEX.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LINDEX.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/LINDEX.d.ts.map new file mode 100644 index 0000000..52b88b6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LINDEX.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LINDEX.d.ts","sourceRoot":"","sources":["../../../lib/commands/LINDEX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;;;;IAKjF;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,SAAS,MAAM;mCAKvB,eAAe,GAAG,SAAS;;AAhB3E,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LINDEX.js b/back/node_modules/@redis/client/dist/lib/commands/LINDEX.js new file mode 100644 index 0000000..6690eb0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LINDEX.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Constructs the LINDEX command + * + * @param parser - The command parser + * @param key - The key of the list + * @param index - The index of the element to retrieve + * @see https://redis.io/commands/lindex/ + */ + parseCommand(parser, key, index) { + parser.push('LINDEX'); + parser.pushKey(key); + parser.push(index.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=LINDEX.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LINDEX.js.map b/back/node_modules/@redis/client/dist/lib/commands/LINDEX.js.map new file mode 100644 index 0000000..4b9c9ca --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LINDEX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LINDEX.js","sourceRoot":"","sources":["../../../lib/commands/LINDEX.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAa;QACnE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LINSERT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/LINSERT.d.ts new file mode 100644 index 0000000..1928011 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LINSERT.d.ts @@ -0,0 +1,20 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +type LInsertPosition = 'BEFORE' | 'AFTER'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the LINSERT command + * + * @param parser - The command parser + * @param key - The key of the list + * @param position - The position where to insert (BEFORE or AFTER) + * @param pivot - The element to find in the list + * @param element - The element to insert + * @see https://redis.io/commands/linsert/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, position: LInsertPosition, pivot: RedisArgument, element: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=LINSERT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LINSERT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/LINSERT.d.ts.map new file mode 100644 index 0000000..2fad2fb --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LINSERT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LINSERT.d.ts","sourceRoot":"","sources":["../../../lib/commands/LINSERT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AAEpE,KAAK,eAAe,GAAG,QAAQ,GAAG,OAAO,CAAC;;;IAIxC;;;;;;;;;OASG;gDAEO,aAAa,OAChB,aAAa,YACR,eAAe,SAClB,aAAa,WACX,aAAa;mCAMsB,WAAW;;AAvB3D,wBAwB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LINSERT.js b/back/node_modules/@redis/client/dist/lib/commands/LINSERT.js new file mode 100644 index 0000000..4688d75 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LINSERT.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the LINSERT command + * + * @param parser - The command parser + * @param key - The key of the list + * @param position - The position where to insert (BEFORE or AFTER) + * @param pivot - The element to find in the list + * @param element - The element to insert + * @see https://redis.io/commands/linsert/ + */ + parseCommand(parser, key, position, pivot, element) { + parser.push('LINSERT'); + parser.pushKey(key); + parser.push(position, pivot, element); + }, + transformReply: undefined +}; +//# sourceMappingURL=LINSERT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LINSERT.js.map b/back/node_modules/@redis/client/dist/lib/commands/LINSERT.js.map new file mode 100644 index 0000000..538e806 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LINSERT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LINSERT.js","sourceRoot":"","sources":["../../../lib/commands/LINSERT.ts"],"names":[],"mappings":";;AAKA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;;;OASG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,QAAyB,EACzB,KAAoB,EACpB,OAAsB;QAEtB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LLEN.d.ts b/back/node_modules/@redis/client/dist/lib/commands/LLEN.d.ts new file mode 100644 index 0000000..8686cc3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LLEN.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the LLEN command + * + * @param parser - The command parser + * @param key - The key of the list to get the length of + * @see https://redis.io/commands/llen/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=LLEN.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LLEN.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/LLEN.d.ts.map new file mode 100644 index 0000000..92667e6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LLEN.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LLEN.d.ts","sourceRoot":"","sources":["../../../lib/commands/LLEN.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;;IAKlE;;;;;;OAMG;gDACkB,aAAa,OAAO,aAAa;mCAIR,WAAW;;AAd3D,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LLEN.js b/back/node_modules/@redis/client/dist/lib/commands/LLEN.js new file mode 100644 index 0000000..b07c19d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LLEN.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Constructs the LLEN command + * + * @param parser - The command parser + * @param key - The key of the list to get the length of + * @see https://redis.io/commands/llen/ + */ + parseCommand(parser, key) { + parser.push('LLEN'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=LLEN.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LLEN.js.map b/back/node_modules/@redis/client/dist/lib/commands/LLEN.js.map new file mode 100644 index 0000000..764209e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LLEN.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LLEN.js","sourceRoot":"","sources":["../../../lib/commands/LLEN.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LMOVE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/LMOVE.d.ts new file mode 100644 index 0000000..be0cd4e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LMOVE.d.ts @@ -0,0 +1,20 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply, NullReply } from '../RESP/types'; +import { ListSide } from './generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the LMOVE command + * + * @param parser - The command parser + * @param source - The source list key + * @param destination - The destination list key + * @param sourceSide - The side to pop from (LEFT or RIGHT) + * @param destinationSide - The side to push to (LEFT or RIGHT) + * @see https://redis.io/commands/lmove/ + */ + readonly parseCommand: (this: void, parser: CommandParser, source: RedisArgument, destination: RedisArgument, sourceSide: ListSide, destinationSide: ListSide) => void; + readonly transformReply: () => BlobStringReply | NullReply; +}; +export default _default; +//# sourceMappingURL=LMOVE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LMOVE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/LMOVE.d.ts.map new file mode 100644 index 0000000..6597977 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LMOVE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LMOVE.d.ts","sourceRoot":"","sources":["../../../lib/commands/LMOVE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;;;IAIhD;;;;;;;;;OASG;gDAEO,aAAa,UACb,aAAa,eACR,aAAa,cACd,QAAQ,mBACH,QAAQ;mCAMmB,eAAe,GAAG,SAAS;;AAvB3E,wBAwB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LMOVE.js b/back/node_modules/@redis/client/dist/lib/commands/LMOVE.js new file mode 100644 index 0000000..9536a52 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LMOVE.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Constructs the LMOVE command + * + * @param parser - The command parser + * @param source - The source list key + * @param destination - The destination list key + * @param sourceSide - The side to pop from (LEFT or RIGHT) + * @param destinationSide - The side to push to (LEFT or RIGHT) + * @see https://redis.io/commands/lmove/ + */ + parseCommand(parser, source, destination, sourceSide, destinationSide) { + parser.push('LMOVE'); + parser.pushKeys([source, destination]); + parser.push(sourceSide, destinationSide); + }, + transformReply: undefined +}; +//# sourceMappingURL=LMOVE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LMOVE.js.map b/back/node_modules/@redis/client/dist/lib/commands/LMOVE.js.map new file mode 100644 index 0000000..9e3ed03 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LMOVE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LMOVE.js","sourceRoot":"","sources":["../../../lib/commands/LMOVE.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;;OASG;IACH,YAAY,CACV,MAAqB,EACrB,MAAqB,EACrB,WAA0B,EAC1B,UAAoB,EACpB,eAAyB;QAEzB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAC3C,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LMPOP.d.ts b/back/node_modules/@redis/client/dist/lib/commands/LMPOP.d.ts new file mode 100644 index 0000000..5563c88 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LMPOP.d.ts @@ -0,0 +1,25 @@ +import { CommandParser } from '../client/parser'; +import { NullReply, TuplesReply, BlobStringReply } from '../RESP/types'; +import { ListSide, RedisVariadicArgument, Tail } from './generic-transformers'; +export interface LMPopOptions { + COUNT?: number; +} +export declare function parseLMPopArguments(parser: CommandParser, keys: RedisVariadicArgument, side: ListSide, options?: LMPopOptions): void; +export type LMPopArguments = Tail>; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the LMPOP command + * + * @param parser - The command parser + * @param args - Arguments including keys, side (LEFT or RIGHT), and options + * @see https://redis.io/commands/lmpop/ + */ + readonly parseCommand: (this: void, parser: CommandParser, keys: RedisVariadicArgument, side: ListSide, options?: LMPopOptions | undefined) => void; + readonly transformReply: () => NullReply | TuplesReply<[ + key: BlobStringReply, + elements: Array + ]>; +}; +export default _default; +//# sourceMappingURL=LMPOP.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LMPOP.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/LMPOP.d.ts.map new file mode 100644 index 0000000..95b2d10 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LMPOP.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LMPOP.d.ts","sourceRoot":"","sources":["../../../lib/commands/LMPOP.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE/E,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,qBAAqB,EAC3B,IAAI,EAAE,QAAQ,EACd,OAAO,CAAC,EAAE,YAAY,QAQvB;AAED,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC;;;IAIxE;;;;;;OAMG;gDACkB,aAAa;mCAIY,SAAS,GAAG,YAAY;QACpE,GAAG,EAAE,eAAe;QACpB,QAAQ,EAAE,MAAM,eAAe,CAAC;KACjC,CAAC;;AAhBJ,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LMPOP.js b/back/node_modules/@redis/client/dist/lib/commands/LMPOP.js new file mode 100644 index 0000000..2bcd3fe --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LMPOP.js @@ -0,0 +1,27 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseLMPopArguments = void 0; +function parseLMPopArguments(parser, keys, side, options) { + parser.pushKeysLength(keys); + parser.push(side); + if (options?.COUNT !== undefined) { + parser.push('COUNT', options.COUNT.toString()); + } +} +exports.parseLMPopArguments = parseLMPopArguments; +exports.default = { + IS_READ_ONLY: false, + /** + * Constructs the LMPOP command + * + * @param parser - The command parser + * @param args - Arguments including keys, side (LEFT or RIGHT), and options + * @see https://redis.io/commands/lmpop/ + */ + parseCommand(parser, ...args) { + parser.push('LMPOP'); + parseLMPopArguments(parser, ...args); + }, + transformReply: undefined +}; +//# sourceMappingURL=LMPOP.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LMPOP.js.map b/back/node_modules/@redis/client/dist/lib/commands/LMPOP.js.map new file mode 100644 index 0000000..0e05f2a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LMPOP.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LMPOP.js","sourceRoot":"","sources":["../../../lib/commands/LMPOP.ts"],"names":[],"mappings":";;;AAQA,SAAgB,mBAAmB,CACjC,MAAqB,EACrB,IAA2B,EAC3B,IAAc,EACd,OAAsB;IAEtB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAElB,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAZD,kDAYC;AAID,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAG,IAAoB;QACzD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,mBAAmB,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,cAAc,EAAE,SAGd;CACwB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LOLWUT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/LOLWUT.d.ts new file mode 100644 index 0000000..da837c3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LOLWUT.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the LOLWUT command + * + * @param parser - The command parser + * @param version - Optional version parameter + * @param optionalArguments - Additional optional numeric arguments + * @see https://redis.io/commands/lolwut/ + */ + readonly parseCommand: (this: void, parser: CommandParser, version?: number, ...optionalArguments: Array) => void; + readonly transformReply: () => BlobStringReply; +}; +export default _default; +//# sourceMappingURL=LOLWUT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LOLWUT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/LOLWUT.d.ts.map new file mode 100644 index 0000000..8a3d0e4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LOLWUT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LOLWUT.d.ts","sourceRoot":"","sources":["../../../lib/commands/LOLWUT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;;IAKvD;;;;;;;OAOG;gDACkB,aAAa,YAAY,MAAM,wBAAwB,MAAM,MAAM,CAAC;mCAU3C,eAAe;;AArB/D,wBAsB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LOLWUT.js b/back/node_modules/@redis/client/dist/lib/commands/LOLWUT.js new file mode 100644 index 0000000..ba627c1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LOLWUT.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the LOLWUT command + * + * @param parser - The command parser + * @param version - Optional version parameter + * @param optionalArguments - Additional optional numeric arguments + * @see https://redis.io/commands/lolwut/ + */ + parseCommand(parser, version, ...optionalArguments) { + parser.push('LOLWUT'); + if (version) { + parser.push('VERSION', version.toString()); + parser.pushVariadic(optionalArguments.map(String)); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=LOLWUT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LOLWUT.js.map b/back/node_modules/@redis/client/dist/lib/commands/LOLWUT.js.map new file mode 100644 index 0000000..1c14054 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LOLWUT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LOLWUT.js","sourceRoot":"","sources":["../../../lib/commands/LOLWUT.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,OAAgB,EAAE,GAAG,iBAAgC;QACvF,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CACT,SAAS,EACT,OAAO,CAAC,QAAQ,EAAE,CACnB,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAA6C;CACnC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LPOP.d.ts b/back/node_modules/@redis/client/dist/lib/commands/LPOP.d.ts new file mode 100644 index 0000000..d986372 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LPOP.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply, NullReply } from '../RESP/types'; +declare const _default: { + /** + * Constructs the LPOP command + * + * @param parser - The command parser + * @param key - The key of the list to pop from + * @see https://redis.io/commands/lpop/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => BlobStringReply | NullReply; +}; +export default _default; +//# sourceMappingURL=LPOP.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LPOP.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/LPOP.d.ts.map new file mode 100644 index 0000000..c81d26f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LPOP.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LPOP.d.ts","sourceRoot":"","sources":["../../../lib/commands/LPOP.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;;IAGjF;;;;;;OAMG;gDACkB,aAAa,OAAO,aAAa;mCAIR,eAAe,GAAG,SAAS;;AAZ3E,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LPOP.js b/back/node_modules/@redis/client/dist/lib/commands/LPOP.js new file mode 100644 index 0000000..72726bc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LPOP.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Constructs the LPOP command + * + * @param parser - The command parser + * @param key - The key of the list to pop from + * @see https://redis.io/commands/lpop/ + */ + parseCommand(parser, key) { + parser.push('LPOP'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=LPOP.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LPOP.js.map b/back/node_modules/@redis/client/dist/lib/commands/LPOP.js.map new file mode 100644 index 0000000..b56c636 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LPOP.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LPOP.js","sourceRoot":"","sources":["../../../lib/commands/LPOP.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LPOP_COUNT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/LPOP_COUNT.d.ts new file mode 100644 index 0000000..66288ea --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LPOP_COUNT.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NullReply, ArrayReply, BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the LPOP command with count parameter + * + * @param parser - The command parser + * @param key - The key of the list to pop from + * @param count - The number of elements to pop + * @see https://redis.io/commands/lpop/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, count: number) => void; + readonly transformReply: () => NullReply | ArrayReply; +}; +export default _default; +//# sourceMappingURL=LPOP_COUNT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LPOP_COUNT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/LPOP_COUNT.d.ts.map new file mode 100644 index 0000000..a04d175 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LPOP_COUNT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LPOP_COUNT.d.ts","sourceRoot":"","sources":["../../../lib/commands/LPOP_COUNT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;IAK7F;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,SAAS,MAAM;mCAIvB,SAAS,GAAG,WAAW,eAAe,CAAC;;AAdvF,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LPOP_COUNT.js b/back/node_modules/@redis/client/dist/lib/commands/LPOP_COUNT.js new file mode 100644 index 0000000..a889b48 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LPOP_COUNT.js @@ -0,0 +1,23 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const LPOP_1 = __importDefault(require("./LPOP")); +exports.default = { + IS_READ_ONLY: false, + /** + * Constructs the LPOP command with count parameter + * + * @param parser - The command parser + * @param key - The key of the list to pop from + * @param count - The number of elements to pop + * @see https://redis.io/commands/lpop/ + */ + parseCommand(parser, key, count) { + LPOP_1.default.parseCommand(parser, key); + parser.push(count.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=LPOP_COUNT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LPOP_COUNT.js.map b/back/node_modules/@redis/client/dist/lib/commands/LPOP_COUNT.js.map new file mode 100644 index 0000000..f952ff4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LPOP_COUNT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LPOP_COUNT.js","sourceRoot":"","sources":["../../../lib/commands/LPOP_COUNT.ts"],"names":[],"mappings":";;;;;AAEA,kDAA0B;AAE1B,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAa;QACnE,cAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC/B,CAAC;IACD,cAAc,EAAE,SAAqE;CAC3D,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LPOS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/LPOS.d.ts new file mode 100644 index 0000000..45ecf22 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LPOS.d.ts @@ -0,0 +1,23 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply, NullReply } from '../RESP/types'; +export interface LPosOptions { + RANK?: number; + MAXLEN?: number; +} +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the LPOS command + * + * @param parser - The command parser + * @param key - The key of the list + * @param element - The element to search for + * @param options - Optional parameters for RANK and MAXLEN + * @see https://redis.io/commands/lpos/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, element: RedisArgument, options?: LPosOptions) => void; + readonly transformReply: () => NumberReply | NullReply; +}; +export default _default; +//# sourceMappingURL=LPOS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LPOS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/LPOS.d.ts.map new file mode 100644 index 0000000..8b04864 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LPOS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LPOS.d.ts","sourceRoot":"","sources":["../../../lib/commands/LPOS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;AAE/E,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;;;;IAKC;;;;;;;;OAQG;gDAEO,aAAa,OAChB,aAAa,WACT,aAAa,YACZ,WAAW;mCAcuB,WAAW,GAAG,SAAS;;AA9BvE,wBA+B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LPOS.js b/back/node_modules/@redis/client/dist/lib/commands/LPOS.js new file mode 100644 index 0000000..5c39040 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LPOS.js @@ -0,0 +1,28 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Constructs the LPOS command + * + * @param parser - The command parser + * @param key - The key of the list + * @param element - The element to search for + * @param options - Optional parameters for RANK and MAXLEN + * @see https://redis.io/commands/lpos/ + */ + parseCommand(parser, key, element, options) { + parser.push('LPOS'); + parser.pushKey(key); + parser.push(element); + if (options?.RANK !== undefined) { + parser.push('RANK', options.RANK.toString()); + } + if (options?.MAXLEN !== undefined) { + parser.push('MAXLEN', options.MAXLEN.toString()); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=LPOS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LPOS.js.map b/back/node_modules/@redis/client/dist/lib/commands/LPOS.js.map new file mode 100644 index 0000000..e95fca3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LPOS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LPOS.js","sourceRoot":"","sources":["../../../lib/commands/LPOS.ts"],"names":[],"mappings":";;AAQA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,OAAsB,EACtB,OAAqB;QAErB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAErB,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LPOS_COUNT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/LPOS_COUNT.d.ts new file mode 100644 index 0000000..9d7b892 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LPOS_COUNT.d.ts @@ -0,0 +1,21 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, NumberReply } from '../RESP/types'; +import { LPosOptions } from './LPOS'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the LPOS command with COUNT option + * + * @param parser - The command parser + * @param key - The key of the list + * @param element - The element to search for + * @param count - The number of positions to return + * @param options - Optional parameters for RANK and MAXLEN + * @see https://redis.io/commands/lpos/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, element: RedisArgument, count: number, options?: LPosOptions) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=LPOS_COUNT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LPOS_COUNT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/LPOS_COUNT.d.ts.map new file mode 100644 index 0000000..e45bd60 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LPOS_COUNT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LPOS_COUNT.d.ts","sourceRoot":"","sources":["../../../lib/commands/LPOS_COUNT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AAChF,OAAa,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;;;;IAKzC;;;;;;;;;OASG;gDAEO,aAAa,OAChB,aAAa,WACT,aAAa,SACf,MAAM,YACH,WAAW;mCAMuB,WAAW,WAAW,CAAC;;AAxBvE,wBAyB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LPOS_COUNT.js b/back/node_modules/@redis/client/dist/lib/commands/LPOS_COUNT.js new file mode 100644 index 0000000..a79d901 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LPOS_COUNT.js @@ -0,0 +1,26 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const LPOS_1 = __importDefault(require("./LPOS")); +exports.default = { + CACHEABLE: LPOS_1.default.CACHEABLE, + IS_READ_ONLY: LPOS_1.default.IS_READ_ONLY, + /** + * Constructs the LPOS command with COUNT option + * + * @param parser - The command parser + * @param key - The key of the list + * @param element - The element to search for + * @param count - The number of positions to return + * @param options - Optional parameters for RANK and MAXLEN + * @see https://redis.io/commands/lpos/ + */ + parseCommand(parser, key, element, count, options) { + LPOS_1.default.parseCommand(parser, key, element, options); + parser.push('COUNT', count.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=LPOS_COUNT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LPOS_COUNT.js.map b/back/node_modules/@redis/client/dist/lib/commands/LPOS_COUNT.js.map new file mode 100644 index 0000000..eaa8477 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LPOS_COUNT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LPOS_COUNT.js","sourceRoot":"","sources":["../../../lib/commands/LPOS_COUNT.ts"],"names":[],"mappings":";;;;;AAEA,kDAA2C;AAE3C,kBAAe;IACb,SAAS,EAAE,cAAI,CAAC,SAAS;IACzB,YAAY,EAAE,cAAI,CAAC,YAAY;IAC/B;;;;;;;;;OASG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,OAAsB,EACtB,KAAa,EACb,OAAqB;QAErB,cAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAEjD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LPUSH.d.ts b/back/node_modules/@redis/client/dist/lib/commands/LPUSH.d.ts new file mode 100644 index 0000000..2c7fc21 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LPUSH.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + /** + * Constructs the LPUSH command + * + * @param parser - The command parser + * @param key - The key of the list + * @param elements - One or more elements to push to the list + * @see https://redis.io/commands/lpush/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, elements: RedisVariadicArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=LPUSH.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LPUSH.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/LPUSH.d.ts.map new file mode 100644 index 0000000..d9e9d88 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LPUSH.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LPUSH.d.ts","sourceRoot":"","sources":["../../../lib/commands/LPUSH.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;IAG7D;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,YAAY,qBAAqB;mCAKzC,WAAW;;AAd3D,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LPUSH.js b/back/node_modules/@redis/client/dist/lib/commands/LPUSH.js new file mode 100644 index 0000000..9acd6e2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LPUSH.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Constructs the LPUSH command + * + * @param parser - The command parser + * @param key - The key of the list + * @param elements - One or more elements to push to the list + * @see https://redis.io/commands/lpush/ + */ + parseCommand(parser, key, elements) { + parser.push('LPUSH'); + parser.pushKey(key); + parser.pushVariadic(elements); + }, + transformReply: undefined +}; +//# sourceMappingURL=LPUSH.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LPUSH.js.map b/back/node_modules/@redis/client/dist/lib/commands/LPUSH.js.map new file mode 100644 index 0000000..1620732 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LPUSH.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LPUSH.js","sourceRoot":"","sources":["../../../lib/commands/LPUSH.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,QAA+B;QACrF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LPUSHX.d.ts b/back/node_modules/@redis/client/dist/lib/commands/LPUSHX.d.ts new file mode 100644 index 0000000..7ab87de --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LPUSHX.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + /** + * Constructs the LPUSHX command + * + * @param parser - The command parser + * @param key - The key of the list + * @param elements - One or more elements to push to the list if it exists + * @see https://redis.io/commands/lpushx/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, elements: RedisVariadicArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=LPUSHX.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LPUSHX.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/LPUSHX.d.ts.map new file mode 100644 index 0000000..804e0e1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LPUSHX.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LPUSHX.d.ts","sourceRoot":"","sources":["../../../lib/commands/LPUSHX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;IAG7D;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,YAAY,qBAAqB;mCAKzC,WAAW;;AAd3D,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LPUSHX.js b/back/node_modules/@redis/client/dist/lib/commands/LPUSHX.js new file mode 100644 index 0000000..8993200 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LPUSHX.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Constructs the LPUSHX command + * + * @param parser - The command parser + * @param key - The key of the list + * @param elements - One or more elements to push to the list if it exists + * @see https://redis.io/commands/lpushx/ + */ + parseCommand(parser, key, elements) { + parser.push('LPUSHX'); + parser.pushKey(key); + parser.pushVariadic(elements); + }, + transformReply: undefined +}; +//# sourceMappingURL=LPUSHX.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LPUSHX.js.map b/back/node_modules/@redis/client/dist/lib/commands/LPUSHX.js.map new file mode 100644 index 0000000..03d0123 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LPUSHX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LPUSHX.js","sourceRoot":"","sources":["../../../lib/commands/LPUSHX.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,QAA+B;QACrF,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LRANGE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/LRANGE.d.ts new file mode 100644 index 0000000..8f4e3a6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LRANGE.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the LRANGE command + * + * @param parser - The command parser + * @param key - The key of the list + * @param start - The starting index + * @param stop - The ending index + * @see https://redis.io/commands/lrange/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, start: number, stop: number) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=LRANGE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LRANGE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/LRANGE.d.ts.map new file mode 100644 index 0000000..7633683 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LRANGE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LRANGE.d.ts","sourceRoot":"","sources":["../../../lib/commands/LRANGE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;;IAKlF;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa,SAAS,MAAM,QAAQ,MAAM;mCAKrC,WAAW,eAAe,CAAC;;AAjB3E,wBAkB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LRANGE.js b/back/node_modules/@redis/client/dist/lib/commands/LRANGE.js new file mode 100644 index 0000000..0eb76db --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LRANGE.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Constructs the LRANGE command + * + * @param parser - The command parser + * @param key - The key of the list + * @param start - The starting index + * @param stop - The ending index + * @see https://redis.io/commands/lrange/ + */ + parseCommand(parser, key, start, stop) { + parser.push('LRANGE'); + parser.pushKey(key); + parser.push(start.toString(), stop.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=LRANGE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LRANGE.js.map b/back/node_modules/@redis/client/dist/lib/commands/LRANGE.js.map new file mode 100644 index 0000000..45e7423 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LRANGE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LRANGE.js","sourceRoot":"","sources":["../../../lib/commands/LRANGE.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAa,EAAE,IAAY;QACjF,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;IAChD,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LREM.d.ts b/back/node_modules/@redis/client/dist/lib/commands/LREM.d.ts new file mode 100644 index 0000000..f63d8d2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LREM.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the LREM command + * + * @param parser - The command parser + * @param key - The key of the list + * @param count - The count of elements to remove (negative: from tail to head, 0: all occurrences, positive: from head to tail) + * @param element - The element to remove + * @see https://redis.io/commands/lrem/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, count: number, element: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=LREM.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LREM.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/LREM.d.ts.map new file mode 100644 index 0000000..aadd9b2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LREM.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LREM.d.ts","sourceRoot":"","sources":["../../../lib/commands/LREM.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;IAIlE;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa,SAAS,MAAM,WAAW,aAAa;mCAM/C,WAAW;;AAjB3D,wBAkB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LREM.js b/back/node_modules/@redis/client/dist/lib/commands/LREM.js new file mode 100644 index 0000000..31cdf1d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LREM.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the LREM command + * + * @param parser - The command parser + * @param key - The key of the list + * @param count - The count of elements to remove (negative: from tail to head, 0: all occurrences, positive: from head to tail) + * @param element - The element to remove + * @see https://redis.io/commands/lrem/ + */ + parseCommand(parser, key, count, element) { + parser.push('LREM'); + parser.pushKey(key); + parser.push(count.toString()); + parser.push(element); + }, + transformReply: undefined +}; +//# sourceMappingURL=LREM.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LREM.js.map b/back/node_modules/@redis/client/dist/lib/commands/LREM.js.map new file mode 100644 index 0000000..916edb9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LREM.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LREM.js","sourceRoot":"","sources":["../../../lib/commands/LREM.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAa,EAAE,OAAsB;QAC3F,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LSET.d.ts b/back/node_modules/@redis/client/dist/lib/commands/LSET.d.ts new file mode 100644 index 0000000..18af2a6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LSET.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the LSET command + * + * @param parser - The command parser + * @param key - The key of the list + * @param index - The index of the element to replace + * @param element - The new value to set + * @see https://redis.io/commands/lset/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, index: number, element: RedisArgument) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=LSET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LSET.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/LSET.d.ts.map new file mode 100644 index 0000000..7396b96 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LSET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LSET.d.ts","sourceRoot":"","sources":["../../../lib/commands/LSET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;IAIxE;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa,SAAS,MAAM,WAAW,aAAa;mCAK/C,kBAAkB,IAAI,CAAC;;AAhBvE,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LSET.js b/back/node_modules/@redis/client/dist/lib/commands/LSET.js new file mode 100644 index 0000000..7de8c7c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LSET.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the LSET command + * + * @param parser - The command parser + * @param key - The key of the list + * @param index - The index of the element to replace + * @param element - The new value to set + * @see https://redis.io/commands/lset/ + */ + parseCommand(parser, key, index, element) { + parser.push('LSET'); + parser.pushKey(key); + parser.push(index.toString(), element); + }, + transformReply: undefined +}; +//# sourceMappingURL=LSET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LSET.js.map b/back/node_modules/@redis/client/dist/lib/commands/LSET.js.map new file mode 100644 index 0000000..8c3015c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LSET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LSET.js","sourceRoot":"","sources":["../../../lib/commands/LSET.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAa,EAAE,OAAsB;QAC3F,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LTRIM.d.ts b/back/node_modules/@redis/client/dist/lib/commands/LTRIM.d.ts new file mode 100644 index 0000000..305cab9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LTRIM.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, SimpleStringReply } from '../RESP/types'; +declare const _default: { + /** + * Constructs the LTRIM command + * + * @param parser - The command parser + * @param key - The key of the list + * @param start - The starting index + * @param stop - The ending index + * @see https://redis.io/commands/ltrim/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, start: number, stop: number) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=LTRIM.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LTRIM.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/LTRIM.d.ts.map new file mode 100644 index 0000000..1747810 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LTRIM.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LTRIM.d.ts","sourceRoot":"","sources":["../../../lib/commands/LTRIM.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;IAGxE;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa,SAAS,MAAM,QAAQ,MAAM;mCAKrC,kBAAkB,IAAI,CAAC;;AAfvE,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LTRIM.js b/back/node_modules/@redis/client/dist/lib/commands/LTRIM.js new file mode 100644 index 0000000..9501c43 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LTRIM.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Constructs the LTRIM command + * + * @param parser - The command parser + * @param key - The key of the list + * @param start - The starting index + * @param stop - The ending index + * @see https://redis.io/commands/ltrim/ + */ + parseCommand(parser, key, start, stop) { + parser.push('LTRIM'); + parser.pushKey(key); + parser.push(start.toString(), stop.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=LTRIM.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/LTRIM.js.map b/back/node_modules/@redis/client/dist/lib/commands/LTRIM.js.map new file mode 100644 index 0000000..b0308d8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/LTRIM.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LTRIM.js","sourceRoot":"","sources":["../../../lib/commands/LTRIM.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAa,EAAE,IAAY;QACjF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MEMORY_DOCTOR.d.ts b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_DOCTOR.d.ts new file mode 100644 index 0000000..3f3b2ed --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_DOCTOR.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the MEMORY DOCTOR command + * + * @param parser - The command parser + * @see https://redis.io/commands/memory-doctor/ + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => BlobStringReply; +}; +export default _default; +//# sourceMappingURL=MEMORY_DOCTOR.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MEMORY_DOCTOR.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_DOCTOR.d.ts.map new file mode 100644 index 0000000..187c788 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_DOCTOR.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MEMORY_DOCTOR.d.ts","sourceRoot":"","sources":["../../../lib/commands/MEMORY_DOCTOR.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;;IAKvD;;;;;OAKG;gDACkB,aAAa;mCAGY,eAAe;;AAZ/D,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MEMORY_DOCTOR.js b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_DOCTOR.js new file mode 100644 index 0000000..17657ef --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_DOCTOR.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the MEMORY DOCTOR command + * + * @param parser - The command parser + * @see https://redis.io/commands/memory-doctor/ + */ + parseCommand(parser) { + parser.push('MEMORY', 'DOCTOR'); + }, + transformReply: undefined +}; +//# sourceMappingURL=MEMORY_DOCTOR.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MEMORY_DOCTOR.js.map b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_DOCTOR.js.map new file mode 100644 index 0000000..6c558f0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_DOCTOR.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MEMORY_DOCTOR.js","sourceRoot":"","sources":["../../../lib/commands/MEMORY_DOCTOR.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAClC,CAAC;IACD,cAAc,EAAE,SAA6C;CACnC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MEMORY_MALLOC-STATS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_MALLOC-STATS.d.ts new file mode 100644 index 0000000..763d246 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_MALLOC-STATS.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the MEMORY MALLOC-STATS command + * + * @param parser - The command parser + * @see https://redis.io/commands/memory-malloc-stats/ + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => BlobStringReply; +}; +export default _default; +//# sourceMappingURL=MEMORY_MALLOC-STATS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MEMORY_MALLOC-STATS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_MALLOC-STATS.d.ts.map new file mode 100644 index 0000000..43562a0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_MALLOC-STATS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MEMORY_MALLOC-STATS.d.ts","sourceRoot":"","sources":["../../../lib/commands/MEMORY_MALLOC-STATS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;;IAKvD;;;;;OAKG;gDACkB,aAAa;mCAGY,eAAe;;AAZ/D,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MEMORY_MALLOC-STATS.js b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_MALLOC-STATS.js new file mode 100644 index 0000000..0726371 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_MALLOC-STATS.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the MEMORY MALLOC-STATS command + * + * @param parser - The command parser + * @see https://redis.io/commands/memory-malloc-stats/ + */ + parseCommand(parser) { + parser.push('MEMORY', 'MALLOC-STATS'); + }, + transformReply: undefined +}; +//# sourceMappingURL=MEMORY_MALLOC-STATS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MEMORY_MALLOC-STATS.js.map b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_MALLOC-STATS.js.map new file mode 100644 index 0000000..55a69b1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_MALLOC-STATS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MEMORY_MALLOC-STATS.js","sourceRoot":"","sources":["../../../lib/commands/MEMORY_MALLOC-STATS.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACxC,CAAC;IACD,cAAc,EAAE,SAA6C;CACnC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MEMORY_PURGE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_PURGE.d.ts new file mode 100644 index 0000000..125c579 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_PURGE.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + /** + * Constructs the MEMORY PURGE command + * + * @param parser - The command parser + * @see https://redis.io/commands/memory-purge/ + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=MEMORY_PURGE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MEMORY_PURGE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_PURGE.d.ts.map new file mode 100644 index 0000000..f48b6bc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_PURGE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MEMORY_PURGE.d.ts","sourceRoot":"","sources":["../../../lib/commands/MEMORY_PURGE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKzD;;;;;OAKG;gDACkB,aAAa;mCAGY,kBAAkB,IAAI,CAAC;;AAZvE,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MEMORY_PURGE.js b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_PURGE.js new file mode 100644 index 0000000..c500627 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_PURGE.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: false, + /** + * Constructs the MEMORY PURGE command + * + * @param parser - The command parser + * @see https://redis.io/commands/memory-purge/ + */ + parseCommand(parser) { + parser.push('MEMORY', 'PURGE'); + }, + transformReply: undefined +}; +//# sourceMappingURL=MEMORY_PURGE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MEMORY_PURGE.js.map b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_PURGE.js.map new file mode 100644 index 0000000..311feb6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_PURGE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MEMORY_PURGE.js","sourceRoot":"","sources":["../../../lib/commands/MEMORY_PURGE.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MEMORY_STATS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_STATS.d.ts new file mode 100644 index 0000000..e27444b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_STATS.d.ts @@ -0,0 +1,131 @@ +import { CommandParser } from '../client/parser'; +import { TuplesToMapReply, BlobStringReply, NumberReply, DoubleReply, ArrayReply, UnwrapReply, TypeMapping } from '../RESP/types'; +export type MemoryStatsReply = TuplesToMapReply<[ + [ + BlobStringReply<'peak.allocated'>, + NumberReply + ], + [ + BlobStringReply<'total.allocated'>, + NumberReply + ], + [ + BlobStringReply<'startup.allocated'>, + NumberReply + ], + [ + BlobStringReply<'replication.backlog'>, + NumberReply + ], + [ + BlobStringReply<'clients.slaves'>, + NumberReply + ], + [ + BlobStringReply<'clients.normal'>, + NumberReply + ], + /** added in 7.0 */ + [ + BlobStringReply<'cluster.links'>, + NumberReply + ], + [ + BlobStringReply<'aof.buffer'>, + NumberReply + ], + [ + BlobStringReply<'lua.caches'>, + NumberReply + ], + /** added in 7.0 */ + [ + BlobStringReply<'functions.caches'>, + NumberReply + ], + [ + BlobStringReply<'overhead.total'>, + NumberReply + ], + [ + BlobStringReply<'keys.count'>, + NumberReply + ], + [ + BlobStringReply<'keys.bytes-per-key'>, + NumberReply + ], + [ + BlobStringReply<'dataset.bytes'>, + NumberReply + ], + [ + BlobStringReply<'dataset.percentage'>, + DoubleReply + ], + [ + BlobStringReply<'peak.percentage'>, + DoubleReply + ], + [ + BlobStringReply<'allocator.allocated'>, + NumberReply + ], + [ + BlobStringReply<'allocator.active'>, + NumberReply + ], + [ + BlobStringReply<'allocator.resident'>, + NumberReply + ], + [ + BlobStringReply<'allocator-fragmentation.ratio'>, + DoubleReply + ], + [ + BlobStringReply<'allocator-fragmentation.bytes'>, + NumberReply + ], + [ + BlobStringReply<'allocator-rss.ratio'>, + DoubleReply + ], + [ + BlobStringReply<'allocator-rss.bytes'>, + NumberReply + ], + [ + BlobStringReply<'rss-overhead.ratio'>, + DoubleReply + ], + [ + BlobStringReply<'rss-overhead.bytes'>, + NumberReply + ], + [ + BlobStringReply<'fragmentation'>, + DoubleReply + ], + [ + BlobStringReply<'fragmentation.bytes'>, + NumberReply + ] +]>; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the MEMORY STATS command + * + * @param parser - The command parser + * @see https://redis.io/commands/memory-stats/ + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: { + readonly 2: (rawReply: UnwrapReply>, preserve?: any, typeMapping?: TypeMapping) => MemoryStatsReply; + readonly 3: () => MemoryStatsReply; + }; +}; +export default _default; +//# sourceMappingURL=MEMORY_STATS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MEMORY_STATS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_STATS.d.ts.map new file mode 100644 index 0000000..1fdb458 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_STATS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MEMORY_STATS.d.ts","sourceRoot":"","sources":["../../../lib/commands/MEMORY_STATS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAW,WAAW,EAAE,MAAM,eAAe,CAAC;AAG3I,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;IAC9C;QAAC,eAAe,CAAC,gBAAgB,CAAC;QAAE,WAAW;KAAC;IAChD;QAAC,eAAe,CAAC,iBAAiB,CAAC;QAAE,WAAW;KAAC;IACjD;QAAC,eAAe,CAAC,mBAAmB,CAAC;QAAE,WAAW;KAAC;IACnD;QAAC,eAAe,CAAC,qBAAqB,CAAC;QAAE,WAAW;KAAC;IACrD;QAAC,eAAe,CAAC,gBAAgB,CAAC;QAAE,WAAW;KAAC;IAChD;QAAC,eAAe,CAAC,gBAAgB,CAAC;QAAE,WAAW;KAAC;IAChD,mBAAmB;IACnB;QAAC,eAAe,CAAC,eAAe,CAAC;QAAE,WAAW;KAAC;IAC/C;QAAC,eAAe,CAAC,YAAY,CAAC;QAAE,WAAW;KAAC;IAC5C;QAAC,eAAe,CAAC,YAAY,CAAC;QAAE,WAAW;KAAC;IAC5C,mBAAmB;IACnB;QAAC,eAAe,CAAC,kBAAkB,CAAC;QAAE,WAAW;KAAC;IAElD;QAAC,eAAe,CAAC,gBAAgB,CAAC;QAAE,WAAW;KAAC;IAChD;QAAC,eAAe,CAAC,YAAY,CAAC;QAAE,WAAW;KAAC;IAC5C;QAAC,eAAe,CAAC,oBAAoB,CAAC;QAAE,WAAW;KAAC;IACpD;QAAC,eAAe,CAAC,eAAe,CAAC;QAAE,WAAW;KAAC;IAC/C;QAAC,eAAe,CAAC,oBAAoB,CAAC;QAAE,WAAW;KAAC;IACpD;QAAC,eAAe,CAAC,iBAAiB,CAAC;QAAE,WAAW;KAAC;IACjD;QAAC,eAAe,CAAC,qBAAqB,CAAC;QAAE,WAAW;KAAC;IACrD;QAAC,eAAe,CAAC,kBAAkB,CAAC;QAAE,WAAW;KAAC;IAClD;QAAC,eAAe,CAAC,oBAAoB,CAAC;QAAE,WAAW;KAAC;IACpD;QAAC,eAAe,CAAC,+BAA+B,CAAC;QAAE,WAAW;KAAC;IAC/D;QAAC,eAAe,CAAC,+BAA+B,CAAC;QAAE,WAAW;KAAC;IAC/D;QAAC,eAAe,CAAC,qBAAqB,CAAC;QAAE,WAAW;KAAC;IACrD;QAAC,eAAe,CAAC,qBAAqB,CAAC;QAAE,WAAW;KAAC;IACrD;QAAC,eAAe,CAAC,oBAAoB,CAAC;QAAE,WAAW;KAAC;IACpD;QAAC,eAAe,CAAC,oBAAoB,CAAC;QAAE,WAAW;KAAC;IACpD;QAAC,eAAe,CAAC,eAAe,CAAC;QAAE,WAAW;KAAC;IAC/C;QAAC,eAAe,CAAC,qBAAqB,CAAC;QAAE,WAAW;KAAC;CACtD,CAAC,CAAC;;;;IAKD;;;;;OAKG;gDACkB,aAAa;;+BAIlB,YAAY,WAAW,eAAe,GAAG,WAAW,CAAC,CAAC,aAAa,GAAG,gBAAgB,WAAW;;;;AAbnH,wBAqC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MEMORY_STATS.js b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_STATS.js new file mode 100644 index 0000000..9a471a5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_STATS.js @@ -0,0 +1,39 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the MEMORY STATS command + * + * @param parser - The command parser + * @see https://redis.io/commands/memory-stats/ + */ + parseCommand(parser) { + parser.push('MEMORY', 'STATS'); + }, + transformReply: { + 2: (rawReply, preserve, typeMapping) => { + const reply = {}; + let i = 0; + while (i < rawReply.length) { + switch (rawReply[i].toString()) { + case 'dataset.percentage': + case 'peak.percentage': + case 'allocator-fragmentation.ratio': + case 'allocator-rss.ratio': + case 'rss-overhead.ratio': + case 'fragmentation': + reply[rawReply[i++]] = generic_transformers_1.transformDoubleReply[2](rawReply[i++], preserve, typeMapping); + break; + default: + reply[rawReply[i++]] = rawReply[i++]; + } + } + return reply; + }, + 3: undefined + } +}; +//# sourceMappingURL=MEMORY_STATS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MEMORY_STATS.js.map b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_STATS.js.map new file mode 100644 index 0000000..8d02900 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_STATS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MEMORY_STATS.js","sourceRoot":"","sources":["../../../lib/commands/MEMORY_STATS.ts"],"names":[],"mappings":";;AAEA,iEAA8D;AAmC9D,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,QAAgE,EAAE,QAAc,EAAE,WAAyB,EAAE,EAAE;YACjH,MAAM,KAAK,GAAQ,EAAE,CAAC;YAEtB,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAC3B,QAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;oBAC9B,KAAK,oBAAoB,CAAC;oBAC1B,KAAK,iBAAiB,CAAC;oBACvB,KAAK,+BAA+B,CAAC;oBACrC,KAAK,qBAAqB,CAAC;oBAC3B,KAAK,oBAAoB,CAAC;oBAC1B,KAAK,eAAe;wBAClB,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAQ,CAAC,GAAG,2CAAoB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAA+B,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;wBAC1H,MAAM;oBACR;wBACE,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChD,CAAC;YAEH,CAAC;YAED,OAAO,KAAyB,CAAC;QACnC,CAAC;QACD,CAAC,EAAE,SAA8C;KAClD;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MEMORY_USAGE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_USAGE.d.ts new file mode 100644 index 0000000..e745f70 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_USAGE.d.ts @@ -0,0 +1,20 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply, NullReply, RedisArgument } from '../RESP/types'; +export interface MemoryUsageOptions { + SAMPLES?: number; +} +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the MEMORY USAGE command + * + * @param parser - The command parser + * @param key - The key to get memory usage for + * @param options - Optional parameters including SAMPLES + * @see https://redis.io/commands/memory-usage/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, options?: MemoryUsageOptions) => void; + readonly transformReply: () => NumberReply | NullReply; +}; +export default _default; +//# sourceMappingURL=MEMORY_USAGE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MEMORY_USAGE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_USAGE.d.ts.map new file mode 100644 index 0000000..2c06914 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_USAGE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MEMORY_USAGE.d.ts","sourceRoot":"","sources":["../../../lib/commands/MEMORY_USAGE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAW,aAAa,EAAE,MAAM,eAAe,CAAC;AAE/E,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;;;IAIC;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,YAAY,kBAAkB;mCAQtC,WAAW,GAAG,SAAS;;AAlBvE,wBAmB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MEMORY_USAGE.js b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_USAGE.js new file mode 100644 index 0000000..47c987e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_USAGE.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the MEMORY USAGE command + * + * @param parser - The command parser + * @param key - The key to get memory usage for + * @param options - Optional parameters including SAMPLES + * @see https://redis.io/commands/memory-usage/ + */ + parseCommand(parser, key, options) { + parser.push('MEMORY', 'USAGE'); + parser.pushKey(key); + if (options?.SAMPLES) { + parser.push('SAMPLES', options.SAMPLES.toString()); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=MEMORY_USAGE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MEMORY_USAGE.js.map b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_USAGE.js.map new file mode 100644 index 0000000..5e93d64 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MEMORY_USAGE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MEMORY_USAGE.js","sourceRoot":"","sources":["../../../lib/commands/MEMORY_USAGE.ts"],"names":[],"mappings":";;AAOA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,OAA4B;QAClF,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC/B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MGET.d.ts b/back/node_modules/@redis/client/dist/lib/commands/MGET.d.ts new file mode 100644 index 0000000..6cbd046 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MGET.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply, NullReply } from '../RESP/types'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the MGET command + * + * @param parser - The command parser + * @param keys - Array of keys to get + * @see https://redis.io/commands/mget/ + */ + readonly parseCommand: (this: void, parser: CommandParser, keys: Array) => void; + readonly transformReply: () => Array; +}; +export default _default; +//# sourceMappingURL=MGET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MGET.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/MGET.d.ts.map new file mode 100644 index 0000000..8b659b4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MGET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MGET.d.ts","sourceRoot":"","sources":["../../../lib/commands/MGET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;;;;IAKjF;;;;;;OAMG;gDACkB,aAAa,QAAQ,MAAM,aAAa,CAAC;mCAIhB,MAAM,eAAe,GAAG,SAAS,CAAC;;AAdlF,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MGET.js b/back/node_modules/@redis/client/dist/lib/commands/MGET.js new file mode 100644 index 0000000..973e88d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MGET.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Constructs the MGET command + * + * @param parser - The command parser + * @param keys - Array of keys to get + * @see https://redis.io/commands/mget/ + */ + parseCommand(parser, keys) { + parser.push('MGET'); + parser.pushKeys(keys); + }, + transformReply: undefined +}; +//# sourceMappingURL=MGET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MGET.js.map b/back/node_modules/@redis/client/dist/lib/commands/MGET.js.map new file mode 100644 index 0000000..2b964eb --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MGET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MGET.js","sourceRoot":"","sources":["../../../lib/commands/MGET.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,IAA0B;QAC5D,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,cAAc,EAAE,SAAgE;CACtD,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MIGRATE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/MIGRATE.d.ts new file mode 100644 index 0000000..978c0be --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MIGRATE.d.ts @@ -0,0 +1,27 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, SimpleStringReply } from '../RESP/types'; +import { AuthOptions } from './AUTH'; +export interface MigrateOptions { + COPY?: true; + REPLACE?: true; + AUTH?: AuthOptions; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the MIGRATE command + * + * @param parser - The command parser + * @param host - Target Redis instance host + * @param port - Target Redis instance port + * @param key - Key or keys to migrate + * @param destinationDb - Target database index + * @param timeout - Timeout in milliseconds + * @param options - Optional parameters including COPY, REPLACE, and AUTH + * @see https://redis.io/commands/migrate/ + */ + readonly parseCommand: (this: void, parser: CommandParser, host: RedisArgument, port: number, key: RedisArgument | Array, destinationDb: number, timeout: number, options?: MigrateOptions) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=MIGRATE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MIGRATE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/MIGRATE.d.ts.map new file mode 100644 index 0000000..77703d3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MIGRATE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MIGRATE.d.ts","sourceRoot":"","sources":["../../../lib/commands/MIGRATE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;;;IAIC;;;;;;;;;;;OAWG;gDAEO,aAAa,QACf,aAAa,QACb,MAAM,OACP,aAAa,GAAG,MAAM,aAAa,CAAC,iBAC1B,MAAM,WACZ,MAAM,YACL,cAAc;mCA4CoB,kBAAkB,IAAI,CAAC;;AAjEvE,wBAkE6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MIGRATE.js b/back/node_modules/@redis/client/dist/lib/commands/MIGRATE.js new file mode 100644 index 0000000..85e9e9f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MIGRATE.js @@ -0,0 +1,48 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Constructs the MIGRATE command + * + * @param parser - The command parser + * @param host - Target Redis instance host + * @param port - Target Redis instance port + * @param key - Key or keys to migrate + * @param destinationDb - Target database index + * @param timeout - Timeout in milliseconds + * @param options - Optional parameters including COPY, REPLACE, and AUTH + * @see https://redis.io/commands/migrate/ + */ + parseCommand(parser, host, port, key, destinationDb, timeout, options) { + parser.push('MIGRATE', host, port.toString()); + const isKeyArray = Array.isArray(key); + if (isKeyArray) { + parser.push(''); + } + else { + parser.push(key); + } + parser.push(destinationDb.toString(), timeout.toString()); + if (options?.COPY) { + parser.push('COPY'); + } + if (options?.REPLACE) { + parser.push('REPLACE'); + } + if (options?.AUTH) { + if (options.AUTH.username) { + parser.push('AUTH2', options.AUTH.username, options.AUTH.password); + } + else { + parser.push('AUTH', options.AUTH.password); + } + } + if (isKeyArray) { + parser.push('KEYS'); + parser.pushVariadic(key); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=MIGRATE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MIGRATE.js.map b/back/node_modules/@redis/client/dist/lib/commands/MIGRATE.js.map new file mode 100644 index 0000000..55db1f9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MIGRATE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MIGRATE.js","sourceRoot":"","sources":["../../../lib/commands/MIGRATE.ts"],"names":[],"mappings":";;AAUA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;;;;OAWG;IACH,YAAY,CACV,MAAqB,EACrB,IAAmB,EACnB,IAAY,EACZ,GAAyC,EACzC,aAAqB,EACrB,OAAe,EACf,OAAwB;QAExB,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEtC,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QAED,MAAM,CAAC,IAAI,CACT,aAAa,CAAC,QAAQ,EAAE,EACxB,OAAO,CAAC,QAAQ,EAAE,CACnB,CAAC;QAEF,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QAED,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CACT,OAAO,EACP,OAAO,CAAC,IAAI,CAAC,QAAQ,EACrB,OAAO,CAAC,IAAI,CAAC,QAAQ,CACtB,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CACT,MAAM,EACN,OAAO,CAAC,IAAI,CAAC,QAAQ,CACtB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpB,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MODULE_LIST.d.ts b/back/node_modules/@redis/client/dist/lib/commands/MODULE_LIST.d.ts new file mode 100644 index 0000000..fc40647 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MODULE_LIST.d.ts @@ -0,0 +1,32 @@ +import { CommandParser } from '../client/parser'; +import { ArrayReply, TuplesToMapReply, BlobStringReply, NumberReply, UnwrapReply, Resp2Reply } from '../RESP/types'; +export type ModuleListReply = ArrayReply, + BlobStringReply + ], + [ + BlobStringReply<'ver'>, + NumberReply + ] +]>>; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the MODULE LIST command + * + * @param parser - The command parser + * @see https://redis.io/commands/module-list/ + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: { + readonly 2: (reply: UnwrapReply>) => { + name: BlobStringReply; + ver: NumberReply; + }[]; + readonly 3: () => ModuleListReply; + }; +}; +export default _default; +//# sourceMappingURL=MODULE_LIST.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MODULE_LIST.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/MODULE_LIST.d.ts.map new file mode 100644 index 0000000..54f5b47 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MODULE_LIST.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MODULE_LIST.d.ts","sourceRoot":"","sources":["../../../lib/commands/MODULE_LIST.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAW,MAAM,eAAe,CAAC;AAE7H,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,gBAAgB,CAAC;IACxD;QAAC,eAAe,CAAC,MAAM,CAAC;QAAE,eAAe;KAAC;IAC1C;QAAC,eAAe,CAAC,KAAK,CAAC;QAAE,WAAW;KAAC;CACtC,CAAC,CAAC,CAAC;;;;IAKF;;;;;OAKG;gDACkB,aAAa;;4BAIrB,YAAY,WAAW,eAAe,CAAC,CAAC;;;;;;;AAbvD,wBAwB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MODULE_LIST.js b/back/node_modules/@redis/client/dist/lib/commands/MODULE_LIST.js new file mode 100644 index 0000000..c969dd4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MODULE_LIST.js @@ -0,0 +1,28 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the MODULE LIST command + * + * @param parser - The command parser + * @see https://redis.io/commands/module-list/ + */ + parseCommand(parser) { + parser.push('MODULE', 'LIST'); + }, + transformReply: { + 2: (reply) => { + return reply.map(module => { + const unwrapped = module; + return { + name: unwrapped[1], + ver: unwrapped[3] + }; + }); + }, + 3: undefined + } +}; +//# sourceMappingURL=MODULE_LIST.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MODULE_LIST.js.map b/back/node_modules/@redis/client/dist/lib/commands/MODULE_LIST.js.map new file mode 100644 index 0000000..052b068 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MODULE_LIST.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MODULE_LIST.js","sourceRoot":"","sources":["../../../lib/commands/MODULE_LIST.ts"],"names":[],"mappings":";;AAQA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAA+C,EAAE,EAAE;YACrD,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBACxB,MAAM,SAAS,GAAG,MAA+C,CAAC;gBAClE,OAAO;oBACL,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;oBAClB,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;iBAClB,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QACD,CAAC,EAAE,SAA6C;KACjD;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MODULE_LOAD.d.ts b/back/node_modules/@redis/client/dist/lib/commands/MODULE_LOAD.d.ts new file mode 100644 index 0000000..7babbe6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MODULE_LOAD.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the MODULE LOAD command + * + * @param parser - The command parser + * @param path - Path to the module file + * @param moduleArguments - Optional arguments to pass to the module + * @see https://redis.io/commands/module-load/ + */ + readonly parseCommand: (this: void, parser: CommandParser, path: RedisArgument, moduleArguments?: Array) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=MODULE_LOAD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MODULE_LOAD.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/MODULE_LOAD.d.ts.map new file mode 100644 index 0000000..a7cdefd --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MODULE_LOAD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MODULE_LOAD.d.ts","sourceRoot":"","sources":["../../../lib/commands/MODULE_LOAD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKxE;;;;;;;OAOG;gDACkB,aAAa,QAAQ,aAAa,oBAAoB,MAAM,aAAa,CAAC;mCAOjD,kBAAkB,IAAI,CAAC;;AAlBvE,wBAmB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MODULE_LOAD.js b/back/node_modules/@redis/client/dist/lib/commands/MODULE_LOAD.js new file mode 100644 index 0000000..0d777b3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MODULE_LOAD.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the MODULE LOAD command + * + * @param parser - The command parser + * @param path - Path to the module file + * @param moduleArguments - Optional arguments to pass to the module + * @see https://redis.io/commands/module-load/ + */ + parseCommand(parser, path, moduleArguments) { + parser.push('MODULE', 'LOAD', path); + if (moduleArguments) { + parser.push(...moduleArguments); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=MODULE_LOAD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MODULE_LOAD.js.map b/back/node_modules/@redis/client/dist/lib/commands/MODULE_LOAD.js.map new file mode 100644 index 0000000..a6b6db8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MODULE_LOAD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MODULE_LOAD.js","sourceRoot":"","sources":["../../../lib/commands/MODULE_LOAD.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,IAAmB,EAAE,eAAsC;QAC7F,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAEpC,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MODULE_UNLOAD.d.ts b/back/node_modules/@redis/client/dist/lib/commands/MODULE_UNLOAD.d.ts new file mode 100644 index 0000000..84a1225 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MODULE_UNLOAD.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the MODULE UNLOAD command + * + * @param parser - The command parser + * @param name - The name of the module to unload + * @see https://redis.io/commands/module-unload/ + */ + readonly parseCommand: (this: void, parser: CommandParser, name: RedisArgument) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=MODULE_UNLOAD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MODULE_UNLOAD.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/MODULE_UNLOAD.d.ts.map new file mode 100644 index 0000000..c75aaf2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MODULE_UNLOAD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MODULE_UNLOAD.d.ts","sourceRoot":"","sources":["../../../lib/commands/MODULE_UNLOAD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKxE;;;;;;OAMG;gDACkB,aAAa,QAAQ,aAAa;mCAGT,kBAAkB,IAAI,CAAC;;AAbvE,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MODULE_UNLOAD.js b/back/node_modules/@redis/client/dist/lib/commands/MODULE_UNLOAD.js new file mode 100644 index 0000000..45f3b1d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MODULE_UNLOAD.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the MODULE UNLOAD command + * + * @param parser - The command parser + * @param name - The name of the module to unload + * @see https://redis.io/commands/module-unload/ + */ + parseCommand(parser, name) { + parser.push('MODULE', 'UNLOAD', name); + }, + transformReply: undefined +}; +//# sourceMappingURL=MODULE_UNLOAD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MODULE_UNLOAD.js.map b/back/node_modules/@redis/client/dist/lib/commands/MODULE_UNLOAD.js.map new file mode 100644 index 0000000..1dcf29a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MODULE_UNLOAD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MODULE_UNLOAD.js","sourceRoot":"","sources":["../../../lib/commands/MODULE_UNLOAD.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,IAAmB;QACrD,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MOVE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/MOVE.d.ts new file mode 100644 index 0000000..16d19a7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MOVE.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + /** + * Constructs the MOVE command + * + * @param parser - The command parser + * @param key - The key to move + * @param db - The destination database index + * @see https://redis.io/commands/move/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, db: number) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=MOVE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MOVE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/MOVE.d.ts.map new file mode 100644 index 0000000..2181500 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MOVE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MOVE.d.ts","sourceRoot":"","sources":["../../../lib/commands/MOVE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;IAGlE;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,MAAM,MAAM;mCAKpB,WAAW;;AAd3D,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MOVE.js b/back/node_modules/@redis/client/dist/lib/commands/MOVE.js new file mode 100644 index 0000000..afc7654 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MOVE.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Constructs the MOVE command + * + * @param parser - The command parser + * @param key - The key to move + * @param db - The destination database index + * @see https://redis.io/commands/move/ + */ + parseCommand(parser, key, db) { + parser.push('MOVE'); + parser.pushKey(key); + parser.push(db.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=MOVE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MOVE.js.map b/back/node_modules/@redis/client/dist/lib/commands/MOVE.js.map new file mode 100644 index 0000000..98a4c22 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MOVE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MOVE.js","sourceRoot":"","sources":["../../../lib/commands/MOVE.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,EAAU;QAChE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7B,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MSET.d.ts b/back/node_modules/@redis/client/dist/lib/commands/MSET.d.ts new file mode 100644 index 0000000..2f7c57f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MSET.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, SimpleStringReply } from '../RESP/types'; +export type MSetArguments = Array<[RedisArgument, RedisArgument]> | Array | Record; +export declare function parseMSetArguments(parser: CommandParser, toSet: MSetArguments): void; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the MSET command + * + * @param parser - The command parser + * @param toSet - Key-value pairs to set (array of tuples, flat array, or object) + * @see https://redis.io/commands/mset/ + */ + readonly parseCommand: (this: void, parser: CommandParser, toSet: MSetArguments) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=MSET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MSET.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/MSET.d.ts.map new file mode 100644 index 0000000..8a5516d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MSET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MSET.d.ts","sourceRoot":"","sources":["../../../lib/commands/MSET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;AAE1E,MAAM,MAAM,aAAa,GACvB,KAAK,CAAC,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,GACrC,KAAK,CAAC,aAAa,CAAC,GACpB,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAEhC,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,QAuB7E;;;IAIC;;;;;;OAMG;gDACkB,aAAa,SAAS,aAAa;mCAIV,kBAAkB,IAAI,CAAC;;AAbvE,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MSET.js b/back/node_modules/@redis/client/dist/lib/commands/MSET.js new file mode 100644 index 0000000..00ab19f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MSET.js @@ -0,0 +1,46 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseMSetArguments = void 0; +function parseMSetArguments(parser, toSet) { + if (Array.isArray(toSet)) { + if (toSet.length == 0) { + throw new Error("empty toSet Argument"); + } + if (Array.isArray(toSet[0])) { + for (const tuple of toSet) { + parser.pushKey(tuple[0]); + parser.push(tuple[1]); + } + } + else { + const arr = toSet; + for (let i = 0; i < arr.length; i += 2) { + parser.pushKey(arr[i]); + parser.push(arr[i + 1]); + } + } + } + else { + for (const tuple of Object.entries(toSet)) { + parser.pushKey(tuple[0]); + parser.push(tuple[1]); + } + } +} +exports.parseMSetArguments = parseMSetArguments; +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the MSET command + * + * @param parser - The command parser + * @param toSet - Key-value pairs to set (array of tuples, flat array, or object) + * @see https://redis.io/commands/mset/ + */ + parseCommand(parser, toSet) { + parser.push('MSET'); + return parseMSetArguments(parser, toSet); + }, + transformReply: undefined +}; +//# sourceMappingURL=MSET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MSET.js.map b/back/node_modules/@redis/client/dist/lib/commands/MSET.js.map new file mode 100644 index 0000000..c54c666 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MSET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MSET.js","sourceRoot":"","sources":["../../../lib/commands/MSET.ts"],"names":[],"mappings":";;;AAQA,SAAgB,kBAAkB,CAAC,MAAqB,EAAE,KAAoB;IAC5E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACzC,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,KAAK,MAAM,KAAK,IAAK,KAA+C,EAAE,CAAC;gBACrE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,KAA6B,CAAC;YAC1C,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;AACH,CAAC;AAvBD,gDAuBC;AAED,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,KAAoB;QACtD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MSETEX.d.ts b/back/node_modules/@redis/client/dist/lib/commands/MSETEX.d.ts new file mode 100644 index 0000000..f858e00 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MSETEX.d.ts @@ -0,0 +1,73 @@ +import { CommandParser } from "../client/parser"; +import { NumberReply } from "../RESP/types"; +import { MSetArguments } from "./MSET"; +export declare const SetMode: { + /** + * Only set if all keys exist + */ + readonly XX: "XX"; + /** + * Only set if none of the keys exist + */ + readonly NX: "NX"; +}; +export type SetMode = (typeof SetMode)[keyof typeof SetMode]; +export declare const ExpirationMode: { + /** + * Relative expiration (seconds) + */ + readonly EX: "EX"; + /** + * Relative expiration (milliseconds) + */ + readonly PX: "PX"; + /** + * Absolute expiration (Unix timestamp in seconds) + */ + readonly EXAT: "EXAT"; + /** + * Absolute expiration (Unix timestamp in milliseconds) + */ + readonly PXAT: "PXAT"; + /** + * Keep existing TTL + */ + readonly KEEPTTL: "KEEPTTL"; +}; +export type ExpirationMode = (typeof ExpirationMode)[keyof typeof ExpirationMode]; +type SetConditionOption = typeof SetMode.XX | typeof SetMode.NX; +type ExpirationOption = { + type: typeof ExpirationMode.EX; + value: number; +} | { + type: typeof ExpirationMode.PX; + value: number; +} | { + type: typeof ExpirationMode.EXAT; + value: number | Date; +} | { + type: typeof ExpirationMode.PXAT; + value: number | Date; +} | { + type: typeof ExpirationMode.KEEPTTL; +}; +export declare function parseMSetExArguments(parser: CommandParser, keyValuePairs: MSetArguments): void; +declare const _default: { + /** + * Constructs the MSETEX command. + * + * Atomically sets multiple string keys with a shared expiration in a single operation. + * + * @param parser - The command parser + * @param keyValuePairs - Key-value pairs to set (array of tuples, flat array, or object) + * @param options - Configuration for expiration and set modes + * @see https://redis.io/commands/msetex/ + */ + readonly parseCommand: (this: void, parser: CommandParser, keyValuePairs: MSetArguments, options?: { + expiration?: ExpirationOption; + mode?: SetConditionOption; + }) => void; + readonly transformReply: () => NumberReply<0 | 1>; +}; +export default _default; +//# sourceMappingURL=MSETEX.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MSETEX.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/MSETEX.d.ts.map new file mode 100644 index 0000000..cb3951a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MSETEX.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MSETEX.d.ts","sourceRoot":"","sources":["../../../lib/commands/MSETEX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAA0B,MAAM,eAAe,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,eAAO,MAAM,OAAO;IAClB;;OAEG;;IAEH;;OAEG;;CAEK,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,OAAO,OAAO,CAAC,CAAC;AAE7D,eAAO,MAAM,cAAc;IACzB;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;CAEK,CAAC;AAEX,MAAM,MAAM,cAAc,GACxB,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAEvD,KAAK,kBAAkB,GAAG,OAAO,OAAO,CAAC,EAAE,GAAG,OAAO,OAAO,CAAC,EAAE,CAAC;AAEhE,KAAK,gBAAgB,GACjB;IAAE,IAAI,EAAE,OAAO,cAAc,CAAC,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,OAAO,cAAc,CAAC,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,OAAO,cAAc,CAAC,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,OAAO,cAAc,CAAC,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,OAAO,cAAc,CAAC,OAAO,CAAA;CAAE,CAAC;AAE5C,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,aAAa,QA6B7B;;IAGC;;;;;;;;;OASG;gDAEO,aAAa,iBACN,aAAa,YAClB;QACR,UAAU,CAAC,EAAE,gBAAgB,CAAC;QAC9B,IAAI,CAAC,EAAE,kBAAkB,CAAC;KAC3B;mCAsC2C,YAAY,CAAC,GAAG,CAAC,CAAC;;AAvDlE,wBAwD6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MSETEX.js b/back/node_modules/@redis/client/dist/lib/commands/MSETEX.js new file mode 100644 index 0000000..5ea1420 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MSETEX.js @@ -0,0 +1,104 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseMSetExArguments = exports.ExpirationMode = exports.SetMode = void 0; +const generic_transformers_1 = require("./generic-transformers"); +exports.SetMode = { + /** + * Only set if all keys exist + */ + XX: "XX", + /** + * Only set if none of the keys exist + */ + NX: "NX", +}; +exports.ExpirationMode = { + /** + * Relative expiration (seconds) + */ + EX: "EX", + /** + * Relative expiration (milliseconds) + */ + PX: "PX", + /** + * Absolute expiration (Unix timestamp in seconds) + */ + EXAT: "EXAT", + /** + * Absolute expiration (Unix timestamp in milliseconds) + */ + PXAT: "PXAT", + /** + * Keep existing TTL + */ + KEEPTTL: "KEEPTTL", +}; +function parseMSetExArguments(parser, keyValuePairs) { + let tuples = []; + if (Array.isArray(keyValuePairs)) { + if (keyValuePairs.length == 0) { + throw new Error("empty keyValuePairs Argument"); + } + if (Array.isArray(keyValuePairs[0])) { + tuples = keyValuePairs; + } + else { + const arr = keyValuePairs; + for (let i = 0; i < arr.length; i += 2) { + tuples.push([arr[i], arr[i + 1]]); + } + } + } + else { + for (const tuple of Object.entries(keyValuePairs)) { + tuples.push([tuple[0], tuple[1]]); + } + } + // Push the number of keys + parser.push(tuples.length.toString()); + for (const tuple of tuples) { + parser.pushKey(tuple[0]); + parser.push(tuple[1]); + } +} +exports.parseMSetExArguments = parseMSetExArguments; +exports.default = { + /** + * Constructs the MSETEX command. + * + * Atomically sets multiple string keys with a shared expiration in a single operation. + * + * @param parser - The command parser + * @param keyValuePairs - Key-value pairs to set (array of tuples, flat array, or object) + * @param options - Configuration for expiration and set modes + * @see https://redis.io/commands/msetex/ + */ + parseCommand(parser, keyValuePairs, options) { + parser.push("MSETEX"); + // Push number of keys and key-value pairs before the options + parseMSetExArguments(parser, keyValuePairs); + if (options?.mode) { + parser.push(options.mode); + } + if (options?.expiration) { + switch (options.expiration.type) { + case exports.ExpirationMode.EXAT: + parser.push(exports.ExpirationMode.EXAT, (0, generic_transformers_1.transformEXAT)(options.expiration.value)); + break; + case exports.ExpirationMode.PXAT: + parser.push(exports.ExpirationMode.PXAT, (0, generic_transformers_1.transformPXAT)(options.expiration.value)); + break; + case exports.ExpirationMode.KEEPTTL: + parser.push(exports.ExpirationMode.KEEPTTL); + break; + case exports.ExpirationMode.EX: + case exports.ExpirationMode.PX: + parser.push(options.expiration.type, options.expiration.value?.toString()); + break; + } + } + }, + transformReply: undefined, +}; +//# sourceMappingURL=MSETEX.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MSETEX.js.map b/back/node_modules/@redis/client/dist/lib/commands/MSETEX.js.map new file mode 100644 index 0000000..c532df0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MSETEX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MSETEX.js","sourceRoot":"","sources":["../../../lib/commands/MSETEX.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MSETNX.d.ts b/back/node_modules/@redis/client/dist/lib/commands/MSETNX.d.ts new file mode 100644 index 0000000..696adf2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MSETNX.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +import { MSetArguments } from './MSET'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the MSETNX command + * + * @param parser - The command parser + * @param toSet - Key-value pairs to set if none of the keys exist (array of tuples, flat array, or object) + * @see https://redis.io/commands/msetnx/ + */ + readonly parseCommand: (this: void, parser: CommandParser, toSet: MSetArguments) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=MSETNX.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MSETNX.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/MSETNX.d.ts.map new file mode 100644 index 0000000..ad4dafe --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MSETNX.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MSETNX.d.ts","sourceRoot":"","sources":["../../../lib/commands/MSETNX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAsB,MAAM,QAAQ,CAAC;;;IAIzD;;;;;;OAMG;gDACkB,aAAa,SAAS,aAAa;mCAIV,kBAAkB,IAAI,CAAC;;AAbvE,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MSETNX.js b/back/node_modules/@redis/client/dist/lib/commands/MSETNX.js new file mode 100644 index 0000000..ed9655f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MSETNX.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const MSET_1 = require("./MSET"); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the MSETNX command + * + * @param parser - The command parser + * @param toSet - Key-value pairs to set if none of the keys exist (array of tuples, flat array, or object) + * @see https://redis.io/commands/msetnx/ + */ + parseCommand(parser, toSet) { + parser.push('MSETNX'); + return (0, MSET_1.parseMSetArguments)(parser, toSet); + }, + transformReply: undefined +}; +//# sourceMappingURL=MSETNX.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/MSETNX.js.map b/back/node_modules/@redis/client/dist/lib/commands/MSETNX.js.map new file mode 100644 index 0000000..e960e10 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/MSETNX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MSETNX.js","sourceRoot":"","sources":["../../../lib/commands/MSETNX.ts"],"names":[],"mappings":";;AAEA,iCAA2D;AAE3D,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,KAAoB;QACtD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,OAAO,IAAA,yBAAkB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/OBJECT_ENCODING.d.ts b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_ENCODING.d.ts new file mode 100644 index 0000000..0b448cb --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_ENCODING.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply, NullReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the OBJECT ENCODING command + * + * @param parser - The command parser + * @param key - The key to get the internal encoding for + * @see https://redis.io/commands/object-encoding/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => BlobStringReply | NullReply; +}; +export default _default; +//# sourceMappingURL=OBJECT_ENCODING.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/OBJECT_ENCODING.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_ENCODING.d.ts.map new file mode 100644 index 0000000..7ea7bf6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_ENCODING.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"OBJECT_ENCODING.d.ts","sourceRoot":"","sources":["../../../lib/commands/OBJECT_ENCODING.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;;;IAIjF;;;;;;OAMG;gDACkB,aAAa,OAAO,aAAa;mCAIR,eAAe,GAAG,SAAS;;AAb3E,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/OBJECT_ENCODING.js b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_ENCODING.js new file mode 100644 index 0000000..6c79680 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_ENCODING.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the OBJECT ENCODING command + * + * @param parser - The command parser + * @param key - The key to get the internal encoding for + * @see https://redis.io/commands/object-encoding/ + */ + parseCommand(parser, key) { + parser.push('OBJECT', 'ENCODING'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=OBJECT_ENCODING.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/OBJECT_ENCODING.js.map b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_ENCODING.js.map new file mode 100644 index 0000000..b8a6b50 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_ENCODING.js.map @@ -0,0 +1 @@ +{"version":3,"file":"OBJECT_ENCODING.js","sourceRoot":"","sources":["../../../lib/commands/OBJECT_ENCODING.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAClC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/OBJECT_FREQ.d.ts b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_FREQ.d.ts new file mode 100644 index 0000000..cfee66c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_FREQ.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply, NullReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the OBJECT FREQ command + * + * @param parser - The command parser + * @param key - The key to get the access frequency for + * @see https://redis.io/commands/object-freq/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => NumberReply | NullReply; +}; +export default _default; +//# sourceMappingURL=OBJECT_FREQ.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/OBJECT_FREQ.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_FREQ.d.ts.map new file mode 100644 index 0000000..3aff2c8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_FREQ.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"OBJECT_FREQ.d.ts","sourceRoot":"","sources":["../../../lib/commands/OBJECT_FREQ.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;;;IAI7E;;;;;;OAMG;gDACkB,aAAa,OAAO,aAAa;mCAIR,WAAW,GAAG,SAAS;;AAbvE,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/OBJECT_FREQ.js b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_FREQ.js new file mode 100644 index 0000000..7266c1f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_FREQ.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the OBJECT FREQ command + * + * @param parser - The command parser + * @param key - The key to get the access frequency for + * @see https://redis.io/commands/object-freq/ + */ + parseCommand(parser, key) { + parser.push('OBJECT', 'FREQ'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=OBJECT_FREQ.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/OBJECT_FREQ.js.map b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_FREQ.js.map new file mode 100644 index 0000000..62ab3b8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_FREQ.js.map @@ -0,0 +1 @@ +{"version":3,"file":"OBJECT_FREQ.js","sourceRoot":"","sources":["../../../lib/commands/OBJECT_FREQ.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/OBJECT_IDLETIME.d.ts b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_IDLETIME.d.ts new file mode 100644 index 0000000..048e83e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_IDLETIME.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply, NullReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the OBJECT IDLETIME command + * + * @param parser - The command parser + * @param key - The key to get the idle time for + * @see https://redis.io/commands/object-idletime/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => NumberReply | NullReply; +}; +export default _default; +//# sourceMappingURL=OBJECT_IDLETIME.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/OBJECT_IDLETIME.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_IDLETIME.d.ts.map new file mode 100644 index 0000000..8b456b5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_IDLETIME.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"OBJECT_IDLETIME.d.ts","sourceRoot":"","sources":["../../../lib/commands/OBJECT_IDLETIME.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;;;IAI7E;;;;;;OAMG;gDACkB,aAAa,OAAO,aAAa;mCAIR,WAAW,GAAG,SAAS;;AAbvE,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/OBJECT_IDLETIME.js b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_IDLETIME.js new file mode 100644 index 0000000..d6c0e53 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_IDLETIME.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the OBJECT IDLETIME command + * + * @param parser - The command parser + * @param key - The key to get the idle time for + * @see https://redis.io/commands/object-idletime/ + */ + parseCommand(parser, key) { + parser.push('OBJECT', 'IDLETIME'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=OBJECT_IDLETIME.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/OBJECT_IDLETIME.js.map b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_IDLETIME.js.map new file mode 100644 index 0000000..9b51c15 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_IDLETIME.js.map @@ -0,0 +1 @@ +{"version":3,"file":"OBJECT_IDLETIME.js","sourceRoot":"","sources":["../../../lib/commands/OBJECT_IDLETIME.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAClC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/OBJECT_REFCOUNT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_REFCOUNT.d.ts new file mode 100644 index 0000000..92c6717 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_REFCOUNT.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply, NullReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the OBJECT REFCOUNT command + * + * @param parser - The command parser + * @param key - The key to get the reference count for + * @see https://redis.io/commands/object-refcount/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => NumberReply | NullReply; +}; +export default _default; +//# sourceMappingURL=OBJECT_REFCOUNT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/OBJECT_REFCOUNT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_REFCOUNT.d.ts.map new file mode 100644 index 0000000..8a50e9c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_REFCOUNT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"OBJECT_REFCOUNT.d.ts","sourceRoot":"","sources":["../../../lib/commands/OBJECT_REFCOUNT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;;;IAI7E;;;;;;OAMG;gDACkB,aAAa,OAAO,aAAa;mCAIR,WAAW,GAAG,SAAS;;AAbvE,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/OBJECT_REFCOUNT.js b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_REFCOUNT.js new file mode 100644 index 0000000..397b8e9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_REFCOUNT.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the OBJECT REFCOUNT command + * + * @param parser - The command parser + * @param key - The key to get the reference count for + * @see https://redis.io/commands/object-refcount/ + */ + parseCommand(parser, key) { + parser.push('OBJECT', 'REFCOUNT'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=OBJECT_REFCOUNT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/OBJECT_REFCOUNT.js.map b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_REFCOUNT.js.map new file mode 100644 index 0000000..758626f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/OBJECT_REFCOUNT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"OBJECT_REFCOUNT.js","sourceRoot":"","sources":["../../../lib/commands/OBJECT_REFCOUNT.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAClC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PERSIST.d.ts b/back/node_modules/@redis/client/dist/lib/commands/PERSIST.d.ts new file mode 100644 index 0000000..32a97ed --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PERSIST.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + /** + * Constructs the PERSIST command + * + * @param parser - The command parser + * @param key - The key to remove the expiration from + * @see https://redis.io/commands/persist/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=PERSIST.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PERSIST.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/PERSIST.d.ts.map new file mode 100644 index 0000000..63443a3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PERSIST.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PERSIST.d.ts","sourceRoot":"","sources":["../../../lib/commands/PERSIST.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;IAGlE;;;;;;OAMG;gDACkB,aAAa,OAAO,aAAa;mCAIR,WAAW;;AAZ3D,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PERSIST.js b/back/node_modules/@redis/client/dist/lib/commands/PERSIST.js new file mode 100644 index 0000000..62256a3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PERSIST.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Constructs the PERSIST command + * + * @param parser - The command parser + * @param key - The key to remove the expiration from + * @see https://redis.io/commands/persist/ + */ + parseCommand(parser, key) { + parser.push('PERSIST'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=PERSIST.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PERSIST.js.map b/back/node_modules/@redis/client/dist/lib/commands/PERSIST.js.map new file mode 100644 index 0000000..b9bfa63 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PERSIST.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PERSIST.js","sourceRoot":"","sources":["../../../lib/commands/PERSIST.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PEXPIRE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/PEXPIRE.d.ts new file mode 100644 index 0000000..c629537 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PEXPIRE.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the PEXPIRE command + * + * @param parser - The command parser + * @param key - The key to set the expiration for + * @param ms - The expiration time in milliseconds + * @param mode - Optional mode for the command ('NX', 'XX', 'GT', 'LT') + * @see https://redis.io/commands/pexpire/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, ms: number, mode?: 'NX' | 'XX' | 'GT' | 'LT') => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=PEXPIRE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PEXPIRE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/PEXPIRE.d.ts.map new file mode 100644 index 0000000..fdb22f5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PEXPIRE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PEXPIRE.d.ts","sourceRoot":"","sources":["../../../lib/commands/PEXPIRE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;IAIlE;;;;;;;;OAQG;gDAEO,aAAa,OAChB,aAAa,MACd,MAAM,SACH,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;mCAUY,WAAW;;AAzB3D,wBA0B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PEXPIRE.js b/back/node_modules/@redis/client/dist/lib/commands/PEXPIRE.js new file mode 100644 index 0000000..aece9d0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PEXPIRE.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the PEXPIRE command + * + * @param parser - The command parser + * @param key - The key to set the expiration for + * @param ms - The expiration time in milliseconds + * @param mode - Optional mode for the command ('NX', 'XX', 'GT', 'LT') + * @see https://redis.io/commands/pexpire/ + */ + parseCommand(parser, key, ms, mode) { + parser.push('PEXPIRE'); + parser.pushKey(key); + parser.push(ms.toString()); + if (mode) { + parser.push(mode); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=PEXPIRE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PEXPIRE.js.map b/back/node_modules/@redis/client/dist/lib/commands/PEXPIRE.js.map new file mode 100644 index 0000000..ebebd8c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PEXPIRE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PEXPIRE.js","sourceRoot":"","sources":["../../../lib/commands/PEXPIRE.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,EAAU,EACV,IAAgC;QAEhC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE3B,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PEXPIREAT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/PEXPIREAT.d.ts new file mode 100644 index 0000000..0f0bea8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PEXPIREAT.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the PEXPIREAT command + * + * @param parser - The command parser + * @param key - The key to set the expiration for + * @param msTimestamp - The expiration timestamp in milliseconds (Unix timestamp or Date object) + * @param mode - Optional mode for the command ('NX', 'XX', 'GT', 'LT') + * @see https://redis.io/commands/pexpireat/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, msTimestamp: number | Date, mode?: 'NX' | 'XX' | 'GT' | 'LT') => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=PEXPIREAT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PEXPIREAT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/PEXPIREAT.d.ts.map new file mode 100644 index 0000000..b24ddce --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PEXPIREAT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PEXPIREAT.d.ts","sourceRoot":"","sources":["../../../lib/commands/PEXPIREAT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;IAKlE;;;;;;;;OAQG;gDAEO,aAAa,OAChB,aAAa,eACL,MAAM,GAAG,IAAI,SACnB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;mCAUY,WAAW;;AAzB3D,wBA0B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PEXPIREAT.js b/back/node_modules/@redis/client/dist/lib/commands/PEXPIREAT.js new file mode 100644 index 0000000..0e539c2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PEXPIREAT.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the PEXPIREAT command + * + * @param parser - The command parser + * @param key - The key to set the expiration for + * @param msTimestamp - The expiration timestamp in milliseconds (Unix timestamp or Date object) + * @param mode - Optional mode for the command ('NX', 'XX', 'GT', 'LT') + * @see https://redis.io/commands/pexpireat/ + */ + parseCommand(parser, key, msTimestamp, mode) { + parser.push('PEXPIREAT'); + parser.pushKey(key); + parser.push((0, generic_transformers_1.transformPXAT)(msTimestamp)); + if (mode) { + parser.push(mode); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=PEXPIREAT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PEXPIREAT.js.map b/back/node_modules/@redis/client/dist/lib/commands/PEXPIREAT.js.map new file mode 100644 index 0000000..71a3766 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PEXPIREAT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PEXPIREAT.js","sourceRoot":"","sources":["../../../lib/commands/PEXPIREAT.ts"],"names":[],"mappings":";;AAEA,iEAAuD;AAEvD,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,WAA0B,EAC1B,IAAgC;QAEhC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAA,oCAAa,EAAC,WAAW,CAAC,CAAC,CAAC;QAExC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PEXPIRETIME.d.ts b/back/node_modules/@redis/client/dist/lib/commands/PEXPIRETIME.d.ts new file mode 100644 index 0000000..fbc7c96 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PEXPIRETIME.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the PEXPIRETIME command + * + * @param parser - The command parser + * @param key - The key to get the expiration time for in milliseconds + * @see https://redis.io/commands/pexpiretime/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=PEXPIRETIME.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PEXPIRETIME.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/PEXPIRETIME.d.ts.map new file mode 100644 index 0000000..919a6a4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PEXPIRETIME.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PEXPIRETIME.d.ts","sourceRoot":"","sources":["../../../lib/commands/PEXPIRETIME.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;IAIlE;;;;;;OAMG;gDACkB,aAAa,OAAO,aAAa;mCAIR,WAAW;;AAb3D,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PEXPIRETIME.js b/back/node_modules/@redis/client/dist/lib/commands/PEXPIRETIME.js new file mode 100644 index 0000000..6eb696e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PEXPIRETIME.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the PEXPIRETIME command + * + * @param parser - The command parser + * @param key - The key to get the expiration time for in milliseconds + * @see https://redis.io/commands/pexpiretime/ + */ + parseCommand(parser, key) { + parser.push('PEXPIRETIME'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=PEXPIRETIME.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PEXPIRETIME.js.map b/back/node_modules/@redis/client/dist/lib/commands/PEXPIRETIME.js.map new file mode 100644 index 0000000..200308f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PEXPIRETIME.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PEXPIRETIME.js","sourceRoot":"","sources":["../../../lib/commands/PEXPIRETIME.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PFADD.d.ts b/back/node_modules/@redis/client/dist/lib/commands/PFADD.d.ts new file mode 100644 index 0000000..dec22fb --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PFADD.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the PFADD command + * + * @param parser - The command parser + * @param key - The key of the HyperLogLog + * @param element - Optional elements to add + * @see https://redis.io/commands/pfadd/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, element?: RedisVariadicArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=PFADD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PFADD.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/PFADD.d.ts.map new file mode 100644 index 0000000..3248455 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PFADD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PFADD.d.ts","sourceRoot":"","sources":["../../../lib/commands/PFADD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;IAI7D;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,YAAY,qBAAqB;mCAOzC,WAAW;;AAjB3D,wBAkB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PFADD.js b/back/node_modules/@redis/client/dist/lib/commands/PFADD.js new file mode 100644 index 0000000..7066a34 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PFADD.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the PFADD command + * + * @param parser - The command parser + * @param key - The key of the HyperLogLog + * @param element - Optional elements to add + * @see https://redis.io/commands/pfadd/ + */ + parseCommand(parser, key, element) { + parser.push('PFADD'); + parser.pushKey(key); + if (element) { + parser.pushVariadic(element); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=PFADD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PFADD.js.map b/back/node_modules/@redis/client/dist/lib/commands/PFADD.js.map new file mode 100644 index 0000000..6db0a4c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PFADD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PFADD.js","sourceRoot":"","sources":["../../../lib/commands/PFADD.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,OAA+B;QACrF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PFCOUNT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/PFCOUNT.d.ts new file mode 100644 index 0000000..9bec168 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PFCOUNT.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the PFCOUNT command + * + * @param parser - The command parser + * @param keys - One or more keys of HyperLogLog structures to count + * @see https://redis.io/commands/pfcount/ + */ + readonly parseCommand: (this: void, parser: CommandParser, keys: RedisVariadicArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=PFCOUNT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PFCOUNT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/PFCOUNT.d.ts.map new file mode 100644 index 0000000..5ec63ba --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PFCOUNT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PFCOUNT.d.ts","sourceRoot":"","sources":["../../../lib/commands/PFCOUNT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;IAI7D;;;;;;OAMG;gDACkB,aAAa,QAAQ,qBAAqB;mCAIjB,WAAW;;AAb3D,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PFCOUNT.js b/back/node_modules/@redis/client/dist/lib/commands/PFCOUNT.js new file mode 100644 index 0000000..d3241a7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PFCOUNT.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the PFCOUNT command + * + * @param parser - The command parser + * @param keys - One or more keys of HyperLogLog structures to count + * @see https://redis.io/commands/pfcount/ + */ + parseCommand(parser, keys) { + parser.push('PFCOUNT'); + parser.pushKeys(keys); + }, + transformReply: undefined +}; +//# sourceMappingURL=PFCOUNT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PFCOUNT.js.map b/back/node_modules/@redis/client/dist/lib/commands/PFCOUNT.js.map new file mode 100644 index 0000000..e0f8e4c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PFCOUNT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PFCOUNT.js","sourceRoot":"","sources":["../../../lib/commands/PFCOUNT.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,IAA2B;QAC7D,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PFMERGE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/PFMERGE.d.ts new file mode 100644 index 0000000..fe5d153 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PFMERGE.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, SimpleStringReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + /** + * Constructs the PFMERGE command + * + * @param parser - The command parser + * @param destination - The destination key to merge to + * @param sources - One or more source keys to merge from + * @see https://redis.io/commands/pfmerge/ + */ + readonly parseCommand: (this: void, parser: CommandParser, destination: RedisArgument, sources?: RedisVariadicArgument) => void; + readonly transformReply: () => SimpleStringReply; +}; +export default _default; +//# sourceMappingURL=PFMERGE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PFMERGE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/PFMERGE.d.ts.map new file mode 100644 index 0000000..ea8b5ba --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PFMERGE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PFMERGE.d.ts","sourceRoot":"","sources":["../../../lib/commands/PFMERGE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;IAG7D;;;;;;;OAOG;gDAEO,aAAa,eACR,aAAa,YAChB,qBAAqB;mCAQa,iBAAiB;;AApBjE,wBAqB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PFMERGE.js b/back/node_modules/@redis/client/dist/lib/commands/PFMERGE.js new file mode 100644 index 0000000..b1932b4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PFMERGE.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Constructs the PFMERGE command + * + * @param parser - The command parser + * @param destination - The destination key to merge to + * @param sources - One or more source keys to merge from + * @see https://redis.io/commands/pfmerge/ + */ + parseCommand(parser, destination, sources) { + parser.push('PFMERGE'); + parser.pushKey(destination); + if (sources) { + parser.pushKeys(sources); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=PFMERGE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PFMERGE.js.map b/back/node_modules/@redis/client/dist/lib/commands/PFMERGE.js.map new file mode 100644 index 0000000..76078a6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PFMERGE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PFMERGE.js","sourceRoot":"","sources":["../../../lib/commands/PFMERGE.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb;;;;;;;OAOG;IACH,YAAY,CACV,MAAqB,EACrB,WAA0B,EAC1B,OAA+B;QAE/B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAA+C;CACrC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PING.d.ts b/back/node_modules/@redis/client/dist/lib/commands/PING.d.ts new file mode 100644 index 0000000..b06fea5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PING.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, SimpleStringReply, BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the PING command + * + * @param parser - The command parser + * @param message - Optional message to be returned instead of PONG + * @see https://redis.io/commands/ping/ + */ + readonly parseCommand: (this: void, parser: CommandParser, message?: RedisArgument) => void; + readonly transformReply: () => SimpleStringReply | BlobStringReply; +}; +export default _default; +//# sourceMappingURL=PING.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PING.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/PING.d.ts.map new file mode 100644 index 0000000..e8fa612 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PING.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PING.d.ts","sourceRoot":"","sources":["../../../lib/commands/PING.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;;IAKzF;;;;;;OAMG;gDACkB,aAAa,YAAY,aAAa;mCAMb,iBAAiB,GAAG,eAAe;;AAhBnF,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PING.js b/back/node_modules/@redis/client/dist/lib/commands/PING.js new file mode 100644 index 0000000..341d445 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PING.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the PING command + * + * @param parser - The command parser + * @param message - Optional message to be returned instead of PONG + * @see https://redis.io/commands/ping/ + */ + parseCommand(parser, message) { + parser.push('PING'); + if (message) { + parser.push(message); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=PING.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PING.js.map b/back/node_modules/@redis/client/dist/lib/commands/PING.js.map new file mode 100644 index 0000000..5d7c654 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PING.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PING.js","sourceRoot":"","sources":["../../../lib/commands/PING.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,OAAuB;QACzD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAiE;CACvD,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PSETEX.d.ts b/back/node_modules/@redis/client/dist/lib/commands/PSETEX.d.ts new file mode 100644 index 0000000..57969cc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PSETEX.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, SimpleStringReply } from '../RESP/types'; +declare const _default: { + /** + * Constructs the PSETEX command + * + * @param parser - The command parser + * @param key - The key to set + * @param ms - The expiration time in milliseconds + * @param value - The value to set + * @see https://redis.io/commands/psetex/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, ms: number, value: RedisArgument) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=PSETEX.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PSETEX.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/PSETEX.d.ts.map new file mode 100644 index 0000000..120a8fe --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PSETEX.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PSETEX.d.ts","sourceRoot":"","sources":["../../../lib/commands/PSETEX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;IAGxE;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa,MAAM,MAAM,SAAS,aAAa;mCAK1C,kBAAkB,IAAI,CAAC;;AAfvE,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PSETEX.js b/back/node_modules/@redis/client/dist/lib/commands/PSETEX.js new file mode 100644 index 0000000..525e99e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PSETEX.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Constructs the PSETEX command + * + * @param parser - The command parser + * @param key - The key to set + * @param ms - The expiration time in milliseconds + * @param value - The value to set + * @see https://redis.io/commands/psetex/ + */ + parseCommand(parser, key, ms, value) { + parser.push('PSETEX'); + parser.pushKey(key); + parser.push(ms.toString(), value); + }, + transformReply: undefined +}; +//# sourceMappingURL=PSETEX.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PSETEX.js.map b/back/node_modules/@redis/client/dist/lib/commands/PSETEX.js.map new file mode 100644 index 0000000..7b0731f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PSETEX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PSETEX.js","sourceRoot":"","sources":["../../../lib/commands/PSETEX.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,EAAU,EAAE,KAAoB;QACtF,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PTTL.d.ts b/back/node_modules/@redis/client/dist/lib/commands/PTTL.d.ts new file mode 100644 index 0000000..c6da878 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PTTL.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the PTTL command + * + * @param parser - The command parser + * @param key - The key to get the time to live in milliseconds + * @see https://redis.io/commands/pttl/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=PTTL.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PTTL.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/PTTL.d.ts.map new file mode 100644 index 0000000..fe64466 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PTTL.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PTTL.d.ts","sourceRoot":"","sources":["../../../lib/commands/PTTL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;IAIlE;;;;;;OAMG;gDACkB,aAAa,OAAO,aAAa;mCAIR,WAAW;;AAb3D,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PTTL.js b/back/node_modules/@redis/client/dist/lib/commands/PTTL.js new file mode 100644 index 0000000..8161d5a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PTTL.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the PTTL command + * + * @param parser - The command parser + * @param key - The key to get the time to live in milliseconds + * @see https://redis.io/commands/pttl/ + */ + parseCommand(parser, key) { + parser.push('PTTL'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=PTTL.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PTTL.js.map b/back/node_modules/@redis/client/dist/lib/commands/PTTL.js.map new file mode 100644 index 0000000..7f46bbe --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PTTL.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PTTL.js","sourceRoot":"","sources":["../../../lib/commands/PTTL.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PUBLISH.d.ts b/back/node_modules/@redis/client/dist/lib/commands/PUBLISH.d.ts new file mode 100644 index 0000000..f7290cc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PUBLISH.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly IS_FORWARD_COMMAND: true; + /** + * Constructs the PUBLISH command + * + * @param parser - The command parser + * @param channel - The channel to publish to + * @param message - The message to publish + * @see https://redis.io/commands/publish/ + */ + readonly parseCommand: (this: void, parser: CommandParser, channel: RedisArgument, message: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=PUBLISH.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PUBLISH.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/PUBLISH.d.ts.map new file mode 100644 index 0000000..db16888 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PUBLISH.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PUBLISH.d.ts","sourceRoot":"","sources":["../../../lib/commands/PUBLISH.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;;;IAMlE;;;;;;;OAOG;gDACkB,aAAa,WAAW,aAAa,WAAW,aAAa;mCAGpC,WAAW;;AAf3D,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PUBLISH.js b/back/node_modules/@redis/client/dist/lib/commands/PUBLISH.js new file mode 100644 index 0000000..1577bf8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PUBLISH.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + IS_FORWARD_COMMAND: true, + /** + * Constructs the PUBLISH command + * + * @param parser - The command parser + * @param channel - The channel to publish to + * @param message - The message to publish + * @see https://redis.io/commands/publish/ + */ + parseCommand(parser, channel, message) { + parser.push('PUBLISH', channel, message); + }, + transformReply: undefined +}; +//# sourceMappingURL=PUBLISH.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PUBLISH.js.map b/back/node_modules/@redis/client/dist/lib/commands/PUBLISH.js.map new file mode 100644 index 0000000..2f677ba --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PUBLISH.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PUBLISH.js","sourceRoot":"","sources":["../../../lib/commands/PUBLISH.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB,kBAAkB,EAAE,IAAI;IACxB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,OAAsB,EAAE,OAAsB;QAChF,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_CHANNELS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_CHANNELS.d.ts new file mode 100644 index 0000000..1b184e1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_CHANNELS.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the PUBSUB CHANNELS command + * + * @param parser - The command parser + * @param pattern - Optional pattern to filter channels + * @see https://redis.io/commands/pubsub-channels/ + */ + readonly parseCommand: (this: void, parser: CommandParser, pattern?: RedisArgument) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=PUBSUB_CHANNELS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_CHANNELS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_CHANNELS.d.ts.map new file mode 100644 index 0000000..ceee0b1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_CHANNELS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PUBSUB_CHANNELS.d.ts","sourceRoot":"","sources":["../../../lib/commands/PUBSUB_CHANNELS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;;IAKlF;;;;;;OAMG;gDACkB,aAAa,YAAY,aAAa;mCAOb,WAAW,eAAe,CAAC;;AAjB3E,wBAkB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_CHANNELS.js b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_CHANNELS.js new file mode 100644 index 0000000..f8dc5e0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_CHANNELS.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the PUBSUB CHANNELS command + * + * @param parser - The command parser + * @param pattern - Optional pattern to filter channels + * @see https://redis.io/commands/pubsub-channels/ + */ + parseCommand(parser, pattern) { + parser.push('PUBSUB', 'CHANNELS'); + if (pattern) { + parser.push(pattern); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=PUBSUB_CHANNELS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_CHANNELS.js.map b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_CHANNELS.js.map new file mode 100644 index 0000000..6ddd4ee --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_CHANNELS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PUBSUB_CHANNELS.js","sourceRoot":"","sources":["../../../lib/commands/PUBSUB_CHANNELS.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,OAAuB;QACzD,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAElC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMPAT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMPAT.d.ts new file mode 100644 index 0000000..e5d5f2f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMPAT.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the PUBSUB NUMPAT command + * + * @param parser - The command parser + * @see https://redis.io/commands/pubsub-numpat/ + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=PUBSUB_NUMPAT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMPAT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMPAT.d.ts.map new file mode 100644 index 0000000..0f9921b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMPAT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PUBSUB_NUMPAT.d.ts","sourceRoot":"","sources":["../../../lib/commands/PUBSUB_NUMPAT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;;IAKnD;;;;;OAKG;gDACkB,aAAa;mCAGY,WAAW;;AAZ3D,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMPAT.js b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMPAT.js new file mode 100644 index 0000000..067ab1f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMPAT.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the PUBSUB NUMPAT command + * + * @param parser - The command parser + * @see https://redis.io/commands/pubsub-numpat/ + */ + parseCommand(parser) { + parser.push('PUBSUB', 'NUMPAT'); + }, + transformReply: undefined +}; +//# sourceMappingURL=PUBSUB_NUMPAT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMPAT.js.map b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMPAT.js.map new file mode 100644 index 0000000..9705aef --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMPAT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PUBSUB_NUMPAT.js","sourceRoot":"","sources":["../../../lib/commands/PUBSUB_NUMPAT.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAClC,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMSUB.d.ts b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMSUB.d.ts new file mode 100644 index 0000000..3a7e959 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMSUB.d.ts @@ -0,0 +1,24 @@ +import { CommandParser } from '../client/parser'; +import { ArrayReply, BlobStringReply, NumberReply, UnwrapReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the PUBSUB NUMSUB command + * + * @param parser - The command parser + * @param channels - Optional channel names to get subscription count for + * @see https://redis.io/commands/pubsub-numsub/ + */ + readonly parseCommand: (this: void, parser: CommandParser, channels?: RedisVariadicArgument) => void; + /** + * Transforms the PUBSUB NUMSUB reply into a record of channel name to subscriber count + * + * @param rawReply - The raw reply from Redis + * @returns Record mapping channel names to their subscriber counts + */ + readonly transformReply: (this: void, rawReply: UnwrapReply>) => Record>; +}; +export default _default; +//# sourceMappingURL=PUBSUB_NUMSUB.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMSUB.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMSUB.d.ts.map new file mode 100644 index 0000000..c2fa032 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMSUB.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PUBSUB_NUMSUB.d.ts","sourceRoot":"","sources":["../../../lib/commands/PUBSUB_NUMSUB.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;;IAK7D;;;;;;OAMG;gDACkB,aAAa,aAAa,qBAAqB;IAOpE;;;;;OAKG;oDACsB,YAAY,WAAW,eAAe,GAAG,WAAW,CAAC,CAAC;;AAvBjF,wBAgC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMSUB.js b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMSUB.js new file mode 100644 index 0000000..4778efd --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMSUB.js @@ -0,0 +1,34 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the PUBSUB NUMSUB command + * + * @param parser - The command parser + * @param channels - Optional channel names to get subscription count for + * @see https://redis.io/commands/pubsub-numsub/ + */ + parseCommand(parser, channels) { + parser.push('PUBSUB', 'NUMSUB'); + if (channels) { + parser.pushVariadic(channels); + } + }, + /** + * Transforms the PUBSUB NUMSUB reply into a record of channel name to subscriber count + * + * @param rawReply - The raw reply from Redis + * @returns Record mapping channel names to their subscriber counts + */ + transformReply(rawReply) { + const reply = Object.create(null); + let i = 0; + while (i < rawReply.length) { + reply[rawReply[i++].toString()] = Number(rawReply[i++]); + } + return reply; + } +}; +//# sourceMappingURL=PUBSUB_NUMSUB.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMSUB.js.map b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMSUB.js.map new file mode 100644 index 0000000..1154176 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_NUMSUB.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PUBSUB_NUMSUB.js","sourceRoot":"","sources":["../../../lib/commands/PUBSUB_NUMSUB.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,QAAgC;QAClE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAEhC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD;;;;;OAKG;IACH,cAAc,CAAC,QAAgE;QAC7E,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC3B,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,KAAoC,CAAC;IAC9C,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDCHANNELS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDCHANNELS.d.ts new file mode 100644 index 0000000..0047ad2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDCHANNELS.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the PUBSUB SHARDCHANNELS command + * + * @param parser - The command parser + * @param pattern - Optional pattern to filter shard channels + * @see https://redis.io/commands/pubsub-shardchannels/ + */ + readonly parseCommand: (this: void, parser: CommandParser, pattern?: RedisArgument) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=PUBSUB_SHARDCHANNELS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDCHANNELS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDCHANNELS.d.ts.map new file mode 100644 index 0000000..9085071 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDCHANNELS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PUBSUB_SHARDCHANNELS.d.ts","sourceRoot":"","sources":["../../../lib/commands/PUBSUB_SHARDCHANNELS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;;IAKlF;;;;;;OAMG;gDACkB,aAAa,YAAY,aAAa;mCAOb,WAAW,eAAe,CAAC;;AAjB3E,wBAkB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDCHANNELS.js b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDCHANNELS.js new file mode 100644 index 0000000..b9ddd43 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDCHANNELS.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the PUBSUB SHARDCHANNELS command + * + * @param parser - The command parser + * @param pattern - Optional pattern to filter shard channels + * @see https://redis.io/commands/pubsub-shardchannels/ + */ + parseCommand(parser, pattern) { + parser.push('PUBSUB', 'SHARDCHANNELS'); + if (pattern) { + parser.push(pattern); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=PUBSUB_SHARDCHANNELS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDCHANNELS.js.map b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDCHANNELS.js.map new file mode 100644 index 0000000..b2e017e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDCHANNELS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PUBSUB_SHARDCHANNELS.js","sourceRoot":"","sources":["../../../lib/commands/PUBSUB_SHARDCHANNELS.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,OAAuB;QACzD,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAEvC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDNUMSUB.d.ts b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDNUMSUB.d.ts new file mode 100644 index 0000000..d869c54 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDNUMSUB.d.ts @@ -0,0 +1,23 @@ +import { CommandParser } from '../client/parser'; +import { ArrayReply, BlobStringReply, NumberReply, UnwrapReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the PUBSUB SHARDNUMSUB command + * + * @param parser - The command parser + * @param channels - Optional shard channel names to get subscription count for + * @see https://redis.io/commands/pubsub-shardnumsub/ + */ + readonly parseCommand: (this: void, parser: CommandParser, channels?: RedisVariadicArgument) => void; + /** + * Transforms the PUBSUB SHARDNUMSUB reply into a record of shard channel name to subscriber count + * + * @param reply - The raw reply from Redis + * @returns Record mapping shard channel names to their subscriber counts + */ + readonly transformReply: (this: void, reply: UnwrapReply>) => Record>; +}; +export default _default; +//# sourceMappingURL=PUBSUB_SHARDNUMSUB.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDNUMSUB.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDNUMSUB.d.ts.map new file mode 100644 index 0000000..383a919 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDNUMSUB.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PUBSUB_SHARDNUMSUB.d.ts","sourceRoot":"","sources":["../../../lib/commands/PUBSUB_SHARDNUMSUB.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;IAI7D;;;;;;OAMG;gDACkB,aAAa,aAAa,qBAAqB;IAOpE;;;;;OAKG;iDACmB,YAAY,WAAW,eAAe,GAAG,WAAW,CAAC,CAAC;;AAtB9E,wBA+B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDNUMSUB.js b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDNUMSUB.js new file mode 100644 index 0000000..9279a58 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDNUMSUB.js @@ -0,0 +1,32 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the PUBSUB SHARDNUMSUB command + * + * @param parser - The command parser + * @param channels - Optional shard channel names to get subscription count for + * @see https://redis.io/commands/pubsub-shardnumsub/ + */ + parseCommand(parser, channels) { + parser.push('PUBSUB', 'SHARDNUMSUB'); + if (channels) { + parser.pushVariadic(channels); + } + }, + /** + * Transforms the PUBSUB SHARDNUMSUB reply into a record of shard channel name to subscriber count + * + * @param reply - The raw reply from Redis + * @returns Record mapping shard channel names to their subscriber counts + */ + transformReply(reply) { + const transformedReply = Object.create(null); + for (let i = 0; i < reply.length; i += 2) { + transformedReply[reply[i].toString()] = reply[i + 1]; + } + return transformedReply; + } +}; +//# sourceMappingURL=PUBSUB_SHARDNUMSUB.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDNUMSUB.js.map b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDNUMSUB.js.map new file mode 100644 index 0000000..700aec0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/PUBSUB_SHARDNUMSUB.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PUBSUB_SHARDNUMSUB.js","sourceRoot":"","sources":["../../../lib/commands/PUBSUB_SHARDNUMSUB.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,QAAgC;QAClE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAErC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD;;;;;OAKG;IACH,cAAc,CAAC,KAA6D;QAC1E,MAAM,gBAAgB,GAAgC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE1E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,gBAAgB,CAAE,KAAK,CAAC,CAAC,CAAqB,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAgB,CAAC;QAC3F,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RANDOMKEY.d.ts b/back/node_modules/@redis/client/dist/lib/commands/RANDOMKEY.d.ts new file mode 100644 index 0000000..6f5e5c0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RANDOMKEY.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the RANDOMKEY command + * + * @param parser - The command parser + * @see https://redis.io/commands/randomkey/ + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=RANDOMKEY.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RANDOMKEY.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/RANDOMKEY.d.ts.map new file mode 100644 index 0000000..d1c3f6c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RANDOMKEY.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"RANDOMKEY.d.ts","sourceRoot":"","sources":["../../../lib/commands/RANDOMKEY.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;;IAKnD;;;;;OAKG;gDACkB,aAAa;mCAGY,WAAW;;AAZ3D,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RANDOMKEY.js b/back/node_modules/@redis/client/dist/lib/commands/RANDOMKEY.js new file mode 100644 index 0000000..28e798d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RANDOMKEY.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the RANDOMKEY command + * + * @param parser - The command parser + * @see https://redis.io/commands/randomkey/ + */ + parseCommand(parser) { + parser.push('RANDOMKEY'); + }, + transformReply: undefined +}; +//# sourceMappingURL=RANDOMKEY.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RANDOMKEY.js.map b/back/node_modules/@redis/client/dist/lib/commands/RANDOMKEY.js.map new file mode 100644 index 0000000..3610b95 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RANDOMKEY.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RANDOMKEY.js","sourceRoot":"","sources":["../../../lib/commands/RANDOMKEY.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3B,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/READONLY.d.ts b/back/node_modules/@redis/client/dist/lib/commands/READONLY.d.ts new file mode 100644 index 0000000..4b2e091 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/READONLY.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the READONLY command + * + * @param parser - The command parser + * @see https://redis.io/commands/readonly/ + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => SimpleStringReply; +}; +export default _default; +//# sourceMappingURL=READONLY.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/READONLY.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/READONLY.d.ts.map new file mode 100644 index 0000000..21ae825 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/READONLY.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"READONLY.d.ts","sourceRoot":"","sources":["../../../lib/commands/READONLY.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKzD;;;;;OAKG;gDACkB,aAAa;mCAGY,iBAAiB;;AAZjE,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/READONLY.js b/back/node_modules/@redis/client/dist/lib/commands/READONLY.js new file mode 100644 index 0000000..4003971 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/READONLY.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the READONLY command + * + * @param parser - The command parser + * @see https://redis.io/commands/readonly/ + */ + parseCommand(parser) { + parser.push('READONLY'); + }, + transformReply: undefined +}; +//# sourceMappingURL=READONLY.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/READONLY.js.map b/back/node_modules/@redis/client/dist/lib/commands/READONLY.js.map new file mode 100644 index 0000000..eaa796d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/READONLY.js.map @@ -0,0 +1 @@ +{"version":3,"file":"READONLY.js","sourceRoot":"","sources":["../../../lib/commands/READONLY.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1B,CAAC;IACD,cAAc,EAAE,SAA+C;CACrC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/READWRITE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/READWRITE.d.ts new file mode 100644 index 0000000..6881c91 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/READWRITE.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the READWRITE command + * + * @param parser - The command parser + * @see https://redis.io/commands/readwrite/ + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => SimpleStringReply; +}; +export default _default; +//# sourceMappingURL=READWRITE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/READWRITE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/READWRITE.d.ts.map new file mode 100644 index 0000000..3216bd8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/READWRITE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"READWRITE.d.ts","sourceRoot":"","sources":["../../../lib/commands/READWRITE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKzD;;;;;OAKG;gDACkB,aAAa;mCAGY,iBAAiB;;AAZjE,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/READWRITE.js b/back/node_modules/@redis/client/dist/lib/commands/READWRITE.js new file mode 100644 index 0000000..9828821 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/READWRITE.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the READWRITE command + * + * @param parser - The command parser + * @see https://redis.io/commands/readwrite/ + */ + parseCommand(parser) { + parser.push('READWRITE'); + }, + transformReply: undefined +}; +//# sourceMappingURL=READWRITE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/READWRITE.js.map b/back/node_modules/@redis/client/dist/lib/commands/READWRITE.js.map new file mode 100644 index 0000000..4b0bfa7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/READWRITE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"READWRITE.js","sourceRoot":"","sources":["../../../lib/commands/READWRITE.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3B,CAAC;IACD,cAAc,EAAE,SAA+C;CACrC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RENAME.d.ts b/back/node_modules/@redis/client/dist/lib/commands/RENAME.d.ts new file mode 100644 index 0000000..cff8eed --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RENAME.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the RENAME command + * + * @param parser - The command parser + * @param key - The key to rename + * @param newKey - The new key name + * @see https://redis.io/commands/rename/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, newKey: RedisArgument) => void; + readonly transformReply: () => SimpleStringReply; +}; +export default _default; +//# sourceMappingURL=RENAME.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RENAME.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/RENAME.d.ts.map new file mode 100644 index 0000000..3139556 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RENAME.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"RENAME.d.ts","sourceRoot":"","sources":["../../../lib/commands/RENAME.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;IAIxE;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,UAAU,aAAa;mCAI/B,iBAAiB;;AAdjE,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RENAME.js b/back/node_modules/@redis/client/dist/lib/commands/RENAME.js new file mode 100644 index 0000000..d91536c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RENAME.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the RENAME command + * + * @param parser - The command parser + * @param key - The key to rename + * @param newKey - The new key name + * @see https://redis.io/commands/rename/ + */ + parseCommand(parser, key, newKey) { + parser.push('RENAME'); + parser.pushKeys([key, newKey]); + }, + transformReply: undefined +}; +//# sourceMappingURL=RENAME.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RENAME.js.map b/back/node_modules/@redis/client/dist/lib/commands/RENAME.js.map new file mode 100644 index 0000000..97021ac --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RENAME.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RENAME.js","sourceRoot":"","sources":["../../../lib/commands/RENAME.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,MAAqB;QAC3E,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,cAAc,EAAE,SAA+C;CACrC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RENAMENX.d.ts b/back/node_modules/@redis/client/dist/lib/commands/RENAMENX.d.ts new file mode 100644 index 0000000..4c2e136 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RENAMENX.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the RENAMENX command + * + * @param parser - The command parser + * @param key - The key to rename + * @param newKey - The new key name, if it doesn't exist + * @see https://redis.io/commands/renamenx/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, newKey: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=RENAMENX.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RENAMENX.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/RENAMENX.d.ts.map new file mode 100644 index 0000000..cfc6a18 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RENAMENX.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"RENAMENX.d.ts","sourceRoot":"","sources":["../../../lib/commands/RENAMENX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;IAIlE;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,UAAU,aAAa;mCAI/B,WAAW;;AAd3D,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RENAMENX.js b/back/node_modules/@redis/client/dist/lib/commands/RENAMENX.js new file mode 100644 index 0000000..213bc2b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RENAMENX.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the RENAMENX command + * + * @param parser - The command parser + * @param key - The key to rename + * @param newKey - The new key name, if it doesn't exist + * @see https://redis.io/commands/renamenx/ + */ + parseCommand(parser, key, newKey) { + parser.push('RENAMENX'); + parser.pushKeys([key, newKey]); + }, + transformReply: undefined +}; +//# sourceMappingURL=RENAMENX.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RENAMENX.js.map b/back/node_modules/@redis/client/dist/lib/commands/RENAMENX.js.map new file mode 100644 index 0000000..0570573 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RENAMENX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RENAMENX.js","sourceRoot":"","sources":["../../../lib/commands/RENAMENX.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,MAAqB;QAC3E,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/REPLICAOF.d.ts b/back/node_modules/@redis/client/dist/lib/commands/REPLICAOF.d.ts new file mode 100644 index 0000000..6bad245 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/REPLICAOF.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the REPLICAOF command + * + * @param parser - The command parser + * @param host - The host of the master to replicate from + * @param port - The port of the master to replicate from + * @see https://redis.io/commands/replicaof/ + */ + readonly parseCommand: (this: void, parser: CommandParser, host: string, port: number) => void; + readonly transformReply: () => SimpleStringReply; +}; +export default _default; +//# sourceMappingURL=REPLICAOF.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/REPLICAOF.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/REPLICAOF.d.ts.map new file mode 100644 index 0000000..f66a5c1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/REPLICAOF.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"REPLICAOF.d.ts","sourceRoot":"","sources":["../../../lib/commands/REPLICAOF.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKzD;;;;;;;OAOG;gDACkB,aAAa,QAAQ,MAAM,QAAQ,MAAM;mCAGhB,iBAAiB;;AAdjE,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/REPLICAOF.js b/back/node_modules/@redis/client/dist/lib/commands/REPLICAOF.js new file mode 100644 index 0000000..0482fe3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/REPLICAOF.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the REPLICAOF command + * + * @param parser - The command parser + * @param host - The host of the master to replicate from + * @param port - The port of the master to replicate from + * @see https://redis.io/commands/replicaof/ + */ + parseCommand(parser, host, port) { + parser.push('REPLICAOF', host, port.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=REPLICAOF.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/REPLICAOF.js.map b/back/node_modules/@redis/client/dist/lib/commands/REPLICAOF.js.map new file mode 100644 index 0000000..a7dc8ea --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/REPLICAOF.js.map @@ -0,0 +1 @@ +{"version":3,"file":"REPLICAOF.js","sourceRoot":"","sources":["../../../lib/commands/REPLICAOF.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,IAAY,EAAE,IAAY;QAC5D,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,cAAc,EAAE,SAA+C;CACrC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RESTORE-ASKING.d.ts b/back/node_modules/@redis/client/dist/lib/commands/RESTORE-ASKING.d.ts new file mode 100644 index 0000000..53c4f23 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RESTORE-ASKING.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the RESTORE-ASKING command + * + * @param parser - The command parser + * @see https://redis.io/commands/restore-asking/ + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => SimpleStringReply; +}; +export default _default; +//# sourceMappingURL=RESTORE-ASKING.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RESTORE-ASKING.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/RESTORE-ASKING.d.ts.map new file mode 100644 index 0000000..3ef9c07 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RESTORE-ASKING.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"RESTORE-ASKING.d.ts","sourceRoot":"","sources":["../../../lib/commands/RESTORE-ASKING.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKzD;;;;;OAKG;gDACkB,aAAa;mCAGY,iBAAiB;;AAZjE,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RESTORE-ASKING.js b/back/node_modules/@redis/client/dist/lib/commands/RESTORE-ASKING.js new file mode 100644 index 0000000..6480213 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RESTORE-ASKING.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the RESTORE-ASKING command + * + * @param parser - The command parser + * @see https://redis.io/commands/restore-asking/ + */ + parseCommand(parser) { + parser.push('RESTORE-ASKING'); + }, + transformReply: undefined +}; +//# sourceMappingURL=RESTORE-ASKING.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RESTORE-ASKING.js.map b/back/node_modules/@redis/client/dist/lib/commands/RESTORE-ASKING.js.map new file mode 100644 index 0000000..9ffb12d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RESTORE-ASKING.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RESTORE-ASKING.js","sourceRoot":"","sources":["../../../lib/commands/RESTORE-ASKING.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAChC,CAAC;IACD,cAAc,EAAE,SAA+C;CACrC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RESTORE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/RESTORE.d.ts new file mode 100644 index 0000000..d841739 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RESTORE.d.ts @@ -0,0 +1,33 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, SimpleStringReply } from '../RESP/types'; +/** + * Options for the RESTORE command + * + * @property REPLACE - Replace existing key + * @property ABSTTL - Use the TTL value as absolute timestamp + * @property IDLETIME - Set the idle time (seconds) for the key + * @property FREQ - Set the frequency counter for LFU policy + */ +export interface RestoreOptions { + REPLACE?: boolean; + ABSTTL?: boolean; + IDLETIME?: number; + FREQ?: number; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the RESTORE command + * + * @param parser - The command parser + * @param key - The key to restore + * @param ttl - Time to live in milliseconds, 0 for no expiry + * @param serializedValue - The serialized value from DUMP command + * @param options - Options for the RESTORE command + * @see https://redis.io/commands/restore/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, ttl: number, serializedValue: RedisArgument, options?: RestoreOptions) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=RESTORE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RESTORE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/RESTORE.d.ts.map new file mode 100644 index 0000000..ea5b150 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RESTORE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"RESTORE.d.ts","sourceRoot":"","sources":["../../../lib/commands/RESTORE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;AAE1E;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;;;IAIC;;;;;;;;;OASG;gDAEO,aAAa,OAChB,aAAa,OACb,MAAM,mBACM,aAAa,YACpB,cAAc;mCAsBoB,kBAAkB,IAAI,CAAC;;AAvCvE,wBAwC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RESTORE.js b/back/node_modules/@redis/client/dist/lib/commands/RESTORE.js new file mode 100644 index 0000000..0a8edff --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RESTORE.js @@ -0,0 +1,34 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Constructs the RESTORE command + * + * @param parser - The command parser + * @param key - The key to restore + * @param ttl - Time to live in milliseconds, 0 for no expiry + * @param serializedValue - The serialized value from DUMP command + * @param options - Options for the RESTORE command + * @see https://redis.io/commands/restore/ + */ + parseCommand(parser, key, ttl, serializedValue, options) { + parser.push('RESTORE'); + parser.pushKey(key); + parser.push(ttl.toString(), serializedValue); + if (options?.REPLACE) { + parser.push('REPLACE'); + } + if (options?.ABSTTL) { + parser.push('ABSTTL'); + } + if (options?.IDLETIME) { + parser.push('IDLETIME', options.IDLETIME.toString()); + } + if (options?.FREQ) { + parser.push('FREQ', options.FREQ.toString()); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=RESTORE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RESTORE.js.map b/back/node_modules/@redis/client/dist/lib/commands/RESTORE.js.map new file mode 100644 index 0000000..d302b07 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RESTORE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RESTORE.js","sourceRoot":"","sources":["../../../lib/commands/RESTORE.ts"],"names":[],"mappings":";;AAkBA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;;OASG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,GAAW,EACX,eAA8B,EAC9B,OAAwB;QAExB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,eAAe,CAAC,CAAC;QAE7C,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;QAED,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ROLE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ROLE.d.ts new file mode 100644 index 0000000..c382570 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ROLE.d.ts @@ -0,0 +1,82 @@ +import { CommandParser } from '../client/parser'; +import { BlobStringReply, NumberReply, ArrayReply, TuplesReply, UnwrapReply } from '../RESP/types'; +/** + * Role information returned for a Redis master + */ +type MasterRole = [ + role: BlobStringReply<'master'>, + replicationOffest: NumberReply, + replicas: ArrayReply> +]; +/** + * Role information returned for a Redis slave + */ +type SlaveRole = [ + role: BlobStringReply<'slave'>, + masterHost: BlobStringReply, + masterPort: NumberReply, + state: BlobStringReply<'connect' | 'connecting' | 'sync' | 'connected'>, + dataReceived: NumberReply +]; +/** + * Role information returned for a Redis sentinel + */ +type SentinelRole = [ + role: BlobStringReply<'sentinel'>, + masterNames: ArrayReply +]; +/** + * Combined role type for Redis instance role information + */ +type Role = TuplesReply; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the ROLE command + * + * @param parser - The command parser + * @see https://redis.io/commands/role/ + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + /** + * Transforms the ROLE reply into a structured object + * + * @param reply - The raw reply from Redis + * @returns Structured object representing role information + */ + readonly transformReply: (this: void, reply: UnwrapReply) => { + role: BlobStringReply<"master">; + replicationOffest: NumberReply; + replicas: { + host: BlobStringReply; + port: number; + replicationOffest: number; + }[]; + master?: undefined; + state?: undefined; + dataReceived?: undefined; + masterNames?: undefined; + } | { + role: BlobStringReply<"slave">; + master: { + host: BlobStringReply; + port: NumberReply; + }; + state: BlobStringReply<"connect" | "connecting" | "sync" | "connected">; + dataReceived: NumberReply; + replicationOffest?: undefined; + replicas?: undefined; + masterNames?: undefined; + } | { + role: BlobStringReply<"sentinel">; + masterNames: ArrayReply>; + replicationOffest?: undefined; + replicas?: undefined; + master?: undefined; + state?: undefined; + dataReceived?: undefined; + } | undefined; +}; +export default _default; +//# sourceMappingURL=ROLE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ROLE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ROLE.d.ts.map new file mode 100644 index 0000000..044d951 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ROLE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ROLE.d.ts","sourceRoot":"","sources":["../../../lib/commands/ROLE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AAE5G;;GAEG;AACH,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC;IAC/B,iBAAiB,EAAE,WAAW;IAC9B,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC,CAAC;CACtH,CAAC;AAEF;;GAEG;AACH,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC;IAC9B,UAAU,EAAE,eAAe;IAC3B,UAAU,EAAE,WAAW;IACvB,KAAK,EAAE,eAAe,CAAC,SAAS,GAAG,YAAY,GAAG,MAAM,GAAG,WAAW,CAAC;IACvE,YAAY,EAAE,WAAW;CAC1B,CAAC;AAEF;;GAEG;AACH,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,eAAe,CAAC,UAAU,CAAC;IACjC,WAAW,EAAE,UAAU,CAAC,eAAe,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,KAAK,IAAI,GAAG,WAAW,CAAC,UAAU,GAAG,SAAS,GAAG,YAAY,CAAC,CAAC;;;;IAK7D;;;;;OAKG;gDACkB,aAAa;IAGlC;;;;;OAKG;iDACmB,YAAY,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAlBzC,wBA0D6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ROLE.js b/back/node_modules/@redis/client/dist/lib/commands/ROLE.js new file mode 100644 index 0000000..bf347d1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ROLE.js @@ -0,0 +1,60 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the ROLE command + * + * @param parser - The command parser + * @see https://redis.io/commands/role/ + */ + parseCommand(parser) { + parser.push('ROLE'); + }, + /** + * Transforms the ROLE reply into a structured object + * + * @param reply - The raw reply from Redis + * @returns Structured object representing role information + */ + transformReply(reply) { + switch (reply[0]) { + case 'master': { + const [role, replicationOffest, replicas] = reply; + return { + role, + replicationOffest, + replicas: replicas.map(replica => { + const [host, port, replicationOffest] = replica; + return { + host, + port: Number(port), + replicationOffest: Number(replicationOffest) + }; + }) + }; + } + case 'slave': { + const [role, masterHost, masterPort, state, dataReceived] = reply; + return { + role, + master: { + host: masterHost, + port: masterPort + }, + state, + dataReceived, + }; + } + case 'sentinel': { + const [role, masterNames] = reply; + return { + role, + masterNames + }; + } + } + } +}; +//# sourceMappingURL=ROLE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ROLE.js.map b/back/node_modules/@redis/client/dist/lib/commands/ROLE.js.map new file mode 100644 index 0000000..a019bb1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ROLE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ROLE.js","sourceRoot":"","sources":["../../../lib/commands/ROLE.ts"],"names":[],"mappings":";;AAoCA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IACD;;;;;OAKG;IACH,cAAc,CAAC,KAAwB;QACrC,QAAQ,KAAK,CAAC,CAAC,CAA4C,EAAE,CAAC;YAC5D,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,CAAC,GAAG,KAAmB,CAAC;gBAChE,OAAO;oBACL,IAAI;oBACJ,iBAAiB;oBACjB,QAAQ,EAAG,QAAoD,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;wBAC5E,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,iBAAiB,CAAC,GAAG,OAAiD,CAAC;wBAC1F,OAAO;4BACL,IAAI;4BACJ,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;4BAClB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;yBAC7C,CAAC;oBACJ,CAAC,CAAC;iBACH,CAAC;YACJ,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,GAAG,KAAkB,CAAC;gBAC/E,OAAO;oBACL,IAAI;oBACJ,MAAM,EAAE;wBACN,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,UAAU;qBACjB;oBACD,KAAK;oBACL,YAAY;iBACb,CAAC;YACJ,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,KAAqB,CAAC;gBAClD,OAAO;oBACL,IAAI;oBACJ,WAAW;iBACZ,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RPOP.d.ts b/back/node_modules/@redis/client/dist/lib/commands/RPOP.d.ts new file mode 100644 index 0000000..dc6576c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RPOP.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply, NullReply } from '../RESP/types'; +declare const _default: { + /** + * Constructs the RPOP command + * + * @param parser - The command parser + * @param key - The list key to pop from + * @see https://redis.io/commands/rpop/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => BlobStringReply | NullReply; +}; +export default _default; +//# sourceMappingURL=RPOP.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RPOP.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/RPOP.d.ts.map new file mode 100644 index 0000000..95089d7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RPOP.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"RPOP.d.ts","sourceRoot":"","sources":["../../../lib/commands/RPOP.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;;IAGjF;;;;;;OAMG;gDACkB,aAAa,OAAO,aAAa;mCAIR,eAAe,GAAG,SAAS;;AAZ3E,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RPOP.js b/back/node_modules/@redis/client/dist/lib/commands/RPOP.js new file mode 100644 index 0000000..8fd6e36 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RPOP.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Constructs the RPOP command + * + * @param parser - The command parser + * @param key - The list key to pop from + * @see https://redis.io/commands/rpop/ + */ + parseCommand(parser, key) { + parser.push('RPOP'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=RPOP.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RPOP.js.map b/back/node_modules/@redis/client/dist/lib/commands/RPOP.js.map new file mode 100644 index 0000000..fcb0a41 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RPOP.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RPOP.js","sourceRoot":"","sources":["../../../lib/commands/RPOP.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RPOPLPUSH.d.ts b/back/node_modules/@redis/client/dist/lib/commands/RPOPLPUSH.d.ts new file mode 100644 index 0000000..4b556ba --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RPOPLPUSH.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply, NullReply } from '../RESP/types'; +declare const _default: { + /** + * Constructs the RPOPLPUSH command + * + * @param parser - The command parser + * @param source - The source list key + * @param destination - The destination list key + * @see https://redis.io/commands/rpoplpush/ + */ + readonly parseCommand: (this: void, parser: CommandParser, source: RedisArgument, destination: RedisArgument) => void; + readonly transformReply: () => BlobStringReply | NullReply; +}; +export default _default; +//# sourceMappingURL=RPOPLPUSH.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RPOPLPUSH.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/RPOPLPUSH.d.ts.map new file mode 100644 index 0000000..a26428f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RPOPLPUSH.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"RPOPLPUSH.d.ts","sourceRoot":"","sources":["../../../lib/commands/RPOPLPUSH.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;;IAGjF;;;;;;;OAOG;gDACkB,aAAa,UAAU,aAAa,eAAe,aAAa;mCAIvC,eAAe,GAAG,SAAS;;AAb3E,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RPOPLPUSH.js b/back/node_modules/@redis/client/dist/lib/commands/RPOPLPUSH.js new file mode 100644 index 0000000..c69f197 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RPOPLPUSH.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Constructs the RPOPLPUSH command + * + * @param parser - The command parser + * @param source - The source list key + * @param destination - The destination list key + * @see https://redis.io/commands/rpoplpush/ + */ + parseCommand(parser, source, destination) { + parser.push('RPOPLPUSH'); + parser.pushKeys([source, destination]); + }, + transformReply: undefined +}; +//# sourceMappingURL=RPOPLPUSH.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RPOPLPUSH.js.map b/back/node_modules/@redis/client/dist/lib/commands/RPOPLPUSH.js.map new file mode 100644 index 0000000..1ddf457 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RPOPLPUSH.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RPOPLPUSH.js","sourceRoot":"","sources":["../../../lib/commands/RPOPLPUSH.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,MAAqB,EAAE,WAA0B;QACnF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RPOP_COUNT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/RPOP_COUNT.d.ts new file mode 100644 index 0000000..cf25cb2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RPOP_COUNT.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply, NullReply } from '../RESP/types'; +declare const _default: { + /** + * Constructs the RPOP command with count parameter + * + * @param parser - The command parser + * @param key - The list key to pop from + * @param count - The number of elements to pop + * @see https://redis.io/commands/rpop/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, count: number) => void; + readonly transformReply: () => ArrayReply | NullReply; +}; +export default _default; +//# sourceMappingURL=RPOP_COUNT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RPOP_COUNT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/RPOP_COUNT.d.ts.map new file mode 100644 index 0000000..9303622 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RPOP_COUNT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"RPOP_COUNT.d.ts","sourceRoot":"","sources":["../../../lib/commands/RPOP_COUNT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;;IAG7F;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,SAAS,MAAM;mCAKvB,WAAW,eAAe,CAAC,GAAG,SAAS;;AAdvF,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RPOP_COUNT.js b/back/node_modules/@redis/client/dist/lib/commands/RPOP_COUNT.js new file mode 100644 index 0000000..068d671 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RPOP_COUNT.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Constructs the RPOP command with count parameter + * + * @param parser - The command parser + * @param key - The list key to pop from + * @param count - The number of elements to pop + * @see https://redis.io/commands/rpop/ + */ + parseCommand(parser, key, count) { + parser.push('RPOP'); + parser.pushKey(key); + parser.push(count.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=RPOP_COUNT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RPOP_COUNT.js.map b/back/node_modules/@redis/client/dist/lib/commands/RPOP_COUNT.js.map new file mode 100644 index 0000000..01aa033 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RPOP_COUNT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RPOP_COUNT.js","sourceRoot":"","sources":["../../../lib/commands/RPOP_COUNT.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAa;QACnE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,cAAc,EAAE,SAAqE;CAC3D,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RPUSH.d.ts b/back/node_modules/@redis/client/dist/lib/commands/RPUSH.d.ts new file mode 100644 index 0000000..e190dfe --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RPUSH.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + /** + * Constructs the RPUSH command + * + * @param parser - The command parser + * @param key - The list key to push to + * @param element - One or more elements to push + * @see https://redis.io/commands/rpush/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, element: RedisVariadicArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=RPUSH.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RPUSH.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/RPUSH.d.ts.map new file mode 100644 index 0000000..434c46d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RPUSH.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"RPUSH.d.ts","sourceRoot":"","sources":["../../../lib/commands/RPUSH.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;IAG7D;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,WAAW,qBAAqB;mCAKxC,WAAW;;AAd3D,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RPUSH.js b/back/node_modules/@redis/client/dist/lib/commands/RPUSH.js new file mode 100644 index 0000000..981bc5d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RPUSH.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Constructs the RPUSH command + * + * @param parser - The command parser + * @param key - The list key to push to + * @param element - One or more elements to push + * @see https://redis.io/commands/rpush/ + */ + parseCommand(parser, key, element) { + parser.push('RPUSH'); + parser.pushKey(key); + parser.pushVariadic(element); + }, + transformReply: undefined +}; +//# sourceMappingURL=RPUSH.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RPUSH.js.map b/back/node_modules/@redis/client/dist/lib/commands/RPUSH.js.map new file mode 100644 index 0000000..2f08a90 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RPUSH.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RPUSH.js","sourceRoot":"","sources":["../../../lib/commands/RPUSH.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,OAA8B;QACpF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RPUSHX.d.ts b/back/node_modules/@redis/client/dist/lib/commands/RPUSHX.d.ts new file mode 100644 index 0000000..848ee45 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RPUSHX.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + /** + * Constructs the RPUSHX command + * + * @param parser - The command parser + * @param key - The list key to push to (only if it exists) + * @param element - One or more elements to push + * @see https://redis.io/commands/rpushx/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, element: RedisVariadicArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=RPUSHX.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RPUSHX.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/RPUSHX.d.ts.map new file mode 100644 index 0000000..7d50265 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RPUSHX.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"RPUSHX.d.ts","sourceRoot":"","sources":["../../../lib/commands/RPUSHX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;IAG7D;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,WAAW,qBAAqB;mCAKxC,WAAW;;AAd3D,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RPUSHX.js b/back/node_modules/@redis/client/dist/lib/commands/RPUSHX.js new file mode 100644 index 0000000..64043c6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RPUSHX.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Constructs the RPUSHX command + * + * @param parser - The command parser + * @param key - The list key to push to (only if it exists) + * @param element - One or more elements to push + * @see https://redis.io/commands/rpushx/ + */ + parseCommand(parser, key, element) { + parser.push('RPUSHX'); + parser.pushKey(key); + parser.pushVariadic(element); + }, + transformReply: undefined +}; +//# sourceMappingURL=RPUSHX.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/RPUSHX.js.map b/back/node_modules/@redis/client/dist/lib/commands/RPUSHX.js.map new file mode 100644 index 0000000..076b81c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/RPUSHX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RPUSHX.js","sourceRoot":"","sources":["../../../lib/commands/RPUSHX.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,OAA8B;QACpF,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SADD.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SADD.d.ts new file mode 100644 index 0000000..df6c8ca --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SADD.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + /** + * Constructs the SADD command + * + * @param parser - The command parser + * @param key - The set key to add members to + * @param members - One or more members to add to the set + * @see https://redis.io/commands/sadd/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, members: RedisVariadicArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=SADD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SADD.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SADD.d.ts.map new file mode 100644 index 0000000..69dde2f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SADD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SADD.d.ts","sourceRoot":"","sources":["../../../lib/commands/SADD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;IAG7D;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,WAAW,qBAAqB;mCAKxC,WAAW;;AAd3D,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SADD.js b/back/node_modules/@redis/client/dist/lib/commands/SADD.js new file mode 100644 index 0000000..4bbadf8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SADD.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Constructs the SADD command + * + * @param parser - The command parser + * @param key - The set key to add members to + * @param members - One or more members to add to the set + * @see https://redis.io/commands/sadd/ + */ + parseCommand(parser, key, members) { + parser.push('SADD'); + parser.pushKey(key); + parser.pushVariadic(members); + }, + transformReply: undefined +}; +//# sourceMappingURL=SADD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SADD.js.map b/back/node_modules/@redis/client/dist/lib/commands/SADD.js.map new file mode 100644 index 0000000..2b7d43c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SADD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SADD.js","sourceRoot":"","sources":["../../../lib/commands/SADD.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,OAA8B;QACpF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SAVE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SAVE.d.ts new file mode 100644 index 0000000..11495fd --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SAVE.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the SAVE command + * + * @param parser - The command parser + * @see https://redis.io/commands/save/ + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => SimpleStringReply; +}; +export default _default; +//# sourceMappingURL=SAVE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SAVE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SAVE.d.ts.map new file mode 100644 index 0000000..97fdb70 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SAVE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SAVE.d.ts","sourceRoot":"","sources":["../../../lib/commands/SAVE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKzD;;;;;OAKG;gDACkB,aAAa;mCAGY,iBAAiB;;AAZjE,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SAVE.js b/back/node_modules/@redis/client/dist/lib/commands/SAVE.js new file mode 100644 index 0000000..522e1c2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SAVE.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the SAVE command + * + * @param parser - The command parser + * @see https://redis.io/commands/save/ + */ + parseCommand(parser) { + parser.push('SAVE'); + }, + transformReply: undefined +}; +//# sourceMappingURL=SAVE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SAVE.js.map b/back/node_modules/@redis/client/dist/lib/commands/SAVE.js.map new file mode 100644 index 0000000..5c9ef31 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SAVE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SAVE.js","sourceRoot":"","sources":["../../../lib/commands/SAVE.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAA+C;CACrC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SCAN.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SCAN.d.ts new file mode 100644 index 0000000..fdf98ef --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SCAN.d.ts @@ -0,0 +1,62 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, CommandArguments, BlobStringReply, ArrayReply } from '../RESP/types'; +/** + * Common options for SCAN-type commands + * + * @property MATCH - Pattern to filter returned keys + * @property COUNT - Hint for how many elements to return per iteration + */ +export interface ScanCommonOptions { + MATCH?: string; + COUNT?: number; +} +/** + * Parses scan arguments for SCAN-type commands + * + * @param parser - The command parser + * @param cursor - The cursor position for iteration + * @param options - Scan options + */ +export declare function parseScanArguments(parser: CommandParser, cursor: RedisArgument, options?: ScanOptions): void; +/** + * Pushes scan arguments to the command arguments array + * + * @param args - The command arguments array + * @param cursor - The cursor position for iteration + * @param options - Scan options + * @returns The updated command arguments array + */ +export declare function pushScanArguments(args: CommandArguments, cursor: RedisArgument, options?: ScanOptions): CommandArguments; +/** + * Options for the SCAN command + * + * @property TYPE - Filter by value type + */ +export interface ScanOptions extends ScanCommonOptions { + TYPE?: RedisArgument; +} +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the SCAN command + * + * @param parser - The command parser + * @param cursor - The cursor position to start scanning from + * @param options - Scan options + * @see https://redis.io/commands/scan/ + */ + readonly parseCommand: (this: void, parser: CommandParser, cursor: RedisArgument, options?: ScanOptions) => void; + /** + * Transforms the SCAN reply into a structured object + * + * @param reply - The raw reply containing cursor and keys + * @returns Object with cursor and keys properties + */ + readonly transformReply: (this: void, [cursor, keys]: [BlobStringReply, ArrayReply]) => { + cursor: BlobStringReply; + keys: ArrayReply>; + }; +}; +export default _default; +//# sourceMappingURL=SCAN.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SCAN.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SCAN.d.ts.map new file mode 100644 index 0000000..7a7ca42 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SCAN.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SCAN.d.ts","sourceRoot":"","sources":["../../../lib/commands/SCAN.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,UAAU,EAAW,MAAM,eAAe,CAAC;AAEtG;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,aAAa,EACrB,OAAO,CAAC,EAAE,WAAW,QAUtB;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,aAAa,EACrB,OAAO,CAAC,EAAE,WAAW,GACpB,gBAAgB,CAYlB;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAY,SAAQ,iBAAiB;IACpD,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;;;;IAKC;;;;;;;OAOG;gDACkB,aAAa,UAAU,aAAa,YAAY,WAAW;IAQhF;;;;;OAKG;0DAC4B,CAAC,eAAe,EAAE,WAAW,eAAe,CAAC,CAAC;;;;;AAzB/E,wBA+B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SCAN.js b/back/node_modules/@redis/client/dist/lib/commands/SCAN.js new file mode 100644 index 0000000..48e3d94 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SCAN.js @@ -0,0 +1,71 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.pushScanArguments = exports.parseScanArguments = void 0; +/** + * Parses scan arguments for SCAN-type commands + * + * @param parser - The command parser + * @param cursor - The cursor position for iteration + * @param options - Scan options + */ +function parseScanArguments(parser, cursor, options) { + parser.push(cursor); + if (options?.MATCH) { + parser.push('MATCH', options.MATCH); + } + if (options?.COUNT) { + parser.push('COUNT', options.COUNT.toString()); + } +} +exports.parseScanArguments = parseScanArguments; +/** + * Pushes scan arguments to the command arguments array + * + * @param args - The command arguments array + * @param cursor - The cursor position for iteration + * @param options - Scan options + * @returns The updated command arguments array + */ +function pushScanArguments(args, cursor, options) { + args.push(cursor.toString()); + if (options?.MATCH) { + args.push('MATCH', options.MATCH); + } + if (options?.COUNT) { + args.push('COUNT', options.COUNT.toString()); + } + return args; +} +exports.pushScanArguments = pushScanArguments; +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the SCAN command + * + * @param parser - The command parser + * @param cursor - The cursor position to start scanning from + * @param options - Scan options + * @see https://redis.io/commands/scan/ + */ + parseCommand(parser, cursor, options) { + parser.push('SCAN'); + parseScanArguments(parser, cursor, options); + if (options?.TYPE) { + parser.push('TYPE', options.TYPE); + } + }, + /** + * Transforms the SCAN reply into a structured object + * + * @param reply - The raw reply containing cursor and keys + * @returns Object with cursor and keys properties + */ + transformReply([cursor, keys]) { + return { + cursor, + keys + }; + } +}; +//# sourceMappingURL=SCAN.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SCAN.js.map b/back/node_modules/@redis/client/dist/lib/commands/SCAN.js.map new file mode 100644 index 0000000..4a60c63 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SCAN.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SCAN.js","sourceRoot":"","sources":["../../../lib/commands/SCAN.ts"],"names":[],"mappings":";;;AAcA;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAChC,MAAqB,EACrB,MAAqB,EACrB,OAAqB;IAErB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpB,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAbD,gDAaC;AAED;;;;;;;GAOG;AACH,SAAgB,iBAAiB,CAC/B,IAAsB,EACtB,MAAqB,EACrB,OAAqB;IAErB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE7B,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAhBD,8CAgBC;AAWD,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,MAAqB,EAAE,OAAqB;QAC9E,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAE5C,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD;;;;;OAKG;IACH,cAAc,CAAC,CAAC,MAAM,EAAE,IAAI,CAAiD;QAC3E,OAAO;YACL,MAAM;YACN,IAAI;SACL,CAAC;IACJ,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SCARD.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SCARD.d.ts new file mode 100644 index 0000000..745bf76 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SCARD.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the SCARD command + * + * @param parser - The command parser + * @param key - The set key to get the cardinality of + * @see https://redis.io/commands/scard/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=SCARD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SCARD.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SCARD.d.ts.map new file mode 100644 index 0000000..cd0e526 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SCARD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SCARD.d.ts","sourceRoot":"","sources":["../../../lib/commands/SCARD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;;IAKlE;;;;;;OAMG;gDACkB,aAAa,OAAO,aAAa;mCAIR,WAAW;;AAd3D,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SCARD.js b/back/node_modules/@redis/client/dist/lib/commands/SCARD.js new file mode 100644 index 0000000..0dad3a6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SCARD.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Constructs the SCARD command + * + * @param parser - The command parser + * @param key - The set key to get the cardinality of + * @see https://redis.io/commands/scard/ + */ + parseCommand(parser, key) { + parser.push('SCARD'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=SCARD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SCARD.js.map b/back/node_modules/@redis/client/dist/lib/commands/SCARD.js.map new file mode 100644 index 0000000..6303055 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SCARD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SCARD.js","sourceRoot":"","sources":["../../../lib/commands/SCARD.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_DEBUG.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_DEBUG.d.ts new file mode 100644 index 0000000..72ab6e7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_DEBUG.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the SCRIPT DEBUG command + * + * @param parser - The command parser + * @param mode - Debug mode: YES, SYNC, or NO + * @see https://redis.io/commands/script-debug/ + */ + readonly parseCommand: (this: void, parser: CommandParser, mode: 'YES' | 'SYNC' | 'NO') => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=SCRIPT_DEBUG.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_DEBUG.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_DEBUG.d.ts.map new file mode 100644 index 0000000..ad74148 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_DEBUG.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SCRIPT_DEBUG.d.ts","sourceRoot":"","sources":["../../../lib/commands/SCRIPT_DEBUG.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKzD;;;;;;OAMG;gDACkB,aAAa,QAAQ,KAAK,GAAG,MAAM,GAAG,IAAI;mCAGjB,kBAAkB,IAAI,CAAC;;AAbvE,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_DEBUG.js b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_DEBUG.js new file mode 100644 index 0000000..0cecf36 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_DEBUG.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the SCRIPT DEBUG command + * + * @param parser - The command parser + * @param mode - Debug mode: YES, SYNC, or NO + * @see https://redis.io/commands/script-debug/ + */ + parseCommand(parser, mode) { + parser.push('SCRIPT', 'DEBUG', mode); + }, + transformReply: undefined +}; +//# sourceMappingURL=SCRIPT_DEBUG.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_DEBUG.js.map b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_DEBUG.js.map new file mode 100644 index 0000000..826af91 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_DEBUG.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SCRIPT_DEBUG.js","sourceRoot":"","sources":["../../../lib/commands/SCRIPT_DEBUG.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,IAA2B;QAC7D,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_EXISTS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_EXISTS.d.ts new file mode 100644 index 0000000..c219882 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_EXISTS.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { ArrayReply, NumberReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the SCRIPT EXISTS command + * + * @param parser - The command parser + * @param sha1 - One or more SHA1 digests of scripts + * @see https://redis.io/commands/script-exists/ + */ + readonly parseCommand: (this: void, parser: CommandParser, sha1: RedisVariadicArgument) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=SCRIPT_EXISTS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_EXISTS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_EXISTS.d.ts.map new file mode 100644 index 0000000..bb4e2fe --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_EXISTS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SCRIPT_EXISTS.d.ts","sourceRoot":"","sources":["../../../lib/commands/SCRIPT_EXISTS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;;IAK7D;;;;;;OAMG;gDACkB,aAAa,QAAQ,qBAAqB;mCAIjB,WAAW,WAAW,CAAC;;AAdvE,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_EXISTS.js b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_EXISTS.js new file mode 100644 index 0000000..408d377 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_EXISTS.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the SCRIPT EXISTS command + * + * @param parser - The command parser + * @param sha1 - One or more SHA1 digests of scripts + * @see https://redis.io/commands/script-exists/ + */ + parseCommand(parser, sha1) { + parser.push('SCRIPT', 'EXISTS'); + parser.pushVariadic(sha1); + }, + transformReply: undefined +}; +//# sourceMappingURL=SCRIPT_EXISTS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_EXISTS.js.map b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_EXISTS.js.map new file mode 100644 index 0000000..9336fc7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_EXISTS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SCRIPT_EXISTS.js","sourceRoot":"","sources":["../../../lib/commands/SCRIPT_EXISTS.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,IAA2B;QAC7D,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_FLUSH.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_FLUSH.d.ts new file mode 100644 index 0000000..1a25b5d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_FLUSH.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the SCRIPT FLUSH command + * + * @param parser - The command parser + * @param mode - Optional flush mode: ASYNC or SYNC + * @see https://redis.io/commands/script-flush/ + */ + readonly parseCommand: (this: void, parser: CommandParser, mode?: 'ASYNC' | 'SYNC') => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=SCRIPT_FLUSH.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_FLUSH.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_FLUSH.d.ts.map new file mode 100644 index 0000000..7c78d00 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_FLUSH.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SCRIPT_FLUSH.d.ts","sourceRoot":"","sources":["../../../lib/commands/SCRIPT_FLUSH.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKzD;;;;;;OAMG;gDACkB,aAAa,SAAS,OAAO,GAAG,MAAM;mCAOb,kBAAkB,IAAI,CAAC;;AAjBvE,wBAkB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_FLUSH.js b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_FLUSH.js new file mode 100644 index 0000000..653c324 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_FLUSH.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the SCRIPT FLUSH command + * + * @param parser - The command parser + * @param mode - Optional flush mode: ASYNC or SYNC + * @see https://redis.io/commands/script-flush/ + */ + parseCommand(parser, mode) { + parser.push('SCRIPT', 'FLUSH'); + if (mode) { + parser.push(mode); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=SCRIPT_FLUSH.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_FLUSH.js.map b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_FLUSH.js.map new file mode 100644 index 0000000..1c01886 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_FLUSH.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SCRIPT_FLUSH.js","sourceRoot":"","sources":["../../../lib/commands/SCRIPT_FLUSH.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,IAAuB;QACzD,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE/B,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_KILL.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_KILL.d.ts new file mode 100644 index 0000000..7f4559d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_KILL.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the SCRIPT KILL command + * + * @param parser - The command parser + * @see https://redis.io/commands/script-kill/ + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=SCRIPT_KILL.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_KILL.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_KILL.d.ts.map new file mode 100644 index 0000000..bf8a001 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_KILL.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SCRIPT_KILL.d.ts","sourceRoot":"","sources":["../../../lib/commands/SCRIPT_KILL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKzD;;;;;OAKG;gDACkB,aAAa;mCAGY,kBAAkB,IAAI,CAAC;;AAZvE,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_KILL.js b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_KILL.js new file mode 100644 index 0000000..f3934b1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_KILL.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the SCRIPT KILL command + * + * @param parser - The command parser + * @see https://redis.io/commands/script-kill/ + */ + parseCommand(parser) { + parser.push('SCRIPT', 'KILL'); + }, + transformReply: undefined +}; +//# sourceMappingURL=SCRIPT_KILL.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_KILL.js.map b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_KILL.js.map new file mode 100644 index 0000000..38e3592 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_KILL.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SCRIPT_KILL.js","sourceRoot":"","sources":["../../../lib/commands/SCRIPT_KILL.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_LOAD.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_LOAD.d.ts new file mode 100644 index 0000000..f52313f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_LOAD.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { BlobStringReply, RedisArgument } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the SCRIPT LOAD command + * + * @param parser - The command parser + * @param script - The Lua script to load + * @see https://redis.io/commands/script-load/ + */ + readonly parseCommand: (this: void, parser: CommandParser, script: RedisArgument) => void; + readonly transformReply: () => BlobStringReply; +}; +export default _default; +//# sourceMappingURL=SCRIPT_LOAD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_LOAD.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_LOAD.d.ts.map new file mode 100644 index 0000000..9b8e354 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_LOAD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SCRIPT_LOAD.d.ts","sourceRoot":"","sources":["../../../lib/commands/SCRIPT_LOAD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAW,aAAa,EAAE,MAAM,eAAe,CAAC;;;;IAKtE;;;;;;OAMG;gDACkB,aAAa,UAAU,aAAa;mCAGX,eAAe;;AAb/D,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_LOAD.js b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_LOAD.js new file mode 100644 index 0000000..8419f05 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_LOAD.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the SCRIPT LOAD command + * + * @param parser - The command parser + * @param script - The Lua script to load + * @see https://redis.io/commands/script-load/ + */ + parseCommand(parser, script) { + parser.push('SCRIPT', 'LOAD', script); + }, + transformReply: undefined +}; +//# sourceMappingURL=SCRIPT_LOAD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_LOAD.js.map b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_LOAD.js.map new file mode 100644 index 0000000..93547bd --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SCRIPT_LOAD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SCRIPT_LOAD.js","sourceRoot":"","sources":["../../../lib/commands/SCRIPT_LOAD.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,MAAqB;QACvD,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,cAAc,EAAE,SAA6C;CACnC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SDIFF.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SDIFF.d.ts new file mode 100644 index 0000000..69ef070 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SDIFF.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { ArrayReply, BlobStringReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the SDIFF command + * + * @param parser - The command parser + * @param keys - One or more set keys to compute the difference from + * @see https://redis.io/commands/sdiff/ + */ + readonly parseCommand: (this: void, parser: CommandParser, keys: RedisVariadicArgument) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=SDIFF.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SDIFF.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SDIFF.d.ts.map new file mode 100644 index 0000000..ee99250 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SDIFF.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SDIFF.d.ts","sourceRoot":"","sources":["../../../lib/commands/SDIFF.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;;IAK7D;;;;;;OAMG;gDACkB,aAAa,QAAQ,qBAAqB;mCAIjB,WAAW,eAAe,CAAC;;AAd3E,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SDIFF.js b/back/node_modules/@redis/client/dist/lib/commands/SDIFF.js new file mode 100644 index 0000000..e442bb5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SDIFF.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Constructs the SDIFF command + * + * @param parser - The command parser + * @param keys - One or more set keys to compute the difference from + * @see https://redis.io/commands/sdiff/ + */ + parseCommand(parser, keys) { + parser.push('SDIFF'); + parser.pushKeys(keys); + }, + transformReply: undefined +}; +//# sourceMappingURL=SDIFF.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SDIFF.js.map b/back/node_modules/@redis/client/dist/lib/commands/SDIFF.js.map new file mode 100644 index 0000000..42a367b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SDIFF.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SDIFF.js","sourceRoot":"","sources":["../../../lib/commands/SDIFF.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,IAA2B;QAC7D,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SDIFFSTORE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SDIFFSTORE.d.ts new file mode 100644 index 0000000..c0cff04 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SDIFFSTORE.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + /** + * Constructs the SDIFFSTORE command + * + * @param parser - The command parser + * @param destination - The destination key to store the result + * @param keys - One or more set keys to compute the difference from + * @see https://redis.io/commands/sdiffstore/ + */ + readonly parseCommand: (this: void, parser: CommandParser, destination: RedisArgument, keys: RedisVariadicArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=SDIFFSTORE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SDIFFSTORE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SDIFFSTORE.d.ts.map new file mode 100644 index 0000000..e7564df --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SDIFFSTORE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SDIFFSTORE.d.ts","sourceRoot":"","sources":["../../../lib/commands/SDIFFSTORE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;IAG7D;;;;;;;OAOG;gDACkB,aAAa,eAAe,aAAa,QAAQ,qBAAqB;mCAK7C,WAAW;;AAd3D,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SDIFFSTORE.js b/back/node_modules/@redis/client/dist/lib/commands/SDIFFSTORE.js new file mode 100644 index 0000000..1a1ab80 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SDIFFSTORE.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Constructs the SDIFFSTORE command + * + * @param parser - The command parser + * @param destination - The destination key to store the result + * @param keys - One or more set keys to compute the difference from + * @see https://redis.io/commands/sdiffstore/ + */ + parseCommand(parser, destination, keys) { + parser.push('SDIFFSTORE'); + parser.pushKey(destination); + parser.pushKeys(keys); + }, + transformReply: undefined +}; +//# sourceMappingURL=SDIFFSTORE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SDIFFSTORE.js.map b/back/node_modules/@redis/client/dist/lib/commands/SDIFFSTORE.js.map new file mode 100644 index 0000000..7d00b5b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SDIFFSTORE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SDIFFSTORE.js","sourceRoot":"","sources":["../../../lib/commands/SDIFFSTORE.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,WAA0B,EAAE,IAA2B;QACzF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SET.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SET.d.ts new file mode 100644 index 0000000..e419fe8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SET.d.ts @@ -0,0 +1,71 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, SimpleStringReply, BlobStringReply, NullReply } from '../RESP/types'; +export interface SetOptions { + expiration?: { + type: 'EX' | 'PX' | 'EXAT' | 'PXAT'; + value: number; + } | { + type: 'KEEPTTL'; + } | 'KEEPTTL'; + /** + * @deprecated Use `expiration` { type: 'EX', value: number } instead + */ + EX?: number; + /** + * @deprecated Use `expiration` { type: 'PX', value: number } instead + */ + PX?: number; + /** + * @deprecated Use `expiration` { type: 'EXAT', value: number } instead + */ + EXAT?: number; + /** + * @deprecated Use `expiration` { type: 'PXAT', value: number } instead + */ + PXAT?: number; + /** + * @deprecated Use `expiration` 'KEEPTTL' instead + */ + KEEPTTL?: boolean; + /** + * Condition for setting the key: + * - `NX` - Set if key does not exist + * - `XX` - Set if key already exists + * + * @experimental + * + * - `IFEQ` - Set if current value equals match-value (since 8.4, requires `matchValue`) + * - `IFNE` - Set if current value does not equal match-value (since 8.4, requires `matchValue`) + * - `IFDEQ` - Set if current value digest equals match-digest (since 8.4, requires `matchValue`) + * - `IFDNE` - Set if current value digest does not equal match-digest (since 8.4, requires `matchValue`) + */ + condition?: 'NX' | 'XX' | 'IFEQ' | 'IFNE' | 'IFDEQ' | 'IFDNE'; + /** + * Value or digest to compare against. Required when using `IFEQ`, `IFNE`, `IFDEQ`, or `IFDNE` conditions. + */ + matchValue?: RedisArgument; + /** + * @deprecated Use `{ condition: 'NX' }` instead. + */ + NX?: boolean; + /** + * @deprecated Use `{ condition: 'XX' }` instead. + */ + XX?: boolean; + GET?: boolean; +} +declare const _default: { + /** + * Constructs the SET command + * + * @param parser - The command parser + * @param key - The key to set + * @param value - The value to set + * @param options - Additional options for the SET command + * @see https://redis.io/commands/set/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, value: RedisArgument | number, options?: SetOptions) => void; + readonly transformReply: () => SimpleStringReply<'OK'> | BlobStringReply | NullReply; +}; +export default _default; +//# sourceMappingURL=SET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SET.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SET.d.ts.map new file mode 100644 index 0000000..1b59811 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SET.d.ts","sourceRoot":"","sources":["../../../lib/commands/SET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;AAEtG,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;QACpC,KAAK,EAAE,MAAM,CAAC;KACf,GAAG;QACF,IAAI,EAAE,SAAS,CAAC;KACjB,GAAG,SAAS,CAAC;IACd;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;;;;;;;MAWE;IACF,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,GAAI,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IAE/D;;MAEE;IACF,UAAU,CAAC,EAAE,aAAa,CAAC;IAE3B;;OAEG;IACH,EAAE,CAAC,EAAE,OAAO,CAAC;IACb;;OAEG;IACH,EAAE,CAAC,EAAE,OAAO,CAAC;IAEb,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;;IAGC;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa,SAAS,aAAa,GAAG,MAAM,YAAY,UAAU;mCA2C7D,kBAAkB,IAAI,CAAC,GAAG,eAAe,GAAG,SAAS;;AArDrG,wBAsD6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SET.js b/back/node_modules/@redis/client/dist/lib/commands/SET.js new file mode 100644 index 0000000..c4e035f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SET.js @@ -0,0 +1,61 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Constructs the SET command + * + * @param parser - The command parser + * @param key - The key to set + * @param value - The value to set + * @param options - Additional options for the SET command + * @see https://redis.io/commands/set/ + */ + parseCommand(parser, key, value, options) { + parser.push('SET'); + parser.pushKey(key); + parser.push(typeof value === 'number' ? value.toString() : value); + if (options?.expiration) { + if (typeof options.expiration === 'string') { + parser.push(options.expiration); + } + else if (options.expiration.type === 'KEEPTTL') { + parser.push('KEEPTTL'); + } + else { + parser.push(options.expiration.type, options.expiration.value.toString()); + } + } + else if (options?.EX !== undefined) { + parser.push('EX', options.EX.toString()); + } + else if (options?.PX !== undefined) { + parser.push('PX', options.PX.toString()); + } + else if (options?.EXAT !== undefined) { + parser.push('EXAT', options.EXAT.toString()); + } + else if (options?.PXAT !== undefined) { + parser.push('PXAT', options.PXAT.toString()); + } + else if (options?.KEEPTTL) { + parser.push('KEEPTTL'); + } + if (options?.condition) { + parser.push(options.condition); + if (options?.matchValue !== undefined) { + parser.push(options.matchValue); + } + } + else if (options?.NX) { + parser.push('NX'); + } + else if (options?.XX) { + parser.push('XX'); + } + if (options?.GET) { + parser.push('GET'); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=SET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SET.js.map b/back/node_modules/@redis/client/dist/lib/commands/SET.js.map new file mode 100644 index 0000000..5811efd --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SET.js","sourceRoot":"","sources":["../../../lib/commands/SET.ts"],"names":[],"mappings":";;AA8DA,kBAAe;IACb;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAA6B,EAAE,OAAoB;QACzG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAElE,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;YACxB,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAC3C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAClC,CAAC;iBAAM,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACjD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CACT,OAAO,CAAC,UAAU,CAAC,IAAI,EACvB,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,CACpC,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,EAAE,EAAE,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,OAAO,EAAE,EAAE,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC/B,IAAI,OAAO,EAAE,UAAU,KAAK,SAAS,EAAE,CAAC;gBACtC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,EAAE,EAAE,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;aAAM,IAAI,OAAO,EAAE,EAAE,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,OAAO,EAAE,GAAG,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAmF;CACzE,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SETBIT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SETBIT.d.ts new file mode 100644 index 0000000..beab0b3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SETBIT.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +import { BitValue } from './generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the SETBIT command + * + * @param parser - The command parser + * @param key - The key to set the bit on + * @param offset - The bit offset (zero-based) + * @param value - The bit value (0 or 1) + * @see https://redis.io/commands/setbit/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, offset: number, value: BitValue) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=SETBIT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SETBIT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SETBIT.d.ts.map new file mode 100644 index 0000000..2820327 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SETBIT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SETBIT.d.ts","sourceRoot":"","sources":["../../../lib/commands/SETBIT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;;;IAIhD;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa,UAAU,MAAM,SAAS,QAAQ;mCAKzC,YAAY,QAAQ,CAAC;;AAhBrE,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SETBIT.js b/back/node_modules/@redis/client/dist/lib/commands/SETBIT.js new file mode 100644 index 0000000..9b91132 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SETBIT.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Constructs the SETBIT command + * + * @param parser - The command parser + * @param key - The key to set the bit on + * @param offset - The bit offset (zero-based) + * @param value - The bit value (0 or 1) + * @see https://redis.io/commands/setbit/ + */ + parseCommand(parser, key, offset, value) { + parser.push('SETBIT'); + parser.pushKey(key); + parser.push(offset.toString(), value.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=SETBIT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SETBIT.js.map b/back/node_modules/@redis/client/dist/lib/commands/SETBIT.js.map new file mode 100644 index 0000000..3e64007 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SETBIT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SETBIT.js","sourceRoot":"","sources":["../../../lib/commands/SETBIT.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,MAAc,EAAE,KAAe;QACrF,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,cAAc,EAAE,SAAmD;CACzC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SETEX.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SETEX.d.ts new file mode 100644 index 0000000..52a901f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SETEX.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, SimpleStringReply } from '../RESP/types'; +declare const _default: { + /** + * Constructs the SETEX command + * + * @param parser - The command parser + * @param key - The key to set + * @param seconds - The expiration time in seconds + * @param value - The value to set + * @see https://redis.io/commands/setex/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, seconds: number, value: RedisArgument) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=SETEX.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SETEX.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SETEX.d.ts.map new file mode 100644 index 0000000..7fda274 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SETEX.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SETEX.d.ts","sourceRoot":"","sources":["../../../lib/commands/SETEX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;IAGxE;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa,WAAW,MAAM,SAAS,aAAa;mCAK/C,kBAAkB,IAAI,CAAC;;AAfvE,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SETEX.js b/back/node_modules/@redis/client/dist/lib/commands/SETEX.js new file mode 100644 index 0000000..3ca94b2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SETEX.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Constructs the SETEX command + * + * @param parser - The command parser + * @param key - The key to set + * @param seconds - The expiration time in seconds + * @param value - The value to set + * @see https://redis.io/commands/setex/ + */ + parseCommand(parser, key, seconds, value) { + parser.push('SETEX'); + parser.pushKey(key); + parser.push(seconds.toString(), value); + }, + transformReply: undefined +}; +//# sourceMappingURL=SETEX.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SETEX.js.map b/back/node_modules/@redis/client/dist/lib/commands/SETEX.js.map new file mode 100644 index 0000000..598526e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SETEX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SETEX.js","sourceRoot":"","sources":["../../../lib/commands/SETEX.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,OAAe,EAAE,KAAoB;QAC3F,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SETNX.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SETNX.d.ts new file mode 100644 index 0000000..315632b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SETNX.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + /** + * Constructs the SETNX command + * + * @param parser - The command parser + * @param key - The key to set if it doesn't exist + * @param value - The value to set + * @see https://redis.io/commands/setnx/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, value: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=SETNX.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SETNX.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SETNX.d.ts.map new file mode 100644 index 0000000..5517314 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SETNX.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SETNX.d.ts","sourceRoot":"","sources":["../../../lib/commands/SETNX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;IAGlE;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,SAAS,aAAa;mCAK9B,WAAW;;AAd3D,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SETNX.js b/back/node_modules/@redis/client/dist/lib/commands/SETNX.js new file mode 100644 index 0000000..cdcc07a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SETNX.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Constructs the SETNX command + * + * @param parser - The command parser + * @param key - The key to set if it doesn't exist + * @param value - The value to set + * @see https://redis.io/commands/setnx/ + */ + parseCommand(parser, key, value) { + parser.push('SETNX'); + parser.pushKey(key); + parser.push(value); + }, + transformReply: undefined +}; +//# sourceMappingURL=SETNX.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SETNX.js.map b/back/node_modules/@redis/client/dist/lib/commands/SETNX.js.map new file mode 100644 index 0000000..75614b3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SETNX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SETNX.js","sourceRoot":"","sources":["../../../lib/commands/SETNX.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAoB;QAC1E,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SETRANGE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SETRANGE.d.ts new file mode 100644 index 0000000..124ea54 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SETRANGE.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + /** + * Constructs the SETRANGE command + * + * @param parser - The command parser + * @param key - The key to modify + * @param offset - The offset at which to start writing + * @param value - The value to write at the offset + * @see https://redis.io/commands/setrange/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, offset: number, value: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=SETRANGE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SETRANGE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SETRANGE.d.ts.map new file mode 100644 index 0000000..6520315 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SETRANGE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SETRANGE.d.ts","sourceRoot":"","sources":["../../../lib/commands/SETRANGE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;IAGlE;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa,UAAU,MAAM,SAAS,aAAa;mCAK9C,WAAW;;AAf3D,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SETRANGE.js b/back/node_modules/@redis/client/dist/lib/commands/SETRANGE.js new file mode 100644 index 0000000..a6976a1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SETRANGE.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Constructs the SETRANGE command + * + * @param parser - The command parser + * @param key - The key to modify + * @param offset - The offset at which to start writing + * @param value - The value to write at the offset + * @see https://redis.io/commands/setrange/ + */ + parseCommand(parser, key, offset, value) { + parser.push('SETRANGE'); + parser.pushKey(key); + parser.push(offset.toString(), value); + }, + transformReply: undefined +}; +//# sourceMappingURL=SETRANGE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SETRANGE.js.map b/back/node_modules/@redis/client/dist/lib/commands/SETRANGE.js.map new file mode 100644 index 0000000..dcbff0b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SETRANGE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SETRANGE.js","sourceRoot":"","sources":["../../../lib/commands/SETRANGE.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,MAAc,EAAE,KAAoB;QAC1F,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SHUTDOWN.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SHUTDOWN.d.ts new file mode 100644 index 0000000..f596d35 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SHUTDOWN.d.ts @@ -0,0 +1,31 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +/** + * Options for the SHUTDOWN command + * + * @property mode - NOSAVE will not save DB, SAVE will force save DB + * @property NOW - Immediately terminate all clients + * @property FORCE - Force shutdown even in case of errors + * @property ABORT - Abort a shutdown in progress + */ +export interface ShutdownOptions { + mode?: 'NOSAVE' | 'SAVE'; + NOW?: boolean; + FORCE?: boolean; + ABORT?: boolean; +} +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + /** + * Constructs the SHUTDOWN command + * + * @param parser - The command parser + * @param options - Options for the shutdown process + * @see https://redis.io/commands/shutdown/ + */ + readonly parseCommand: (this: void, parser: CommandParser, options?: ShutdownOptions) => void; + readonly transformReply: () => void | SimpleStringReply; +}; +export default _default; +//# sourceMappingURL=SHUTDOWN.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SHUTDOWN.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SHUTDOWN.d.ts.map new file mode 100644 index 0000000..c00a49c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SHUTDOWN.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SHUTDOWN.d.ts","sourceRoot":"","sources":["../../../lib/commands/SHUTDOWN.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;AAE3D;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;;;;IAKC;;;;;;OAMG;gDACkB,aAAa,YAAY,eAAe;mCAmBf,IAAI,GAAG,iBAAiB;;AA7BxE,wBA8B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SHUTDOWN.js b/back/node_modules/@redis/client/dist/lib/commands/SHUTDOWN.js new file mode 100644 index 0000000..ab4bb23 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SHUTDOWN.js @@ -0,0 +1,30 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: false, + /** + * Constructs the SHUTDOWN command + * + * @param parser - The command parser + * @param options - Options for the shutdown process + * @see https://redis.io/commands/shutdown/ + */ + parseCommand(parser, options) { + parser.push('SHUTDOWN'); + if (options?.mode) { + parser.push(options.mode); + } + if (options?.NOW) { + parser.push('NOW'); + } + if (options?.FORCE) { + parser.push('FORCE'); + } + if (options?.ABORT) { + parser.push('ABORT'); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=SHUTDOWN.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SHUTDOWN.js.map b/back/node_modules/@redis/client/dist/lib/commands/SHUTDOWN.js.map new file mode 100644 index 0000000..6bfeb91 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SHUTDOWN.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SHUTDOWN.js","sourceRoot":"","sources":["../../../lib/commands/SHUTDOWN.ts"],"names":[],"mappings":";;AAkBA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,OAAyB;QAC3D,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAExB,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,OAAO,EAAE,GAAG,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAED,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;QAED,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAsD;CAC5C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SINTER.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SINTER.d.ts new file mode 100644 index 0000000..8ead476 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SINTER.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { ArrayReply, BlobStringReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the SINTER command + * + * @param parser - The command parser + * @param keys - One or more set keys to compute the intersection from + * @see https://redis.io/commands/sinter/ + */ + readonly parseCommand: (this: void, parser: CommandParser, keys: RedisVariadicArgument) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=SINTER.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SINTER.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SINTER.d.ts.map new file mode 100644 index 0000000..651932d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SINTER.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SINTER.d.ts","sourceRoot":"","sources":["../../../lib/commands/SINTER.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;;IAK7D;;;;;;OAMG;gDACkB,aAAa,QAAQ,qBAAqB;mCAIjB,WAAW,eAAe,CAAC;;AAd3E,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SINTER.js b/back/node_modules/@redis/client/dist/lib/commands/SINTER.js new file mode 100644 index 0000000..abf5c71 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SINTER.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Constructs the SINTER command + * + * @param parser - The command parser + * @param keys - One or more set keys to compute the intersection from + * @see https://redis.io/commands/sinter/ + */ + parseCommand(parser, keys) { + parser.push('SINTER'); + parser.pushKeys(keys); + }, + transformReply: undefined +}; +//# sourceMappingURL=SINTER.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SINTER.js.map b/back/node_modules/@redis/client/dist/lib/commands/SINTER.js.map new file mode 100644 index 0000000..55a4ff9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SINTER.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SINTER.js","sourceRoot":"","sources":["../../../lib/commands/SINTER.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,IAA2B;QAC7D,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SINTERCARD.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SINTERCARD.d.ts new file mode 100644 index 0000000..d0d57b7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SINTERCARD.d.ts @@ -0,0 +1,26 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +/** + * Options for the SINTERCARD command + * + * @property LIMIT - Maximum number of elements to return + */ +export interface SInterCardOptions { + LIMIT?: number; +} +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the SINTERCARD command + * + * @param parser - The command parser + * @param keys - One or more set keys to compute the intersection cardinality from + * @param options - Options for the SINTERCARD command or a number for LIMIT (backwards compatibility) + * @see https://redis.io/commands/sintercard/ + */ + readonly parseCommand: (this: void, parser: CommandParser, keys: RedisVariadicArgument, options?: SInterCardOptions | number) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=SINTERCARD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SINTERCARD.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SINTERCARD.d.ts.map new file mode 100644 index 0000000..025b1b7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SINTERCARD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SINTERCARD.d.ts","sourceRoot":"","sources":["../../../lib/commands/SINTERCARD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;;;IAIC;;;;;;;OAOG;gDACkB,aAAa,QAAQ,qBAAqB,YAAY,iBAAiB,GAAG,MAAM;mCAUvD,WAAW;;AApB3D,wBAqB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SINTERCARD.js b/back/node_modules/@redis/client/dist/lib/commands/SINTERCARD.js new file mode 100644 index 0000000..74082cb --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SINTERCARD.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the SINTERCARD command + * + * @param parser - The command parser + * @param keys - One or more set keys to compute the intersection cardinality from + * @param options - Options for the SINTERCARD command or a number for LIMIT (backwards compatibility) + * @see https://redis.io/commands/sintercard/ + */ + parseCommand(parser, keys, options) { + parser.push('SINTERCARD'); + parser.pushKeysLength(keys); + if (typeof options === 'number') { // backwards compatibility + parser.push('LIMIT', options.toString()); + } + else if (options?.LIMIT !== undefined) { + parser.push('LIMIT', options.LIMIT.toString()); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=SINTERCARD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SINTERCARD.js.map b/back/node_modules/@redis/client/dist/lib/commands/SINTERCARD.js.map new file mode 100644 index 0000000..61c1ad9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SINTERCARD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SINTERCARD.js","sourceRoot":"","sources":["../../../lib/commands/SINTERCARD.ts"],"names":[],"mappings":";;AAaA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,IAA2B,EAAE,OAAoC;QACnG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAE5B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC,CAAC,0BAA0B;YAC3D,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SINTERSTORE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SINTERSTORE.d.ts new file mode 100644 index 0000000..3a5cb0a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SINTERSTORE.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the SINTERSTORE command + * + * @param parser - The command parser + * @param destination - The destination key to store the result + * @param keys - One or more set keys to compute the intersection from + * @see https://redis.io/commands/sinterstore/ + */ + readonly parseCommand: (this: void, parser: CommandParser, destination: RedisArgument, keys: RedisVariadicArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=SINTERSTORE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SINTERSTORE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SINTERSTORE.d.ts.map new file mode 100644 index 0000000..05a4f24 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SINTERSTORE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SINTERSTORE.d.ts","sourceRoot":"","sources":["../../../lib/commands/SINTERSTORE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;IAI7D;;;;;;;OAOG;gDACkB,aAAa,eAAe,aAAa,QAAQ,qBAAqB;mCAK7C,WAAW;;AAf3D,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SINTERSTORE.js b/back/node_modules/@redis/client/dist/lib/commands/SINTERSTORE.js new file mode 100644 index 0000000..3d24862 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SINTERSTORE.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Constructs the SINTERSTORE command + * + * @param parser - The command parser + * @param destination - The destination key to store the result + * @param keys - One or more set keys to compute the intersection from + * @see https://redis.io/commands/sinterstore/ + */ + parseCommand(parser, destination, keys) { + parser.push('SINTERSTORE'); + parser.pushKey(destination); + parser.pushKeys(keys); + }, + transformReply: undefined +}; +//# sourceMappingURL=SINTERSTORE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SINTERSTORE.js.map b/back/node_modules/@redis/client/dist/lib/commands/SINTERSTORE.js.map new file mode 100644 index 0000000..b304687 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SINTERSTORE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SINTERSTORE.js","sourceRoot":"","sources":["../../../lib/commands/SINTERSTORE.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,WAA0B,EAAE,IAA2B;QACzF,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QAC3B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SISMEMBER.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SISMEMBER.d.ts new file mode 100644 index 0000000..c6e8216 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SISMEMBER.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply, RedisArgument } from '../RESP/types'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the SISMEMBER command + * + * @param parser - The command parser + * @param key - The set key to check membership in + * @param member - The member to check for existence + * @see https://redis.io/commands/sismember/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, member: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=SISMEMBER.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SISMEMBER.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SISMEMBER.d.ts.map new file mode 100644 index 0000000..cff4602 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SISMEMBER.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SISMEMBER.d.ts","sourceRoot":"","sources":["../../../lib/commands/SISMEMBER.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAW,aAAa,EAAE,MAAM,eAAe,CAAC;;;;IAKlE;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,UAAU,aAAa;mCAK/B,WAAW;;AAhB3D,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SISMEMBER.js b/back/node_modules/@redis/client/dist/lib/commands/SISMEMBER.js new file mode 100644 index 0000000..3b678f2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SISMEMBER.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Constructs the SISMEMBER command + * + * @param parser - The command parser + * @param key - The set key to check membership in + * @param member - The member to check for existence + * @see https://redis.io/commands/sismember/ + */ + parseCommand(parser, key, member) { + parser.push('SISMEMBER'); + parser.pushKey(key); + parser.push(member); + }, + transformReply: undefined +}; +//# sourceMappingURL=SISMEMBER.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SISMEMBER.js.map b/back/node_modules/@redis/client/dist/lib/commands/SISMEMBER.js.map new file mode 100644 index 0000000..72e23b5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SISMEMBER.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SISMEMBER.js","sourceRoot":"","sources":["../../../lib/commands/SISMEMBER.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,MAAqB;QAC3E,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SMEMBERS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SMEMBERS.d.ts new file mode 100644 index 0000000..310d813 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SMEMBERS.d.ts @@ -0,0 +1,20 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply, SetReply } from '../RESP/types'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the SMEMBERS command + * + * @param parser - The command parser + * @param key - The set key to get all members from + * @see https://redis.io/commands/smembers/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: { + readonly 2: () => ArrayReply; + readonly 3: () => SetReply; + }; +}; +export default _default; +//# sourceMappingURL=SMEMBERS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SMEMBERS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SMEMBERS.d.ts.map new file mode 100644 index 0000000..940f8c9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SMEMBERS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SMEMBERS.d.ts","sourceRoot":"","sources":["../../../lib/commands/SMEMBERS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAW,MAAM,eAAe,CAAC;;;;IAK5F;;;;;;OAMG;gDACkB,aAAa,OAAO,aAAa;;0BAKnB,WAAW,eAAe,CAAC;0BAC3B,SAAS,eAAe,CAAC;;;AAhB9D,wBAkB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SMEMBERS.js b/back/node_modules/@redis/client/dist/lib/commands/SMEMBERS.js new file mode 100644 index 0000000..1f75b15 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SMEMBERS.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Constructs the SMEMBERS command + * + * @param parser - The command parser + * @param key - The set key to get all members from + * @see https://redis.io/commands/smembers/ + */ + parseCommand(parser, key) { + parser.push('SMEMBERS'); + parser.pushKey(key); + }, + transformReply: { + 2: undefined, + 3: undefined + } +}; +//# sourceMappingURL=SMEMBERS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SMEMBERS.js.map b/back/node_modules/@redis/client/dist/lib/commands/SMEMBERS.js.map new file mode 100644 index 0000000..834ed74 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SMEMBERS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SMEMBERS.js","sourceRoot":"","sources":["../../../lib/commands/SMEMBERS.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,SAAyD;QAC5D,CAAC,EAAE,SAAuD;KAC3D;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SMISMEMBER.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SMISMEMBER.d.ts new file mode 100644 index 0000000..ab80067 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SMISMEMBER.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, NumberReply } from '../RESP/types'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the SMISMEMBER command + * + * @param parser - The command parser + * @param key - The set key to check membership in + * @param members - The members to check for existence + * @see https://redis.io/commands/smismember/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, members: Array) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=SMISMEMBER.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SMISMEMBER.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SMISMEMBER.d.ts.map new file mode 100644 index 0000000..fb08743 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SMISMEMBER.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SMISMEMBER.d.ts","sourceRoot":"","sources":["../../../lib/commands/SMISMEMBER.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;;IAK9E;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,WAAW,MAAM,aAAa,CAAC;mCAKvC,WAAW,WAAW,CAAC;;AAhBvE,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SMISMEMBER.js b/back/node_modules/@redis/client/dist/lib/commands/SMISMEMBER.js new file mode 100644 index 0000000..e850dc7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SMISMEMBER.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Constructs the SMISMEMBER command + * + * @param parser - The command parser + * @param key - The set key to check membership in + * @param members - The members to check for existence + * @see https://redis.io/commands/smismember/ + */ + parseCommand(parser, key, members) { + parser.push('SMISMEMBER'); + parser.pushKey(key); + parser.pushVariadic(members); + }, + transformReply: undefined +}; +//# sourceMappingURL=SMISMEMBER.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SMISMEMBER.js.map b/back/node_modules/@redis/client/dist/lib/commands/SMISMEMBER.js.map new file mode 100644 index 0000000..8d51f12 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SMISMEMBER.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SMISMEMBER.js","sourceRoot":"","sources":["../../../lib/commands/SMISMEMBER.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,OAA6B;QACnF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SMOVE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SMOVE.d.ts new file mode 100644 index 0000000..acf84e7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SMOVE.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the SMOVE command + * + * @param parser - The command parser + * @param source - The source set key + * @param destination - The destination set key + * @param member - The member to move + * @see https://redis.io/commands/smove/ + */ + readonly parseCommand: (this: void, parser: CommandParser, source: RedisArgument, destination: RedisArgument, member: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=SMOVE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SMOVE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SMOVE.d.ts.map new file mode 100644 index 0000000..7cad07f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SMOVE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SMOVE.d.ts","sourceRoot":"","sources":["../../../lib/commands/SMOVE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;IAIlE;;;;;;;;OAQG;gDACkB,aAAa,UAAU,aAAa,eAAe,aAAa,UAAU,aAAa;mCAK9D,WAAW;;AAhB3D,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SMOVE.js b/back/node_modules/@redis/client/dist/lib/commands/SMOVE.js new file mode 100644 index 0000000..b4eb58e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SMOVE.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Constructs the SMOVE command + * + * @param parser - The command parser + * @param source - The source set key + * @param destination - The destination set key + * @param member - The member to move + * @see https://redis.io/commands/smove/ + */ + parseCommand(parser, source, destination, member) { + parser.push('SMOVE'); + parser.pushKeys([source, destination]); + parser.push(member); + }, + transformReply: undefined +}; +//# sourceMappingURL=SMOVE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SMOVE.js.map b/back/node_modules/@redis/client/dist/lib/commands/SMOVE.js.map new file mode 100644 index 0000000..2527709 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SMOVE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SMOVE.js","sourceRoot":"","sources":["../../../lib/commands/SMOVE.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,MAAqB,EAAE,WAA0B,EAAE,MAAqB;QAC1G,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SORT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SORT.d.ts new file mode 100644 index 0000000..baf7675 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SORT.d.ts @@ -0,0 +1,44 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '../RESP/types'; +/** + * Options for the SORT command + * + * @property BY - Pattern for external key to sort by + * @property LIMIT - Offset and count for results pagination + * @property GET - Pattern(s) for retrieving external keys + * @property DIRECTION - Sort direction: ASC (ascending) or DESC (descending) + * @property ALPHA - Sort lexicographically instead of numerically + */ +export interface SortOptions { + BY?: RedisArgument; + LIMIT?: { + offset: number; + count: number; + }; + GET?: RedisArgument | Array; + DIRECTION?: 'ASC' | 'DESC'; + ALPHA?: boolean; +} +/** + * Parses sort arguments for the SORT command + * + * @param parser - The command parser + * @param key - The key to sort + * @param options - Sort options + */ +export declare function parseSortArguments(parser: CommandParser, key: RedisArgument, options?: SortOptions): void; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the SORT command + * + * @param parser - The command parser + * @param key - The key to sort (list, set, or sorted set) + * @param options - Sort options + * @see https://redis.io/commands/sort/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, options?: SortOptions) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=SORT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SORT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SORT.d.ts.map new file mode 100644 index 0000000..ee4969e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SORT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SORT.d.ts","sourceRoot":"","sources":["../../../lib/commands/SORT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AAEpF;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,aAAa,CAAC;IACnB,KAAK,CAAC,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,GAAG,CAAC,EAAE,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,aAAa,EAClB,OAAO,CAAC,EAAE,WAAW,QAiCtB;;;IAIC;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,YAAY,WAAW;mCAI/B,WAAW,eAAe,CAAC;;AAd3E,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SORT.js b/back/node_modules/@redis/client/dist/lib/commands/SORT.js new file mode 100644 index 0000000..8aa6d6f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SORT.js @@ -0,0 +1,53 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseSortArguments = void 0; +/** + * Parses sort arguments for the SORT command + * + * @param parser - The command parser + * @param key - The key to sort + * @param options - Sort options + */ +function parseSortArguments(parser, key, options) { + parser.pushKey(key); + if (options?.BY) { + parser.push('BY', options.BY); + } + if (options?.LIMIT) { + parser.push('LIMIT', options.LIMIT.offset.toString(), options.LIMIT.count.toString()); + } + if (options?.GET) { + if (Array.isArray(options.GET)) { + for (const pattern of options.GET) { + parser.push('GET', pattern); + } + } + else { + parser.push('GET', options.GET); + } + } + if (options?.DIRECTION) { + parser.push(options.DIRECTION); + } + if (options?.ALPHA) { + parser.push('ALPHA'); + } +} +exports.parseSortArguments = parseSortArguments; +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the SORT command + * + * @param parser - The command parser + * @param key - The key to sort (list, set, or sorted set) + * @param options - Sort options + * @see https://redis.io/commands/sort/ + */ + parseCommand(parser, key, options) { + parser.push('SORT'); + parseSortArguments(parser, key, options); + }, + transformReply: undefined +}; +//# sourceMappingURL=SORT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SORT.js.map b/back/node_modules/@redis/client/dist/lib/commands/SORT.js.map new file mode 100644 index 0000000..7f90863 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SORT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SORT.js","sourceRoot":"","sources":["../../../lib/commands/SORT.ts"],"names":[],"mappings":";;;AAuBA;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAChC,MAAqB,EACrB,GAAkB,EAClB,OAAqB;IAErB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEpB,IAAI,OAAO,EAAE,EAAE,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CACT,OAAO,EACP,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAC/B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAC/B,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,EAAE,GAAG,EAAE,CAAC;QACjB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AApCD,gDAoCC;AAED,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,OAAqB;QAC3E,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SORT_RO.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SORT_RO.d.ts new file mode 100644 index 0000000..5c1296e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SORT_RO.d.ts @@ -0,0 +1,11 @@ +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Read-only variant of SORT that sorts the elements in a list, set or sorted set. + * @param args - Same parameters as the SORT command. + */ + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, options?: import("./SORT").SortOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; +}; +export default _default; +//# sourceMappingURL=SORT_RO.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SORT_RO.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SORT_RO.d.ts.map new file mode 100644 index 0000000..59a430b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SORT_RO.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SORT_RO.d.ts","sourceRoot":"","sources":["../../../lib/commands/SORT_RO.ts"],"names":[],"mappings":";;IAKE;;;OAGG;;;;AALL,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SORT_RO.js b/back/node_modules/@redis/client/dist/lib/commands/SORT_RO.js new file mode 100644 index 0000000..6ab1c0b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SORT_RO.js @@ -0,0 +1,40 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const SORT_1 = __importStar(require("./SORT")); +exports.default = { + IS_READ_ONLY: true, + /** + * Read-only variant of SORT that sorts the elements in a list, set or sorted set. + * @param args - Same parameters as the SORT command. + */ + parseCommand(...args) { + const parser = args[0]; + parser.push('SORT_RO'); + (0, SORT_1.parseSortArguments)(...args); + }, + transformReply: SORT_1.default.transformReply +}; +//# sourceMappingURL=SORT_RO.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SORT_RO.js.map b/back/node_modules/@redis/client/dist/lib/commands/SORT_RO.js.map new file mode 100644 index 0000000..f39b867 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SORT_RO.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SORT_RO.js","sourceRoot":"","sources":["../../../lib/commands/SORT_RO.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,+CAAkD;AAElD,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,GAAG,IAA2C;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEvB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,IAAA,yBAAkB,EAAC,GAAG,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,cAAc,EAAE,cAAI,CAAC,cAAc;CACT,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SORT_STORE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SORT_STORE.d.ts new file mode 100644 index 0000000..6dac6f6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SORT_STORE.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +import { SortOptions } from './SORT'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Sorts the elements in a list, set or sorted set and stores the result in a new list. + * @param parser - The Redis command parser. + * @param source - Key of the source list, set or sorted set. + * @param destination - Destination key where the result will be stored. + * @param options - Optional sorting parameters. + */ + readonly parseCommand: (this: void, parser: CommandParser, source: RedisArgument, destination: RedisArgument, options?: SortOptions) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=SORT_STORE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SORT_STORE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SORT_STORE.d.ts.map new file mode 100644 index 0000000..48b371d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SORT_STORE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SORT_STORE.d.ts","sourceRoot":"","sources":["../../../lib/commands/SORT_STORE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACpE,OAAa,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;;;IAIzC;;;;;;OAMG;gDACkB,aAAa,UAAU,aAAa,eAAe,aAAa,YAAY,WAAW;mCAI9D,WAAW;;AAb3D,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SORT_STORE.js b/back/node_modules/@redis/client/dist/lib/commands/SORT_STORE.js new file mode 100644 index 0000000..8a2f6bc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SORT_STORE.js @@ -0,0 +1,22 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const SORT_1 = __importDefault(require("./SORT")); +exports.default = { + IS_READ_ONLY: false, + /** + * Sorts the elements in a list, set or sorted set and stores the result in a new list. + * @param parser - The Redis command parser. + * @param source - Key of the source list, set or sorted set. + * @param destination - Destination key where the result will be stored. + * @param options - Optional sorting parameters. + */ + parseCommand(parser, source, destination, options) { + SORT_1.default.parseCommand(parser, source, options); + parser.push('STORE', destination); + }, + transformReply: undefined +}; +//# sourceMappingURL=SORT_STORE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SORT_STORE.js.map b/back/node_modules/@redis/client/dist/lib/commands/SORT_STORE.js.map new file mode 100644 index 0000000..16e1ce0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SORT_STORE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SORT_STORE.js","sourceRoot":"","sources":["../../../lib/commands/SORT_STORE.ts"],"names":[],"mappings":";;;;;AAEA,kDAA2C;AAE3C,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,MAAqB,EAAE,WAA0B,EAAE,OAAqB;QAC1G,cAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACpC,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SPOP.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SPOP.d.ts new file mode 100644 index 0000000..cf8406a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SPOP.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply, NullReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the SPOP command to remove and return a random member from a set + * + * @param parser - The command parser + * @param key - The key of the set to pop from + * @see https://redis.io/commands/spop/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => BlobStringReply | NullReply; +}; +export default _default; +//# sourceMappingURL=SPOP.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SPOP.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SPOP.d.ts.map new file mode 100644 index 0000000..8807cd9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SPOP.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SPOP.d.ts","sourceRoot":"","sources":["../../../lib/commands/SPOP.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;;;IAIjF;;;;;;OAMG;gDACkB,aAAa,OAAO,aAAa;mCAIR,eAAe,GAAG,SAAS;;AAb3E,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SPOP.js b/back/node_modules/@redis/client/dist/lib/commands/SPOP.js new file mode 100644 index 0000000..1e0e723 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SPOP.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Constructs the SPOP command to remove and return a random member from a set + * + * @param parser - The command parser + * @param key - The key of the set to pop from + * @see https://redis.io/commands/spop/ + */ + parseCommand(parser, key) { + parser.push('SPOP'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=SPOP.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SPOP.js.map b/back/node_modules/@redis/client/dist/lib/commands/SPOP.js.map new file mode 100644 index 0000000..7b1b215 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SPOP.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SPOP.js","sourceRoot":"","sources":["../../../lib/commands/SPOP.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SPOP_COUNT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SPOP_COUNT.d.ts new file mode 100644 index 0000000..1920a06 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SPOP_COUNT.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the SPOP command to remove and return multiple random members from a set + * + * @param parser - The command parser + * @param key - The key of the set to pop from + * @param count - The number of members to pop + * @see https://redis.io/commands/spop/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, count: number) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=SPOP_COUNT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SPOP_COUNT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SPOP_COUNT.d.ts.map new file mode 100644 index 0000000..706c253 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SPOP_COUNT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SPOP_COUNT.d.ts","sourceRoot":"","sources":["../../../lib/commands/SPOP_COUNT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAW,UAAU,EAAE,MAAM,eAAe,CAAC;;;IAIjE;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,SAAS,MAAM;mCAKvB,WAAW,MAAM,CAAC;;AAflE,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SPOP_COUNT.js b/back/node_modules/@redis/client/dist/lib/commands/SPOP_COUNT.js new file mode 100644 index 0000000..15fc928 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SPOP_COUNT.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Constructs the SPOP command to remove and return multiple random members from a set + * + * @param parser - The command parser + * @param key - The key of the set to pop from + * @param count - The number of members to pop + * @see https://redis.io/commands/spop/ + */ + parseCommand(parser, key, count) { + parser.push('SPOP'); + parser.pushKey(key); + parser.push(count.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=SPOP_COUNT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SPOP_COUNT.js.map b/back/node_modules/@redis/client/dist/lib/commands/SPOP_COUNT.js.map new file mode 100644 index 0000000..f6e185d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SPOP_COUNT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SPOP_COUNT.js","sourceRoot":"","sources":["../../../lib/commands/SPOP_COUNT.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAa;QACnE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,cAAc,EAAE,SAAgD;CACtC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SPUBLISH.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SPUBLISH.d.ts new file mode 100644 index 0000000..94b3e06 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SPUBLISH.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the SPUBLISH command to post a message to a Sharded Pub/Sub channel + * + * @param parser - The command parser + * @param channel - The channel to publish to + * @param message - The message to publish + * @see https://redis.io/commands/spublish/ + */ + readonly parseCommand: (this: void, parser: CommandParser, channel: RedisArgument, message: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=SPUBLISH.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SPUBLISH.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SPUBLISH.d.ts.map new file mode 100644 index 0000000..4931e88 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SPUBLISH.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SPUBLISH.d.ts","sourceRoot":"","sources":["../../../lib/commands/SPUBLISH.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;IAIlE;;;;;;;OAOG;gDACkB,aAAa,WAAW,aAAa,WAAW,aAAa;mCAKpC,WAAW;;AAf3D,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SPUBLISH.js b/back/node_modules/@redis/client/dist/lib/commands/SPUBLISH.js new file mode 100644 index 0000000..07c131d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SPUBLISH.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the SPUBLISH command to post a message to a Sharded Pub/Sub channel + * + * @param parser - The command parser + * @param channel - The channel to publish to + * @param message - The message to publish + * @see https://redis.io/commands/spublish/ + */ + parseCommand(parser, channel, message) { + parser.push('SPUBLISH'); + parser.pushKey(channel); + parser.push(message); + }, + transformReply: undefined +}; +//# sourceMappingURL=SPUBLISH.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SPUBLISH.js.map b/back/node_modules/@redis/client/dist/lib/commands/SPUBLISH.js.map new file mode 100644 index 0000000..d78e31d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SPUBLISH.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SPUBLISH.js","sourceRoot":"","sources":["../../../lib/commands/SPUBLISH.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,OAAsB,EAAE,OAAsB;QAChF,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER.d.ts new file mode 100644 index 0000000..e514c42 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply, NullReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the SRANDMEMBER command to get a random member from a set + * + * @param parser - The command parser + * @param key - The key of the set to get random member from + * @see https://redis.io/commands/srandmember/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => BlobStringReply | NullReply; +}; +export default _default; +//# sourceMappingURL=SRANDMEMBER.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER.d.ts.map new file mode 100644 index 0000000..e42625b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SRANDMEMBER.d.ts","sourceRoot":"","sources":["../../../lib/commands/SRANDMEMBER.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;;;IAIjF;;;;;;OAMG;gDACkB,aAAa,OAAO,aAAa;mCAIR,eAAe,GAAG,SAAS;;AAb3E,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER.js b/back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER.js new file mode 100644 index 0000000..220dbf2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the SRANDMEMBER command to get a random member from a set + * + * @param parser - The command parser + * @param key - The key of the set to get random member from + * @see https://redis.io/commands/srandmember/ + */ + parseCommand(parser, key) { + parser.push('SRANDMEMBER'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=SRANDMEMBER.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER.js.map b/back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER.js.map new file mode 100644 index 0000000..4ddc14c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SRANDMEMBER.js","sourceRoot":"","sources":["../../../lib/commands/SRANDMEMBER.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC1B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER_COUNT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER_COUNT.d.ts new file mode 100644 index 0000000..5c1b961 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER_COUNT.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the SRANDMEMBER command to get multiple random members from a set + * + * @param parser - The command parser + * @param key - The key of the set to get random members from + * @param count - The number of members to return. If negative, may return the same member multiple times + * @see https://redis.io/commands/srandmember/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, count: number) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=SRANDMEMBER_COUNT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER_COUNT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER_COUNT.d.ts.map new file mode 100644 index 0000000..acbc7b2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER_COUNT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SRANDMEMBER_COUNT.d.ts","sourceRoot":"","sources":["../../../lib/commands/SRANDMEMBER_COUNT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;IAKlF;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,SAAS,MAAM;mCAIvB,WAAW,eAAe,CAAC;;AAd3E,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER_COUNT.js b/back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER_COUNT.js new file mode 100644 index 0000000..c8eb894 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER_COUNT.js @@ -0,0 +1,23 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const SRANDMEMBER_1 = __importDefault(require("./SRANDMEMBER")); +exports.default = { + IS_READ_ONLY: SRANDMEMBER_1.default.IS_READ_ONLY, + /** + * Constructs the SRANDMEMBER command to get multiple random members from a set + * + * @param parser - The command parser + * @param key - The key of the set to get random members from + * @param count - The number of members to return. If negative, may return the same member multiple times + * @see https://redis.io/commands/srandmember/ + */ + parseCommand(parser, key, count) { + SRANDMEMBER_1.default.parseCommand(parser, key); + parser.push(count.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=SRANDMEMBER_COUNT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER_COUNT.js.map b/back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER_COUNT.js.map new file mode 100644 index 0000000..2567df6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SRANDMEMBER_COUNT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SRANDMEMBER_COUNT.js","sourceRoot":"","sources":["../../../lib/commands/SRANDMEMBER_COUNT.ts"],"names":[],"mappings":";;;;;AAEA,gEAAwC;AAExC,kBAAe;IACb,YAAY,EAAE,qBAAW,CAAC,YAAY;IACtC;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAa;QACnE,qBAAW,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SREM.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SREM.d.ts new file mode 100644 index 0000000..d4dd62e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SREM.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply, RedisArgument } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the SREM command to remove one or more members from a set + * + * @param parser - The command parser + * @param key - The key of the set to remove members from + * @param members - One or more members to remove from the set + * @returns The number of members that were removed from the set + * @see https://redis.io/commands/srem/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, members: RedisVariadicArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=SREM.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SREM.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SREM.d.ts.map new file mode 100644 index 0000000..334fdf1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SREM.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SREM.d.ts","sourceRoot":"","sources":["../../../lib/commands/SREM.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAW,aAAa,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;IAI7D;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa,WAAW,qBAAqB;mCAKxC,WAAW;;AAhB3D,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SREM.js b/back/node_modules/@redis/client/dist/lib/commands/SREM.js new file mode 100644 index 0000000..9e7275a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SREM.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Constructs the SREM command to remove one or more members from a set + * + * @param parser - The command parser + * @param key - The key of the set to remove members from + * @param members - One or more members to remove from the set + * @returns The number of members that were removed from the set + * @see https://redis.io/commands/srem/ + */ + parseCommand(parser, key, members) { + parser.push('SREM'); + parser.pushKey(key); + parser.pushVariadic(members); + }, + transformReply: undefined +}; +//# sourceMappingURL=SREM.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SREM.js.map b/back/node_modules/@redis/client/dist/lib/commands/SREM.js.map new file mode 100644 index 0000000..3f1ee5b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SREM.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SREM.js","sourceRoot":"","sources":["../../../lib/commands/SREM.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,OAA8B;QACpF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SSCAN.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SSCAN.d.ts new file mode 100644 index 0000000..da8a248 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SSCAN.d.ts @@ -0,0 +1,30 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply } from '../RESP/types'; +import { ScanCommonOptions } from './SCAN'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the SSCAN command to incrementally iterate over elements in a set + * + * @param parser - The command parser + * @param key - The key of the set to scan + * @param cursor - The cursor position to start scanning from + * @param options - Optional scanning parameters (COUNT and MATCH) + * @returns Iterator containing cursor position and matching members + * @see https://redis.io/commands/sscan/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, cursor: RedisArgument, options?: ScanCommonOptions) => void; + /** + * Transforms the SSCAN reply into a cursor result object + * + * @param cursor - The next cursor position + * @param members - Array of matching set members + * @returns Object containing cursor and members array + */ + readonly transformReply: (this: void, [cursor, members]: [BlobStringReply, Array]) => { + cursor: BlobStringReply; + members: BlobStringReply[]; + }; +}; +export default _default; +//# sourceMappingURL=SSCAN.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SSCAN.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SSCAN.d.ts.map new file mode 100644 index 0000000..f962d88 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SSCAN.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SSCAN.d.ts","sourceRoot":"","sources":["../../../lib/commands/SSCAN.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAqB,MAAM,QAAQ,CAAC;;;IAI5D;;;;;;;;;OASG;gDAEO,aAAa,OAChB,aAAa,UACV,aAAa,YACX,iBAAiB;IAM7B;;;;;;OAMG;6DAC+B,CAAC,eAAe,EAAE,MAAM,eAAe,CAAC,CAAC;;;;;AA7B7E,wBAmC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SSCAN.js b/back/node_modules/@redis/client/dist/lib/commands/SSCAN.js new file mode 100644 index 0000000..7a6f8a1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SSCAN.js @@ -0,0 +1,35 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const SCAN_1 = require("./SCAN"); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the SSCAN command to incrementally iterate over elements in a set + * + * @param parser - The command parser + * @param key - The key of the set to scan + * @param cursor - The cursor position to start scanning from + * @param options - Optional scanning parameters (COUNT and MATCH) + * @returns Iterator containing cursor position and matching members + * @see https://redis.io/commands/sscan/ + */ + parseCommand(parser, key, cursor, options) { + parser.push('SSCAN'); + parser.pushKey(key); + (0, SCAN_1.parseScanArguments)(parser, cursor, options); + }, + /** + * Transforms the SSCAN reply into a cursor result object + * + * @param cursor - The next cursor position + * @param members - Array of matching set members + * @returns Object containing cursor and members array + */ + transformReply([cursor, members]) { + return { + cursor, + members + }; + } +}; +//# sourceMappingURL=SSCAN.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SSCAN.js.map b/back/node_modules/@redis/client/dist/lib/commands/SSCAN.js.map new file mode 100644 index 0000000..5fd775b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SSCAN.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SSCAN.js","sourceRoot":"","sources":["../../../lib/commands/SSCAN.ts"],"names":[],"mappings":";;AAEA,iCAA8D;AAE9D,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;;;OASG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,MAAqB,EACrB,OAA2B;QAE3B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,IAAA,yBAAkB,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IACD;;;;;;OAMG;IACH,cAAc,CAAC,CAAC,MAAM,EAAE,OAAO,CAA4C;QACzE,OAAO;YACL,MAAM;YACN,OAAO;SACR,CAAC;IACJ,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/STRLEN.d.ts b/back/node_modules/@redis/client/dist/lib/commands/STRLEN.d.ts new file mode 100644 index 0000000..341d687 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/STRLEN.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the STRLEN command to get the length of a string value + * + * @param parser - The command parser + * @param key - The key holding the string value + * @returns The length of the string value, or 0 when key does not exist + * @see https://redis.io/commands/strlen/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=STRLEN.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/STRLEN.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/STRLEN.d.ts.map new file mode 100644 index 0000000..71c874a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/STRLEN.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"STRLEN.d.ts","sourceRoot":"","sources":["../../../lib/commands/STRLEN.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;;IAKlE;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa;mCAIR,WAAW;;AAf3D,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/STRLEN.js b/back/node_modules/@redis/client/dist/lib/commands/STRLEN.js new file mode 100644 index 0000000..e8c7527 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/STRLEN.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Constructs the STRLEN command to get the length of a string value + * + * @param parser - The command parser + * @param key - The key holding the string value + * @returns The length of the string value, or 0 when key does not exist + * @see https://redis.io/commands/strlen/ + */ + parseCommand(parser, key) { + parser.push('STRLEN'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=STRLEN.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/STRLEN.js.map b/back/node_modules/@redis/client/dist/lib/commands/STRLEN.js.map new file mode 100644 index 0000000..3ae9bcc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/STRLEN.js.map @@ -0,0 +1 @@ +{"version":3,"file":"STRLEN.js","sourceRoot":"","sources":["../../../lib/commands/STRLEN.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SUNION.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SUNION.d.ts new file mode 100644 index 0000000..f8d56b9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SUNION.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '../client/parser'; +import { ArrayReply, BlobStringReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the SUNION command to return the members of the set resulting from the union of all the given sets + * + * @param parser - The command parser + * @param keys - One or more set keys to compute the union from + * @returns Array of all elements that are members of at least one of the given sets + * @see https://redis.io/commands/sunion/ + */ + readonly parseCommand: (this: void, parser: CommandParser, keys: RedisVariadicArgument) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=SUNION.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SUNION.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SUNION.d.ts.map new file mode 100644 index 0000000..9f65a2d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SUNION.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SUNION.d.ts","sourceRoot":"","sources":["../../../lib/commands/SUNION.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;;IAK7D;;;;;;;OAOG;gDACkB,aAAa,QAAQ,qBAAqB;mCAIjB,WAAW,eAAe,CAAC;;AAf3E,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SUNION.js b/back/node_modules/@redis/client/dist/lib/commands/SUNION.js new file mode 100644 index 0000000..64c386f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SUNION.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Constructs the SUNION command to return the members of the set resulting from the union of all the given sets + * + * @param parser - The command parser + * @param keys - One or more set keys to compute the union from + * @returns Array of all elements that are members of at least one of the given sets + * @see https://redis.io/commands/sunion/ + */ + parseCommand(parser, keys) { + parser.push('SUNION'); + parser.pushKeys(keys); + }, + transformReply: undefined +}; +//# sourceMappingURL=SUNION.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SUNION.js.map b/back/node_modules/@redis/client/dist/lib/commands/SUNION.js.map new file mode 100644 index 0000000..51a188b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SUNION.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SUNION.js","sourceRoot":"","sources":["../../../lib/commands/SUNION.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,IAA2B;QAC7D,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SUNIONSTORE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SUNIONSTORE.d.ts new file mode 100644 index 0000000..c9c9567 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SUNIONSTORE.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the SUNIONSTORE command to store the union of multiple sets into a destination set + * + * @param parser - The command parser + * @param destination - The destination key to store the resulting set + * @param keys - One or more source set keys to compute the union from + * @returns The number of elements in the resulting set + * @see https://redis.io/commands/sunionstore/ + */ + readonly parseCommand: (this: void, parser: CommandParser, destination: RedisArgument, keys: RedisVariadicArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=SUNIONSTORE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SUNIONSTORE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SUNIONSTORE.d.ts.map new file mode 100644 index 0000000..8448331 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SUNIONSTORE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SUNIONSTORE.d.ts","sourceRoot":"","sources":["../../../lib/commands/SUNIONSTORE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;IAI7D;;;;;;;;OAQG;gDACkB,aAAa,eAAe,aAAa,QAAQ,qBAAqB;mCAK7C,WAAW;;AAhB3D,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SUNIONSTORE.js b/back/node_modules/@redis/client/dist/lib/commands/SUNIONSTORE.js new file mode 100644 index 0000000..9b5202b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SUNIONSTORE.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Constructs the SUNIONSTORE command to store the union of multiple sets into a destination set + * + * @param parser - The command parser + * @param destination - The destination key to store the resulting set + * @param keys - One or more source set keys to compute the union from + * @returns The number of elements in the resulting set + * @see https://redis.io/commands/sunionstore/ + */ + parseCommand(parser, destination, keys) { + parser.push('SUNIONSTORE'); + parser.pushKey(destination); + parser.pushKeys(keys); + }, + transformReply: undefined +}; +//# sourceMappingURL=SUNIONSTORE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SUNIONSTORE.js.map b/back/node_modules/@redis/client/dist/lib/commands/SUNIONSTORE.js.map new file mode 100644 index 0000000..7e5f9fd --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SUNIONSTORE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SUNIONSTORE.js","sourceRoot":"","sources":["../../../lib/commands/SUNIONSTORE.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,WAA0B,EAAE,IAA2B;QACzF,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SWAPDB.d.ts b/back/node_modules/@redis/client/dist/lib/commands/SWAPDB.d.ts new file mode 100644 index 0000000..b05a53b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SWAPDB.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + /** + * Swaps the data of two Redis databases. + * @param parser - The Redis command parser. + * @param index1 - First database index. + * @param index2 - Second database index. + */ + readonly parseCommand: (this: void, parser: CommandParser, index1: number, index2: number) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=SWAPDB.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SWAPDB.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/SWAPDB.d.ts.map new file mode 100644 index 0000000..3d05dd3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SWAPDB.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SWAPDB.d.ts","sourceRoot":"","sources":["../../../lib/commands/SWAPDB.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKzD;;;;;OAKG;gDACkB,aAAa,UAAU,MAAM,UAAU,MAAM;mCAGpB,kBAAkB,IAAI,CAAC;;AAZvE,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SWAPDB.js b/back/node_modules/@redis/client/dist/lib/commands/SWAPDB.js new file mode 100644 index 0000000..e8bc20a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SWAPDB.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: false, + /** + * Swaps the data of two Redis databases. + * @param parser - The Redis command parser. + * @param index1 - First database index. + * @param index2 - Second database index. + */ + parseCommand(parser, index1, index2) { + parser.push('SWAPDB', index1.toString(), index2.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=SWAPDB.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/SWAPDB.js.map b/back/node_modules/@redis/client/dist/lib/commands/SWAPDB.js.map new file mode 100644 index 0000000..469176b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/SWAPDB.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SWAPDB.js","sourceRoot":"","sources":["../../../lib/commands/SWAPDB.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,MAAc,EAAE,MAAc;QAChE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/TIME.d.ts b/back/node_modules/@redis/client/dist/lib/commands/TIME.d.ts new file mode 100644 index 0000000..48fb359 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/TIME.d.ts @@ -0,0 +1,20 @@ +import { CommandParser } from '../client/parser'; +import { BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the TIME command to return the server's current time + * + * @param parser - The command parser + * @returns Array containing the Unix timestamp in seconds and microseconds + * @see https://redis.io/commands/time/ + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: () => [ + unixTimestamp: BlobStringReply<`${number}`>, + microseconds: BlobStringReply<`${number}`> + ]; +}; +export default _default; +//# sourceMappingURL=TIME.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/TIME.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/TIME.d.ts.map new file mode 100644 index 0000000..9823126 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/TIME.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"TIME.d.ts","sourceRoot":"","sources":["../../../lib/commands/TIME.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;;IAKvD;;;;;;OAMG;gDACkB,aAAa;mCAGY;QAC5C,aAAa,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAAC;QAC3C,YAAY,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAAC;KAC3C;;AAhBH,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/TIME.js b/back/node_modules/@redis/client/dist/lib/commands/TIME.js new file mode 100644 index 0000000..d9d0d85 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/TIME.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the TIME command to return the server's current time + * + * @param parser - The command parser + * @returns Array containing the Unix timestamp in seconds and microseconds + * @see https://redis.io/commands/time/ + */ + parseCommand(parser) { + parser.push('TIME'); + }, + transformReply: undefined +}; +//# sourceMappingURL=TIME.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/TIME.js.map b/back/node_modules/@redis/client/dist/lib/commands/TIME.js.map new file mode 100644 index 0000000..2bc415a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/TIME.js.map @@ -0,0 +1 @@ +{"version":3,"file":"TIME.js","sourceRoot":"","sources":["../../../lib/commands/TIME.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAGf;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/TOUCH.d.ts b/back/node_modules/@redis/client/dist/lib/commands/TOUCH.d.ts new file mode 100644 index 0000000..e9d0c70 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/TOUCH.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the TOUCH command to alter the last access time of keys + * + * @param parser - The command parser + * @param key - One or more keys to touch + * @returns The number of keys that were touched + * @see https://redis.io/commands/touch/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisVariadicArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=TOUCH.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/TOUCH.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/TOUCH.d.ts.map new file mode 100644 index 0000000..fdd9429 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/TOUCH.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"TOUCH.d.ts","sourceRoot":"","sources":["../../../lib/commands/TOUCH.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;IAI7D;;;;;;;OAOG;gDACkB,aAAa,OAAO,qBAAqB;mCAIhB,WAAW;;AAd3D,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/TOUCH.js b/back/node_modules/@redis/client/dist/lib/commands/TOUCH.js new file mode 100644 index 0000000..7db9c8c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/TOUCH.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Constructs the TOUCH command to alter the last access time of keys + * + * @param parser - The command parser + * @param key - One or more keys to touch + * @returns The number of keys that were touched + * @see https://redis.io/commands/touch/ + */ + parseCommand(parser, key) { + parser.push('TOUCH'); + parser.pushKeys(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=TOUCH.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/TOUCH.js.map b/back/node_modules/@redis/client/dist/lib/commands/TOUCH.js.map new file mode 100644 index 0000000..2eed348 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/TOUCH.js.map @@ -0,0 +1 @@ +{"version":3,"file":"TOUCH.js","sourceRoot":"","sources":["../../../lib/commands/TOUCH.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAA0B;QAC5D,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/TTL.d.ts b/back/node_modules/@redis/client/dist/lib/commands/TTL.d.ts new file mode 100644 index 0000000..2805747 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/TTL.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the TTL command to get the remaining time to live of a key + * + * @param parser - The command parser + * @param key - Key to check + * @returns Time to live in seconds, -2 if key does not exist, -1 if has no timeout + * @see https://redis.io/commands/ttl/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=TTL.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/TTL.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/TTL.d.ts.map new file mode 100644 index 0000000..de49f7a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/TTL.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"TTL.d.ts","sourceRoot":"","sources":["../../../lib/commands/TTL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;IAIlE;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa;mCAIR,WAAW;;AAd3D,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/TTL.js b/back/node_modules/@redis/client/dist/lib/commands/TTL.js new file mode 100644 index 0000000..b0fc9d7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/TTL.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the TTL command to get the remaining time to live of a key + * + * @param parser - The command parser + * @param key - Key to check + * @returns Time to live in seconds, -2 if key does not exist, -1 if has no timeout + * @see https://redis.io/commands/ttl/ + */ + parseCommand(parser, key) { + parser.push('TTL'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=TTL.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/TTL.js.map b/back/node_modules/@redis/client/dist/lib/commands/TTL.js.map new file mode 100644 index 0000000..0490ddc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/TTL.js.map @@ -0,0 +1 @@ +{"version":3,"file":"TTL.js","sourceRoot":"","sources":["../../../lib/commands/TTL.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/TYPE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/TYPE.d.ts new file mode 100644 index 0000000..490f16f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/TYPE.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, SimpleStringReply } from '../RESP/types'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the TYPE command to determine the data type stored at key + * + * @param parser - The command parser + * @param key - Key to check + * @returns String reply: "none", "string", "list", "set", "zset", "hash", "stream" + * @see https://redis.io/commands/type/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => SimpleStringReply; +}; +export default _default; +//# sourceMappingURL=TYPE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/TYPE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/TYPE.d.ts.map new file mode 100644 index 0000000..a33b97c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/TYPE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"TYPE.d.ts","sourceRoot":"","sources":["../../../lib/commands/TYPE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;;;;IAKxE;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa;mCAIR,iBAAiB;;AAfjE,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/TYPE.js b/back/node_modules/@redis/client/dist/lib/commands/TYPE.js new file mode 100644 index 0000000..8b8555f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/TYPE.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Constructs the TYPE command to determine the data type stored at key + * + * @param parser - The command parser + * @param key - Key to check + * @returns String reply: "none", "string", "list", "set", "zset", "hash", "stream" + * @see https://redis.io/commands/type/ + */ + parseCommand(parser, key) { + parser.push('TYPE'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=TYPE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/TYPE.js.map b/back/node_modules/@redis/client/dist/lib/commands/TYPE.js.map new file mode 100644 index 0000000..29bc42a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/TYPE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"TYPE.js","sourceRoot":"","sources":["../../../lib/commands/TYPE.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAA+C;CACrC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/UNLINK.d.ts b/back/node_modules/@redis/client/dist/lib/commands/UNLINK.d.ts new file mode 100644 index 0000000..c8d2748 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/UNLINK.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the UNLINK command to asynchronously delete one or more keys + * + * @param parser - The command parser + * @param keys - One or more keys to unlink + * @returns The number of keys that were unlinked + * @see https://redis.io/commands/unlink/ + */ + readonly parseCommand: (this: void, parser: CommandParser, keys: RedisVariadicArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=UNLINK.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/UNLINK.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/UNLINK.d.ts.map new file mode 100644 index 0000000..f27abf3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/UNLINK.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"UNLINK.d.ts","sourceRoot":"","sources":["../../../lib/commands/UNLINK.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;IAI7D;;;;;;;OAOG;gDACkB,aAAa,QAAQ,qBAAqB;mCAIjB,WAAW;;AAd3D,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/UNLINK.js b/back/node_modules/@redis/client/dist/lib/commands/UNLINK.js new file mode 100644 index 0000000..34735c5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/UNLINK.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Constructs the UNLINK command to asynchronously delete one or more keys + * + * @param parser - The command parser + * @param keys - One or more keys to unlink + * @returns The number of keys that were unlinked + * @see https://redis.io/commands/unlink/ + */ + parseCommand(parser, keys) { + parser.push('UNLINK'); + parser.pushKeys(keys); + }, + transformReply: undefined +}; +//# sourceMappingURL=UNLINK.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/UNLINK.js.map b/back/node_modules/@redis/client/dist/lib/commands/UNLINK.js.map new file mode 100644 index 0000000..d4474bc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/UNLINK.js.map @@ -0,0 +1 @@ +{"version":3,"file":"UNLINK.js","sourceRoot":"","sources":["../../../lib/commands/UNLINK.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,IAA2B;QAC7D,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VADD.d.ts b/back/node_modules/@redis/client/dist/lib/commands/VADD.d.ts new file mode 100644 index 0000000..66e3452 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VADD.d.ts @@ -0,0 +1,29 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument } from '../RESP/types'; +export interface VAddOptions { + REDUCE?: number; + CAS?: boolean; + QUANT?: 'NOQUANT' | 'BIN' | 'Q8'; + EF?: number; + SETATTR?: Record; + M?: number; +} +declare const _default: { + /** + * Add a new element into the vector set specified by key + * + * @param parser - The command parser + * @param key - The name of the key that will hold the vector set data + * @param vector - The vector data as array of numbers + * @param element - The name of the element being added to the vector set + * @param options - Optional parameters for vector addition + * @see https://redis.io/commands/vadd/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, vector: Array, element: RedisArgument, options?: VAddOptions) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("../RESP/types").BooleanReply; + }; +}; +export default _default; +//# sourceMappingURL=VADD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VADD.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/VADD.d.ts.map new file mode 100644 index 0000000..f802c99 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VADD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"VADD.d.ts","sourceRoot":"","sources":["../../../lib/commands/VADD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAW,MAAM,eAAe,CAAC;AAGvD,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC;IACjC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ;;IAGC;;;;;;;;;OASG;gDAEO,aAAa,OAChB,aAAa,UACV,MAAM,MAAM,CAAC,WACZ,aAAa,YACZ,WAAW;;;;;;AAhBzB,wBAmD6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VADD.js b/back/node_modules/@redis/client/dist/lib/commands/VADD.js new file mode 100644 index 0000000..0c25ae4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VADD.js @@ -0,0 +1,42 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + /** + * Add a new element into the vector set specified by key + * + * @param parser - The command parser + * @param key - The name of the key that will hold the vector set data + * @param vector - The vector data as array of numbers + * @param element - The name of the element being added to the vector set + * @param options - Optional parameters for vector addition + * @see https://redis.io/commands/vadd/ + */ + parseCommand(parser, key, vector, element, options) { + parser.push('VADD'); + parser.pushKey(key); + if (options?.REDUCE !== undefined) { + parser.push('REDUCE', options.REDUCE.toString()); + } + parser.push('VALUES', vector.length.toString()); + for (const value of vector) { + parser.push((0, generic_transformers_1.transformDoubleArgument)(value)); + } + parser.push(element); + if (options?.CAS) { + parser.push('CAS'); + } + options?.QUANT && parser.push(options.QUANT); + if (options?.EF !== undefined) { + parser.push('EF', options.EF.toString()); + } + if (options?.SETATTR) { + parser.push('SETATTR', JSON.stringify(options.SETATTR)); + } + if (options?.M !== undefined) { + parser.push('M', options.M.toString()); + } + }, + transformReply: generic_transformers_1.transformBooleanReply +}; +//# sourceMappingURL=VADD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VADD.js.map b/back/node_modules/@redis/client/dist/lib/commands/VADD.js.map new file mode 100644 index 0000000..fa96cbc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VADD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"VADD.js","sourceRoot":"","sources":["../../../lib/commands/VADD.ts"],"names":[],"mappings":";;AAEA,iEAAwF;AAWxF,kBAAe;IACb;;;;;;;;;OASG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,MAAqB,EACrB,OAAsB,EACtB,OAAqB;QAErB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,IAAA,8CAAuB,EAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAErB,IAAI,OAAO,EAAE,GAAG,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAED,OAAO,EAAE,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE7C,IAAI,OAAO,EAAE,EAAE,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,OAAO,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,cAAc,EAAE,4CAAqB;CACX,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VCARD.d.ts b/back/node_modules/@redis/client/dist/lib/commands/VCARD.d.ts new file mode 100644 index 0000000..c22c2ba --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VCARD.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Retrieve the number of elements in a vector set + * + * @param parser - The command parser + * @param key - The key of the vector set + * @see https://redis.io/commands/vcard/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=VCARD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VCARD.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/VCARD.d.ts.map new file mode 100644 index 0000000..279bb06 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VCARD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"VCARD.d.ts","sourceRoot":"","sources":["../../../lib/commands/VCARD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;IAIlE;;;;;;OAMG;gDACkB,aAAa,OAAO,aAAa;mCAIR,WAAW;;AAb3D,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VCARD.js b/back/node_modules/@redis/client/dist/lib/commands/VCARD.js new file mode 100644 index 0000000..97258cc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VCARD.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Retrieve the number of elements in a vector set + * + * @param parser - The command parser + * @param key - The key of the vector set + * @see https://redis.io/commands/vcard/ + */ + parseCommand(parser, key) { + parser.push('VCARD'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=VCARD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VCARD.js.map b/back/node_modules/@redis/client/dist/lib/commands/VCARD.js.map new file mode 100644 index 0000000..93f9fde --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VCARD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"VCARD.js","sourceRoot":"","sources":["../../../lib/commands/VCARD.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VDIM.d.ts b/back/node_modules/@redis/client/dist/lib/commands/VDIM.d.ts new file mode 100644 index 0000000..09633e4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VDIM.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Retrieve the dimension of the vectors in a vector set + * + * @param parser - The command parser + * @param key - The key of the vector set + * @see https://redis.io/commands/vdim/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=VDIM.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VDIM.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/VDIM.d.ts.map new file mode 100644 index 0000000..7e85910 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VDIM.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"VDIM.d.ts","sourceRoot":"","sources":["../../../lib/commands/VDIM.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;IAIlE;;;;;;OAMG;gDACkB,aAAa,OAAO,aAAa;mCAIR,WAAW;;AAb3D,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VDIM.js b/back/node_modules/@redis/client/dist/lib/commands/VDIM.js new file mode 100644 index 0000000..a763e3f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VDIM.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Retrieve the dimension of the vectors in a vector set + * + * @param parser - The command parser + * @param key - The key of the vector set + * @see https://redis.io/commands/vdim/ + */ + parseCommand(parser, key) { + parser.push('VDIM'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=VDIM.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VDIM.js.map b/back/node_modules/@redis/client/dist/lib/commands/VDIM.js.map new file mode 100644 index 0000000..410c775 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VDIM.js.map @@ -0,0 +1 @@ +{"version":3,"file":"VDIM.js","sourceRoot":"","sources":["../../../lib/commands/VDIM.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VEMB.d.ts b/back/node_modules/@redis/client/dist/lib/commands/VEMB.d.ts new file mode 100644 index 0000000..b840590 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VEMB.d.ts @@ -0,0 +1,20 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Retrieve the approximate vector associated with a vector set element + * + * @param parser - The command parser + * @param key - The key of the vector set + * @param element - The name of the element to retrieve the vector for + * @see https://redis.io/commands/vemb/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, element: RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").DoubleReply[]; + 3: () => import("../RESP/types").ArrayReply>; + }; +}; +export default _default; +//# sourceMappingURL=VEMB.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VEMB.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/VEMB.d.ts.map new file mode 100644 index 0000000..ed92a25 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VEMB.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"VEMB.d.ts","sourceRoot":"","sources":["../../../lib/commands/VEMB.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAW,MAAM,eAAe,CAAC;;;IAKrD;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,WAAW,aAAa;;;;;;AAVhF,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VEMB.js b/back/node_modules/@redis/client/dist/lib/commands/VEMB.js new file mode 100644 index 0000000..feeb3dd --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VEMB.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + IS_READ_ONLY: true, + /** + * Retrieve the approximate vector associated with a vector set element + * + * @param parser - The command parser + * @param key - The key of the vector set + * @param element - The name of the element to retrieve the vector for + * @see https://redis.io/commands/vemb/ + */ + parseCommand(parser, key, element) { + parser.push('VEMB'); + parser.pushKey(key); + parser.push(element); + }, + transformReply: generic_transformers_1.transformDoubleArrayReply +}; +//# sourceMappingURL=VEMB.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VEMB.js.map b/back/node_modules/@redis/client/dist/lib/commands/VEMB.js.map new file mode 100644 index 0000000..a4f6e01 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VEMB.js.map @@ -0,0 +1 @@ +{"version":3,"file":"VEMB.js","sourceRoot":"","sources":["../../../lib/commands/VEMB.ts"],"names":[],"mappings":";;AAEA,iEAAmE;AAEnE,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,OAAsB;QAC5E,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IACD,cAAc,EAAE,gDAAyB;CACf,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VEMB_RAW.d.ts b/back/node_modules/@redis/client/dist/lib/commands/VEMB_RAW.d.ts new file mode 100644 index 0000000..3a49013 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VEMB_RAW.d.ts @@ -0,0 +1,26 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply, SimpleStringReply, DoubleReply } from '../RESP/types'; +type RawVembReply = { + quantization: SimpleStringReply; + raw: BlobStringReply; + l2Norm: DoubleReply; + quantizationRange?: DoubleReply; +}; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Retrieve the RAW approximate vector associated with a vector set element + * + * @param parser - The command parser + * @param key - The key of the vector set + * @param element - The name of the element to retrieve the vector for + * @see https://redis.io/commands/vemb/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, element: RedisArgument) => void; + readonly transformReply: { + 2: (reply: any[]) => RawVembReply; + 3: (reply: any[]) => RawVembReply; + }; +}; +export default _default; +//# sourceMappingURL=VEMB_RAW.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VEMB_RAW.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/VEMB_RAW.d.ts.map new file mode 100644 index 0000000..4796be5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VEMB_RAW.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"VEMB_RAW.d.ts","sourceRoot":"","sources":["../../../lib/commands/VEMB_RAW.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACL,aAAa,EAEb,eAAe,EACf,iBAAiB,EACjB,WAAW,EACZ,MAAM,eAAe,CAAC;AAIvB,KAAK,YAAY,GAAG;IAClB,YAAY,EAAE,iBAAiB,CAAC;IAChC,GAAG,EAAE,eAAe,CAAC;IACrB,MAAM,EAAE,WAAW,CAAC;IACpB,iBAAiB,CAAC,EAAE,WAAW,CAAC;CACjC,CAAC;;;IAuBA;;;;;;;OAOG;gDAEO,aAAa,OAChB,aAAa,WACT,aAAa;;;;;;AAb1B,wBAmB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VEMB_RAW.js b/back/node_modules/@redis/client/dist/lib/commands/VEMB_RAW.js new file mode 100644 index 0000000..f31ed7a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VEMB_RAW.js @@ -0,0 +1,42 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +const VEMB_1 = __importDefault(require("./VEMB")); +const transformRawVembReply = { + 2: (reply) => { + return { + quantization: reply[0], + raw: reply[1], + l2Norm: generic_transformers_1.transformDoubleReply[2](reply[2]), + ...(reply[3] !== undefined && { quantizationRange: generic_transformers_1.transformDoubleReply[2](reply[3]) }) + }; + }, + 3: (reply) => { + return { + quantization: reply[0], + raw: reply[1], + l2Norm: reply[2], + quantizationRange: reply[3] + }; + }, +}; +exports.default = { + IS_READ_ONLY: true, + /** + * Retrieve the RAW approximate vector associated with a vector set element + * + * @param parser - The command parser + * @param key - The key of the vector set + * @param element - The name of the element to retrieve the vector for + * @see https://redis.io/commands/vemb/ + */ + parseCommand(parser, key, element) { + VEMB_1.default.parseCommand(parser, key, element); + parser.push('RAW'); + }, + transformReply: transformRawVembReply +}; +//# sourceMappingURL=VEMB_RAW.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VEMB_RAW.js.map b/back/node_modules/@redis/client/dist/lib/commands/VEMB_RAW.js.map new file mode 100644 index 0000000..3a2ce44 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VEMB_RAW.js.map @@ -0,0 +1 @@ +{"version":3,"file":"VEMB_RAW.js","sourceRoot":"","sources":["../../../lib/commands/VEMB_RAW.ts"],"names":[],"mappings":";;;;;AAQA,iEAA8D;AAC9D,kDAA0B;AAS1B,MAAM,qBAAqB,GAAG;IAC5B,CAAC,EAAE,CAAC,KAAY,EAAgB,EAAE;QAChC,OAAO;YACL,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;YACtB,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;YACb,MAAM,EAAE,2CAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,EAAE,iBAAiB,EAAE,2CAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACxF,CAAC;IACJ,CAAC;IACD,CAAC,EAAE,CAAC,KAAY,EAAgB,EAAE;QAChC,OAAO;YACL,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;YACtB,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;YACb,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;YAChB,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC;SAC5B,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,OAAsB;QAEtB,cAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,cAAc,EAAE,qBAAqB;CACX,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VGETATTR.d.ts b/back/node_modules/@redis/client/dist/lib/commands/VGETATTR.d.ts new file mode 100644 index 0000000..f31ea54 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VGETATTR.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument } from '../RESP/types'; +import { transformRedisJsonNullReply } from './generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Retrieve the attributes of a vector set element + * + * @param parser - The command parser + * @param key - The key of the vector set + * @param element - The name of the element to retrieve attributes for + * @see https://redis.io/commands/vgetattr/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, element: RedisArgument) => void; + readonly transformReply: typeof transformRedisJsonNullReply; +}; +export default _default; +//# sourceMappingURL=VGETATTR.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VGETATTR.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/VGETATTR.d.ts.map new file mode 100644 index 0000000..705aaa3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VGETATTR.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"VGETATTR.d.ts","sourceRoot":"","sources":["../../../lib/commands/VGETATTR.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAW,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;;;IAInE;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,WAAW,aAAa;;;AAVhF,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VGETATTR.js b/back/node_modules/@redis/client/dist/lib/commands/VGETATTR.js new file mode 100644 index 0000000..ca05bd7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VGETATTR.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + IS_READ_ONLY: true, + /** + * Retrieve the attributes of a vector set element + * + * @param parser - The command parser + * @param key - The key of the vector set + * @param element - The name of the element to retrieve attributes for + * @see https://redis.io/commands/vgetattr/ + */ + parseCommand(parser, key, element) { + parser.push('VGETATTR'); + parser.pushKey(key); + parser.push(element); + }, + transformReply: generic_transformers_1.transformRedisJsonNullReply +}; +//# sourceMappingURL=VGETATTR.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VGETATTR.js.map b/back/node_modules/@redis/client/dist/lib/commands/VGETATTR.js.map new file mode 100644 index 0000000..4f28939 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VGETATTR.js.map @@ -0,0 +1 @@ +{"version":3,"file":"VGETATTR.js","sourceRoot":"","sources":["../../../lib/commands/VGETATTR.ts"],"names":[],"mappings":";;AAEA,iEAAqE;AAErE,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,OAAsB;QAC5E,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IACD,cAAc,EAAE,kDAA2B;CACjB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VINFO.d.ts b/back/node_modules/@redis/client/dist/lib/commands/VINFO.d.ts new file mode 100644 index 0000000..51b86e3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VINFO.d.ts @@ -0,0 +1,45 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, TuplesToMapReply, SimpleStringReply, NumberReply } from '../RESP/types'; +export type VInfoReplyMap = TuplesToMapReply<[ + [ + SimpleStringReply<'quant-type'>, + SimpleStringReply + ], + [ + SimpleStringReply<'vector-dim'>, + NumberReply + ], + [ + SimpleStringReply<'size'>, + NumberReply + ], + [ + SimpleStringReply<'max-level'>, + NumberReply + ], + [ + SimpleStringReply<'vset-uid'>, + NumberReply + ], + [ + SimpleStringReply<'hnsw-max-node-uid'>, + NumberReply + ] +]>; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Retrieve metadata and internal details about a vector set, including size, dimensions, quantization type, and graph structure + * + * @param parser - The command parser + * @param key - The key of the vector set + * @see https://redis.io/commands/vinfo/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: [SimpleStringReply<"quant-type">, SimpleStringReply, SimpleStringReply<"vector-dim">, NumberReply, SimpleStringReply<"size">, NumberReply, SimpleStringReply<"max-level">, NumberReply, SimpleStringReply<"vset-uid">, NumberReply, SimpleStringReply<"hnsw-max-node-uid">, NumberReply]) => VInfoReplyMap; + readonly 3: () => VInfoReplyMap; + }; +}; +export default _default; +//# sourceMappingURL=VINFO.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VINFO.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/VINFO.d.ts.map new file mode 100644 index 0000000..7b99e58 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VINFO.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"VINFO.d.ts","sourceRoot":"","sources":["../../../lib/commands/VINFO.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAoC,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAElI,MAAM,MAAM,aAAa,GAAG,gBAAgB,CAAC;IAC3C;QAAC,iBAAiB,CAAC,YAAY,CAAC;QAAE,iBAAiB;KAAC;IACpD;QAAC,iBAAiB,CAAC,YAAY,CAAC;QAAE,WAAW;KAAC;IAC9C;QAAC,iBAAiB,CAAC,MAAM,CAAC;QAAE,WAAW;KAAC;IACxC;QAAC,iBAAiB,CAAC,WAAW,CAAC;QAAE,WAAW;KAAC;IAC7C;QAAC,iBAAiB,CAAC,UAAU,CAAC;QAAE,WAAW;KAAC;IAC5C;QAAC,iBAAiB,CAAC,mBAAmB,CAAC;QAAE,WAAW;KAAC;CACtD,CAAC,CAAC;;;IAID;;;;;;OAMG;gDACkB,aAAa,OAAO,aAAa;;;;;;AATxD,wBAyB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VINFO.js b/back/node_modules/@redis/client/dist/lib/commands/VINFO.js new file mode 100644 index 0000000..ad18da4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VINFO.js @@ -0,0 +1,27 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Retrieve metadata and internal details about a vector set, including size, dimensions, quantization type, and graph structure + * + * @param parser - The command parser + * @param key - The key of the vector set + * @see https://redis.io/commands/vinfo/ + */ + parseCommand(parser, key) { + parser.push('VINFO'); + parser.pushKey(key); + }, + transformReply: { + 2: (reply) => { + const ret = Object.create(null); + for (let i = 0; i < reply.length; i += 2) { + ret[reply[i].toString()] = reply[i + 1]; + } + return ret; + }, + 3: undefined + } +}; +//# sourceMappingURL=VINFO.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VINFO.js.map b/back/node_modules/@redis/client/dist/lib/commands/VINFO.js.map new file mode 100644 index 0000000..e53cc77 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VINFO.js.map @@ -0,0 +1 @@ +{"version":3,"file":"VINFO.js","sourceRoot":"","sources":["../../../lib/commands/VINFO.ts"],"names":[],"mappings":";;AAYA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAA6C,EAAiB,EAAE;YAClE,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,CAAC;YAED,OAAO,GAA+B,CAAC;QACzC,CAAC;QACD,CAAC,EAAE,SAA2C;KAC/C;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VLINKS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/VLINKS.d.ts new file mode 100644 index 0000000..cb0f6a5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VLINKS.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Retrieve the neighbors of a specified element in a vector set; the connections for each layer of the HNSW graph + * + * @param parser - The command parser + * @param key - The key of the vector set + * @param element - The name of the element to retrieve neighbors for + * @see https://redis.io/commands/vlinks/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, element: RedisArgument) => void; + readonly transformReply: () => ArrayReply>; +}; +export default _default; +//# sourceMappingURL=VLINKS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VLINKS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/VLINKS.d.ts.map new file mode 100644 index 0000000..5b9d715 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VLINKS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"VLINKS.d.ts","sourceRoot":"","sources":["../../../lib/commands/VLINKS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;IAIlF;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,WAAW,aAAa;mCAKhC,WAAW,WAAW,eAAe,CAAC,CAAC;;AAfvF,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VLINKS.js b/back/node_modules/@redis/client/dist/lib/commands/VLINKS.js new file mode 100644 index 0000000..8787039 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VLINKS.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Retrieve the neighbors of a specified element in a vector set; the connections for each layer of the HNSW graph + * + * @param parser - The command parser + * @param key - The key of the vector set + * @param element - The name of the element to retrieve neighbors for + * @see https://redis.io/commands/vlinks/ + */ + parseCommand(parser, key, element) { + parser.push('VLINKS'); + parser.pushKey(key); + parser.push(element); + }, + transformReply: undefined +}; +//# sourceMappingURL=VLINKS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VLINKS.js.map b/back/node_modules/@redis/client/dist/lib/commands/VLINKS.js.map new file mode 100644 index 0000000..e710077 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VLINKS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"VLINKS.js","sourceRoot":"","sources":["../../../lib/commands/VLINKS.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,OAAsB;QAC5E,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IACD,cAAc,EAAE,SAAqE;CAC3D,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VLINKS_WITHSCORES.d.ts b/back/node_modules/@redis/client/dist/lib/commands/VLINKS_WITHSCORES.d.ts new file mode 100644 index 0000000..bfd7b3b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VLINKS_WITHSCORES.d.ts @@ -0,0 +1,17 @@ +import { BlobStringReply, DoubleReply, MapReply } from '../RESP/types'; +declare function transformVLinksWithScoresReply(reply: any): Array>; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Get the connections for each layer of the HNSW graph with similarity scores + * @param args - Same parameters as the VLINKS command + * @see https://redis.io/commands/vlinks/ + */ + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: typeof transformVLinksWithScoresReply; + readonly 3: () => Array>; + }; +}; +export default _default; +//# sourceMappingURL=VLINKS_WITHSCORES.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VLINKS_WITHSCORES.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/VLINKS_WITHSCORES.d.ts.map new file mode 100644 index 0000000..5b6c785 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VLINKS_WITHSCORES.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"VLINKS_WITHSCORES.d.ts","sourceRoot":"","sources":["../../../lib/commands/VLINKS_WITHSCORES.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAW,WAAW,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAKhF,iBAAS,8BAA8B,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAiBtF;;;IAIC;;;;OAIG;;;;0BASgC,MAAM,SAAS,eAAe,EAAE,WAAW,CAAC,CAAC;;;AAflF,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VLINKS_WITHSCORES.js b/back/node_modules/@redis/client/dist/lib/commands/VLINKS_WITHSCORES.js new file mode 100644 index 0000000..9088613 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VLINKS_WITHSCORES.js @@ -0,0 +1,39 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +const VLINKS_1 = __importDefault(require("./VLINKS")); +function transformVLinksWithScoresReply(reply) { + const layers = []; + for (const layer of reply) { + const obj = Object.create(null); + // Each layer contains alternating element names and scores + for (let i = 0; i < layer.length; i += 2) { + const element = layer[i]; + const score = generic_transformers_1.transformDoubleReply[2](layer[i + 1]); + obj[element.toString()] = score; + } + layers.push(obj); + } + return layers; +} +exports.default = { + IS_READ_ONLY: VLINKS_1.default.IS_READ_ONLY, + /** + * Get the connections for each layer of the HNSW graph with similarity scores + * @param args - Same parameters as the VLINKS command + * @see https://redis.io/commands/vlinks/ + */ + parseCommand(...args) { + const parser = args[0]; + VLINKS_1.default.parseCommand(...args); + parser.push('WITHSCORES'); + }, + transformReply: { + 2: transformVLinksWithScoresReply, + 3: undefined + } +}; +//# sourceMappingURL=VLINKS_WITHSCORES.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VLINKS_WITHSCORES.js.map b/back/node_modules/@redis/client/dist/lib/commands/VLINKS_WITHSCORES.js.map new file mode 100644 index 0000000..a781cbd --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VLINKS_WITHSCORES.js.map @@ -0,0 +1 @@ +{"version":3,"file":"VLINKS_WITHSCORES.js","sourceRoot":"","sources":["../../../lib/commands/VLINKS_WITHSCORES.ts"],"names":[],"mappings":";;;;;AACA,iEAA8D;AAC9D,sDAA8B;AAG9B,SAAS,8BAA8B,CAAC,KAAU;IAChD,MAAM,MAAM,GAAuC,EAAE,CAAC;IAEtD,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAgC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE7D,2DAA2D;QAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,KAAK,GAAG,2CAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACpD,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC;QAClC,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,kBAAe;IACb,YAAY,EAAE,gBAAM,CAAC,YAAY;IACjC;;;;OAIG;IACH,YAAY,CAAC,GAAG,IAA4C;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEvB,gBAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,8BAA8B;QACjC,CAAC,EAAE,SAA2E;KAC/E;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VRANDMEMBER.d.ts b/back/node_modules/@redis/client/dist/lib/commands/VRANDMEMBER.d.ts new file mode 100644 index 0000000..a722521 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VRANDMEMBER.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply, ArrayReply, NullReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Retrieve random elements of a vector set + * + * @param parser - The command parser + * @param key - The key of the vector set + * @param count - Optional number of elements to return + * @see https://redis.io/commands/vrandmember/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, count?: number) => void; + readonly transformReply: () => BlobStringReply | ArrayReply | NullReply; +}; +export default _default; +//# sourceMappingURL=VRANDMEMBER.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VRANDMEMBER.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/VRANDMEMBER.d.ts.map new file mode 100644 index 0000000..559bc66 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VRANDMEMBER.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"VRANDMEMBER.d.ts","sourceRoot":"","sources":["../../../lib/commands/VRANDMEMBER.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAW,SAAS,EAAE,MAAM,eAAe,CAAC;;;IAI7F;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,UAAU,MAAM;mCAQxB,eAAe,GAAG,WAAW,eAAe,CAAC,GAAG,SAAS;;AAlBzG,wBAmB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VRANDMEMBER.js b/back/node_modules/@redis/client/dist/lib/commands/VRANDMEMBER.js new file mode 100644 index 0000000..c050b7b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VRANDMEMBER.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Retrieve random elements of a vector set + * + * @param parser - The command parser + * @param key - The key of the vector set + * @param count - Optional number of elements to return + * @see https://redis.io/commands/vrandmember/ + */ + parseCommand(parser, key, count) { + parser.push('VRANDMEMBER'); + parser.pushKey(key); + if (count !== undefined) { + parser.push(count.toString()); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=VRANDMEMBER.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VRANDMEMBER.js.map b/back/node_modules/@redis/client/dist/lib/commands/VRANDMEMBER.js.map new file mode 100644 index 0000000..4925269 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VRANDMEMBER.js.map @@ -0,0 +1 @@ +{"version":3,"file":"VRANDMEMBER.js","sourceRoot":"","sources":["../../../lib/commands/VRANDMEMBER.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAc;QACpE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAuF;CAC7E,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VRANGE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/VRANGE.d.ts new file mode 100644 index 0000000..3a801cd --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VRANGE.d.ts @@ -0,0 +1,25 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns elements in a lexicographical range from a vector set. + * Provides a stateless iterator for elements inside a vector set. + * + * @param parser - The command parser + * @param key - The key of the vector set + * @param start - The starting point of the lexicographical range. + * Can be a string prefixed with `[` for inclusive (e.g., `[Redis`), + * `(` for exclusive (e.g., `(a7`), or `-` for the minimum element. + * @param end - The ending point of the lexicographical range. + * Can be a string prefixed with `[` for inclusive, + * `(` for exclusive, or `+` for the maximum element. + * @param count - Optional maximum number of elements to return. + * If negative, returns all elements in the specified range. + * @see https://redis.io/commands/vrange/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, start: RedisArgument, end: RedisArgument, count?: number) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=VRANGE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VRANGE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/VRANGE.d.ts.map new file mode 100644 index 0000000..38f56db --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VRANGE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"VRANGE.d.ts","sourceRoot":"","sources":["../../../lib/commands/VRANGE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;IAIlF;;;;;;;;;;;;;;;OAeG;gDAEO,aAAa,OAChB,aAAa,SACX,aAAa,OACf,aAAa,UACV,MAAM;mCAU8B,WAAW,eAAe,CAAC;;AAjC3E,wBAkC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VRANGE.js b/back/node_modules/@redis/client/dist/lib/commands/VRANGE.js new file mode 100644 index 0000000..213d83c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VRANGE.js @@ -0,0 +1,31 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns elements in a lexicographical range from a vector set. + * Provides a stateless iterator for elements inside a vector set. + * + * @param parser - The command parser + * @param key - The key of the vector set + * @param start - The starting point of the lexicographical range. + * Can be a string prefixed with `[` for inclusive (e.g., `[Redis`), + * `(` for exclusive (e.g., `(a7`), or `-` for the minimum element. + * @param end - The ending point of the lexicographical range. + * Can be a string prefixed with `[` for inclusive, + * `(` for exclusive, or `+` for the maximum element. + * @param count - Optional maximum number of elements to return. + * If negative, returns all elements in the specified range. + * @see https://redis.io/commands/vrange/ + */ + parseCommand(parser, key, start, end, count) { + parser.push('VRANGE'); + parser.pushKey(key); + parser.push(start, end); + if (count !== undefined) { + parser.push(count.toString()); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=VRANGE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VRANGE.js.map b/back/node_modules/@redis/client/dist/lib/commands/VRANGE.js.map new file mode 100644 index 0000000..ee6bbc8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VRANGE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"VRANGE.js","sourceRoot":"","sources":["../../../lib/commands/VRANGE.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,KAAoB,EACpB,GAAkB,EAClB,KAAc;QAEd,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAExB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VREM.d.ts b/back/node_modules/@redis/client/dist/lib/commands/VREM.d.ts new file mode 100644 index 0000000..ccd3524 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VREM.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument } from '../RESP/types'; +declare const _default: { + /** + * Remove an element from a vector set + * + * @param parser - The command parser + * @param key - The key of the vector set + * @param element - The name of the element to remove from the vector set + * @see https://redis.io/commands/vrem/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, element: RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("../RESP/types").BooleanReply; + }; +}; +export default _default; +//# sourceMappingURL=VREM.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VREM.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/VREM.d.ts.map new file mode 100644 index 0000000..5d0db5b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VREM.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"VREM.d.ts","sourceRoot":"","sources":["../../../lib/commands/VREM.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAW,MAAM,eAAe,CAAC;;IAIrD;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,WAAW,aAAa;;;;;;AAThF,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VREM.js b/back/node_modules/@redis/client/dist/lib/commands/VREM.js new file mode 100644 index 0000000..22a45c0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VREM.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + /** + * Remove an element from a vector set + * + * @param parser - The command parser + * @param key - The key of the vector set + * @param element - The name of the element to remove from the vector set + * @see https://redis.io/commands/vrem/ + */ + parseCommand(parser, key, element) { + parser.push('VREM'); + parser.pushKey(key); + parser.push(element); + }, + transformReply: generic_transformers_1.transformBooleanReply +}; +//# sourceMappingURL=VREM.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VREM.js.map b/back/node_modules/@redis/client/dist/lib/commands/VREM.js.map new file mode 100644 index 0000000..4fc8710 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VREM.js.map @@ -0,0 +1 @@ +{"version":3,"file":"VREM.js","sourceRoot":"","sources":["../../../lib/commands/VREM.ts"],"names":[],"mappings":";;AAEA,iEAA+D;AAE/D,kBAAe;IACb;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,OAAsB;QAC5E,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IACD,cAAc,EAAE,4CAAqB;CACX,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VSETATTR.d.ts b/back/node_modules/@redis/client/dist/lib/commands/VSETATTR.d.ts new file mode 100644 index 0000000..105203d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VSETATTR.d.ts @@ -0,0 +1,20 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument } from '../RESP/types'; +declare const _default: { + /** + * Set or replace attributes on a vector set element + * + * @param parser - The command parser + * @param key - The key of the vector set + * @param element - The name of the element to set attributes for + * @param attributes - The attributes to set (as JSON string or object) + * @see https://redis.io/commands/vsetattr/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, element: RedisArgument, attributes: RedisArgument | Record) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("../RESP/types").BooleanReply; + }; +}; +export default _default; +//# sourceMappingURL=VSETATTR.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VSETATTR.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/VSETATTR.d.ts.map new file mode 100644 index 0000000..670d8c3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VSETATTR.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"VSETATTR.d.ts","sourceRoot":"","sources":["../../../lib/commands/VSETATTR.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAW,MAAM,eAAe,CAAC;;IAIrD;;;;;;;;OAQG;gDAEO,aAAa,OAChB,aAAa,WACT,aAAa,cACV,aAAa,GAAG,OAAO,MAAM,EAAE,GAAG,CAAC;;;;;;AAdnD,wBA2B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VSETATTR.js b/back/node_modules/@redis/client/dist/lib/commands/VSETATTR.js new file mode 100644 index 0000000..e7ede9a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VSETATTR.js @@ -0,0 +1,27 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + /** + * Set or replace attributes on a vector set element + * + * @param parser - The command parser + * @param key - The key of the vector set + * @param element - The name of the element to set attributes for + * @param attributes - The attributes to set (as JSON string or object) + * @see https://redis.io/commands/vsetattr/ + */ + parseCommand(parser, key, element, attributes) { + parser.push('VSETATTR'); + parser.pushKey(key); + parser.push(element); + if (typeof attributes === 'object' && attributes !== null) { + parser.push(JSON.stringify(attributes)); + } + else { + parser.push(attributes); + } + }, + transformReply: generic_transformers_1.transformBooleanReply +}; +//# sourceMappingURL=VSETATTR.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VSETATTR.js.map b/back/node_modules/@redis/client/dist/lib/commands/VSETATTR.js.map new file mode 100644 index 0000000..e9378b1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VSETATTR.js.map @@ -0,0 +1 @@ +{"version":3,"file":"VSETATTR.js","sourceRoot":"","sources":["../../../lib/commands/VSETATTR.ts"],"names":[],"mappings":";;AAEA,iEAA+D;AAE/D,kBAAe;IACb;;;;;;;;OAQG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,OAAsB,EACtB,UAA+C;QAE/C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAErB,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,cAAc,EAAE,4CAAqB;CACX,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VSIM.d.ts b/back/node_modules/@redis/client/dist/lib/commands/VSIM.d.ts new file mode 100644 index 0000000..021467b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VSIM.d.ts @@ -0,0 +1,27 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '../RESP/types'; +export interface VSimOptions { + COUNT?: number; + EPSILON?: number; + EF?: number; + FILTER?: string; + 'FILTER-EF'?: number; + TRUTH?: boolean; + NOTHREAD?: boolean; +} +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Retrieve elements similar to a given vector or element with optional filtering + * + * @param parser - The command parser + * @param key - The key of the vector set + * @param query - The query vector (array of numbers) or element name (string) + * @param options - Optional parameters for similarity search + * @see https://redis.io/commands/vsim/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, query: RedisArgument | Array, options?: VSimOptions) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=VSIM.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VSIM.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/VSIM.d.ts.map new file mode 100644 index 0000000..54c8bfa --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VSIM.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"VSIM.d.ts","sourceRoot":"","sources":["../../../lib/commands/VSIM.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AAGpF,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;;;IAIC;;;;;;;;OAQG;gDAEO,aAAa,OAChB,aAAa,SACX,aAAa,GAAG,MAAM,MAAM,CAAC,YAC1B,WAAW;mCA0CuB,WAAW,eAAe,CAAC;;AAzD3E,wBA0D6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VSIM.js b/back/node_modules/@redis/client/dist/lib/commands/VSIM.js new file mode 100644 index 0000000..06839f3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VSIM.js @@ -0,0 +1,51 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + IS_READ_ONLY: true, + /** + * Retrieve elements similar to a given vector or element with optional filtering + * + * @param parser - The command parser + * @param key - The key of the vector set + * @param query - The query vector (array of numbers) or element name (string) + * @param options - Optional parameters for similarity search + * @see https://redis.io/commands/vsim/ + */ + parseCommand(parser, key, query, options) { + parser.push('VSIM'); + parser.pushKey(key); + if (Array.isArray(query)) { + parser.push('VALUES', query.length.toString()); + for (const value of query) { + parser.push((0, generic_transformers_1.transformDoubleArgument)(value)); + } + } + else { + parser.push('ELE', query); + } + if (options?.COUNT !== undefined) { + parser.push('COUNT', options.COUNT.toString()); + } + if (options?.EPSILON !== undefined) { + parser.push('EPSILON', options.EPSILON.toString()); + } + if (options?.EF !== undefined) { + parser.push('EF', options.EF.toString()); + } + if (options?.FILTER) { + parser.push('FILTER', options.FILTER); + } + if (options?.['FILTER-EF'] !== undefined) { + parser.push('FILTER-EF', options['FILTER-EF'].toString()); + } + if (options?.TRUTH) { + parser.push('TRUTH'); + } + if (options?.NOTHREAD) { + parser.push('NOTHREAD'); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=VSIM.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VSIM.js.map b/back/node_modules/@redis/client/dist/lib/commands/VSIM.js.map new file mode 100644 index 0000000..779f92d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VSIM.js.map @@ -0,0 +1 @@ +{"version":3,"file":"VSIM.js","sourceRoot":"","sources":["../../../lib/commands/VSIM.ts"],"names":[],"mappings":";;AAEA,iEAAiE;AAYjE,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,KAAoC,EACpC,OAAqB;QAErB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/C,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,IAAA,8CAAuB,EAAC,KAAK,CAAC,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,OAAO,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,OAAO,EAAE,EAAE,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,OAAO,EAAE,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;QAED,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VSIM_WITHSCORES.d.ts b/back/node_modules/@redis/client/dist/lib/commands/VSIM_WITHSCORES.d.ts new file mode 100644 index 0000000..7c03cfe --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VSIM_WITHSCORES.d.ts @@ -0,0 +1,16 @@ +import { ArrayReply, BlobStringReply, DoubleReply, MapReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Retrieve elements similar to a given vector or element with similarity scores + * @param args - Same parameters as the VSIM command + * @see https://redis.io/commands/vsim/ + */ + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, query: number[] | import("../RESP/types").RedisArgument, options?: import("./VSIM").VSimOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: ArrayReply) => Record>; + readonly 3: () => MapReply; + }; +}; +export default _default; +//# sourceMappingURL=VSIM_WITHSCORES.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VSIM_WITHSCORES.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/VSIM_WITHSCORES.d.ts.map new file mode 100644 index 0000000..ff4d3c8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VSIM_WITHSCORES.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"VSIM_WITHSCORES.d.ts","sourceRoot":"","sources":["../../../lib/commands/VSIM_WITHSCORES.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,eAAe,EAEf,WAAW,EACX,QAAQ,EAET,MAAM,eAAe,CAAC;;;IAMrB;;;;OAIG;;;4BAQU,WAAW,eAAe,CAAC;0BAQL,SAAS,eAAe,EAAE,WAAW,CAAC;;;AAtB3E,wBAwB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VSIM_WITHSCORES.js b/back/node_modules/@redis/client/dist/lib/commands/VSIM_WITHSCORES.js new file mode 100644 index 0000000..d056bf5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VSIM_WITHSCORES.js @@ -0,0 +1,32 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +const VSIM_1 = __importDefault(require("./VSIM")); +exports.default = { + IS_READ_ONLY: VSIM_1.default.IS_READ_ONLY, + /** + * Retrieve elements similar to a given vector or element with similarity scores + * @param args - Same parameters as the VSIM command + * @see https://redis.io/commands/vsim/ + */ + parseCommand(...args) { + const parser = args[0]; + VSIM_1.default.parseCommand(...args); + parser.push('WITHSCORES'); + }, + transformReply: { + 2: (reply) => { + const inferred = reply; + const members = {}; + for (let i = 0; i < inferred.length; i += 2) { + members[inferred[i].toString()] = generic_transformers_1.transformDoubleReply[2](inferred[i + 1]); + } + return members; + }, + 3: undefined + } +}; +//# sourceMappingURL=VSIM_WITHSCORES.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/VSIM_WITHSCORES.js.map b/back/node_modules/@redis/client/dist/lib/commands/VSIM_WITHSCORES.js.map new file mode 100644 index 0000000..643d37a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/VSIM_WITHSCORES.js.map @@ -0,0 +1 @@ +{"version":3,"file":"VSIM_WITHSCORES.js","sourceRoot":"","sources":["../../../lib/commands/VSIM_WITHSCORES.ts"],"names":[],"mappings":";;;;;AAQA,iEAA8D;AAC9D,kDAA0B;AAE1B,kBAAe;IACb,YAAY,EAAE,cAAI,CAAC,YAAY;IAC/B;;;;OAIG;IACH,YAAY,CAAC,GAAG,IAA0C;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEvB,cAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAAkC,EAAE,EAAE;YACxC,MAAM,QAAQ,GAAG,KAA6C,CAAC;YAC/D,MAAM,OAAO,GAAgC,EAAE,CAAC;YAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5C,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,2CAAoB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC7E,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,CAAC,EAAE,SAAoE;KACxE;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/WAIT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/WAIT.d.ts new file mode 100644 index 0000000..1074617 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/WAIT.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply } from '../RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the WAIT command to synchronize with replicas + * + * @param parser - The command parser + * @param numberOfReplicas - Number of replicas that must acknowledge the write + * @param timeout - Maximum time to wait in milliseconds + * @returns The number of replicas that acknowledged the write + * @see https://redis.io/commands/wait/ + */ + readonly parseCommand: (this: void, parser: CommandParser, numberOfReplicas: number, timeout: number) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=WAIT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/WAIT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/WAIT.d.ts.map new file mode 100644 index 0000000..da79200 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/WAIT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"WAIT.d.ts","sourceRoot":"","sources":["../../../lib/commands/WAIT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;;IAKnD;;;;;;;;OAQG;gDACkB,aAAa,oBAAoB,MAAM,WAAW,MAAM;mCAG/B,WAAW;;AAf3D,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/WAIT.js b/back/node_modules/@redis/client/dist/lib/commands/WAIT.js new file mode 100644 index 0000000..46c4e19 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/WAIT.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Constructs the WAIT command to synchronize with replicas + * + * @param parser - The command parser + * @param numberOfReplicas - Number of replicas that must acknowledge the write + * @param timeout - Maximum time to wait in milliseconds + * @returns The number of replicas that acknowledged the write + * @see https://redis.io/commands/wait/ + */ + parseCommand(parser, numberOfReplicas, timeout) { + parser.push('WAIT', numberOfReplicas.toString(), timeout.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=WAIT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/WAIT.js.map b/back/node_modules/@redis/client/dist/lib/commands/WAIT.js.map new file mode 100644 index 0000000..9cc7260 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/WAIT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"WAIT.js","sourceRoot":"","sources":["../../../lib/commands/WAIT.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,gBAAwB,EAAE,OAAe;QAC3E,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XACK.d.ts b/back/node_modules/@redis/client/dist/lib/commands/XACK.d.ts new file mode 100644 index 0000000..b9cbc43 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XACK.d.ts @@ -0,0 +1,20 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply, RedisArgument } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the XACK command to acknowledge the processing of stream messages in a consumer group + * + * @param parser - The command parser + * @param key - The stream key + * @param group - The consumer group name + * @param id - One or more message IDs to acknowledge + * @returns The number of messages successfully acknowledged + * @see https://redis.io/commands/xack/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, group: RedisArgument, id: RedisVariadicArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=XACK.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XACK.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/XACK.d.ts.map new file mode 100644 index 0000000..aac6a20 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XACK.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XACK.d.ts","sourceRoot":"","sources":["../../../lib/commands/XACK.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAW,aAAa,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;IAI7D;;;;;;;;;OASG;gDACkB,aAAa,OAAO,aAAa,SAAS,aAAa,MAAM,qBAAqB;mCAMzD,WAAW;;AAlB3D,wBAmB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XACK.js b/back/node_modules/@redis/client/dist/lib/commands/XACK.js new file mode 100644 index 0000000..6970e3a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XACK.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Constructs the XACK command to acknowledge the processing of stream messages in a consumer group + * + * @param parser - The command parser + * @param key - The stream key + * @param group - The consumer group name + * @param id - One or more message IDs to acknowledge + * @returns The number of messages successfully acknowledged + * @see https://redis.io/commands/xack/ + */ + parseCommand(parser, key, group, id) { + parser.push('XACK'); + parser.pushKey(key); + parser.push(group); + parser.pushVariadic(id); + }, + transformReply: undefined +}; +//# sourceMappingURL=XACK.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XACK.js.map b/back/node_modules/@redis/client/dist/lib/commands/XACK.js.map new file mode 100644 index 0000000..45f769a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XACK.js.map @@ -0,0 +1 @@ +{"version":3,"file":"XACK.js","sourceRoot":"","sources":["../../../lib/commands/XACK.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;;OASG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAoB,EAAE,EAAyB;QACrG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClB,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XACKDEL.d.ts b/back/node_modules/@redis/client/dist/lib/commands/XACKDEL.d.ts new file mode 100644 index 0000000..5f8a888 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XACKDEL.d.ts @@ -0,0 +1,25 @@ +import { CommandParser } from "../client/parser"; +import { RedisArgument, ArrayReply } from "../RESP/types"; +import { StreamDeletionReplyCode, StreamDeletionPolicy } from "./common-stream.types"; +import { RedisVariadicArgument } from "./generic-transformers"; +/** + * Acknowledges and deletes one or multiple messages for a stream consumer group + */ +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the XACKDEL command to acknowledge and delete one or multiple messages for a stream consumer group + * + * @param parser - The command parser + * @param key - The stream key + * @param group - The consumer group name + * @param id - One or more message IDs to acknowledge and delete + * @param policy - Policy to apply when deleting entries (optional, defaults to KEEPREF) + * @returns Array of integers: -1 (not found), 1 (acknowledged and deleted), 2 (acknowledged with dangling refs) + * @see https://redis.io/commands/xackdel/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, group: RedisArgument, id: RedisVariadicArgument, policy?: StreamDeletionPolicy) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=XACKDEL.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XACKDEL.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/XACKDEL.d.ts.map new file mode 100644 index 0000000..0847e64 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XACKDEL.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XACKDEL.d.ts","sourceRoot":"","sources":["../../../lib/commands/XACKDEL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAW,MAAM,eAAe,CAAC;AACnE,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;GAEG;;;IAGD;;;;;;;;;;OAUG;gDAEO,aAAa,OAChB,aAAa,SACX,aAAa,MAChB,qBAAqB,WAChB,oBAAoB;mCAcC,WAAW,uBAAuB,CAAC;;AAhCrE,wBAiC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XACKDEL.js b/back/node_modules/@redis/client/dist/lib/commands/XACKDEL.js new file mode 100644 index 0000000..21d15bc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XACKDEL.js @@ -0,0 +1,31 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Acknowledges and deletes one or multiple messages for a stream consumer group + */ +exports.default = { + IS_READ_ONLY: false, + /** + * Constructs the XACKDEL command to acknowledge and delete one or multiple messages for a stream consumer group + * + * @param parser - The command parser + * @param key - The stream key + * @param group - The consumer group name + * @param id - One or more message IDs to acknowledge and delete + * @param policy - Policy to apply when deleting entries (optional, defaults to KEEPREF) + * @returns Array of integers: -1 (not found), 1 (acknowledged and deleted), 2 (acknowledged with dangling refs) + * @see https://redis.io/commands/xackdel/ + */ + parseCommand(parser, key, group, id, policy) { + parser.push("XACKDEL"); + parser.pushKey(key); + parser.push(group); + if (policy) { + parser.push(policy); + } + parser.push("IDS"); + parser.pushVariadicWithLength(id); + }, + transformReply: undefined, +}; +//# sourceMappingURL=XACKDEL.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XACKDEL.js.map b/back/node_modules/@redis/client/dist/lib/commands/XACKDEL.js.map new file mode 100644 index 0000000..b2e0aa8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XACKDEL.js.map @@ -0,0 +1 @@ +{"version":3,"file":"XACKDEL.js","sourceRoot":"","sources":["../../../lib/commands/XACKDEL.ts"],"names":[],"mappings":";;AAQA;;GAEG;AACH,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;;;OAUG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,KAAoB,EACpB,EAAyB,EACzB,MAA6B;QAE7B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEnB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,cAAc,EACZ,SAAiE;CACzC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XADD.d.ts b/back/node_modules/@redis/client/dist/lib/commands/XADD.d.ts new file mode 100644 index 0000000..5333b44 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XADD.d.ts @@ -0,0 +1,69 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply } from '../RESP/types'; +import { StreamDeletionPolicy } from './common-stream.types'; +/** + * Options for the XADD command + * + * @property policy - Reference tracking policy for the entry (KEEPREF, DELREF, or ACKED) - added in 8.6 + * @property IDMPAUTO - Automatically calculate an idempotent ID based on entry content to prevent duplicate entries - added in 8.6 + * @property IDMPAUTO.pid - Producer ID, must be unique per producer and consistent across restarts + * @property IDMP - Use a specific idempotent ID to prevent duplicate entries - added in 8.6 + * @property IDMP.pid - Producer ID, must be unique per producer and consistent across restarts + * @property IDMP.iid - Idempotent ID (binary string), must be unique per message and per pid + * @property TRIM - Optional trimming configuration + * @property TRIM.strategy - Trim strategy: MAXLEN (by length) or MINID (by ID) + * @property TRIM.strategyModifier - Exact ('=') or approximate ('~') trimming + * @property TRIM.threshold - Maximum stream length or minimum ID to retain + * @property TRIM.limit - Maximum number of entries to trim in one call + * @property TRIM.policy - Policy to apply when trimming entries (optional, defaults to KEEPREF) + */ +export interface XAddOptions { + /** added in 8.6 */ + policy?: StreamDeletionPolicy; + /** added in 8.6 */ + IDMPAUTO?: { + pid: RedisArgument; + }; + /** added in 8.6 */ + IDMP?: { + pid: RedisArgument; + iid: RedisArgument; + }; + TRIM?: { + strategy?: 'MAXLEN' | 'MINID'; + strategyModifier?: '=' | '~'; + threshold: number; + limit?: number; + /** added in 8.6 */ + policy?: StreamDeletionPolicy; + }; +} +/** + * Parses arguments for the XADD command + * + * @param optional - Optional command modifier (e.g., NOMKSTREAM) + * @param parser - The command parser + * @param key - The stream key + * @param id - Message ID (* for auto-generation) + * @param message - Key-value pairs representing the message fields + * @param options - Additional options for reference tracking, idempotency, and trimming + */ +export declare function parseXAddArguments(optional: RedisArgument | undefined, parser: CommandParser, key: RedisArgument, id: RedisArgument, message: Record, options?: XAddOptions): void; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the XADD command to append a new entry to a stream + * + * @param parser - The command parser + * @param key - The stream key + * @param id - Message ID (* for auto-generation) + * @param message - Key-value pairs representing the message fields + * @param options - Additional options for stream trimming + * @returns The ID of the added entry + * @see https://redis.io/commands/xadd/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, id: RedisArgument, message: Record, options?: XAddOptions | undefined) => void; + readonly transformReply: () => BlobStringReply; +}; +export default _default; +//# sourceMappingURL=XADD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XADD.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/XADD.d.ts.map new file mode 100644 index 0000000..4c77cdc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XADD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XADD.d.ts","sourceRoot":"","sources":["../../../lib/commands/XADD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAG7D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,WAAW;IAC1B,mBAAmB;IACnB,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,mBAAmB;IACnB,QAAQ,CAAC,EAAE;QACT,GAAG,EAAE,aAAa,CAAC;KACpB,CAAC;IACF,mBAAmB;IACnB,IAAI,CAAC,EAAE;QACL,GAAG,EAAE,aAAa,CAAC;QACnB,GAAG,EAAE,aAAa,CAAC;KACpB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;QAC9B,gBAAgB,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,mBAAmB;QACnB,MAAM,CAAC,EAAE,oBAAoB,CAAC;KAC/B,CAAC;CACH;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,aAAa,EAClB,EAAE,EAAE,aAAa,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACtC,OAAO,CAAC,EAAE,WAAW,QA8CtB;;;IAIC;;;;;;;;;;OAUG;;mCAI2C,eAAe;;AAhB/D,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XADD.js b/back/node_modules/@redis/client/dist/lib/commands/XADD.js new file mode 100644 index 0000000..fa244bc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XADD.js @@ -0,0 +1,71 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseXAddArguments = void 0; +/** + * Parses arguments for the XADD command + * + * @param optional - Optional command modifier (e.g., NOMKSTREAM) + * @param parser - The command parser + * @param key - The stream key + * @param id - Message ID (* for auto-generation) + * @param message - Key-value pairs representing the message fields + * @param options - Additional options for reference tracking, idempotency, and trimming + */ +function parseXAddArguments(optional, parser, key, id, message, options) { + parser.push('XADD'); + parser.pushKey(key); + if (optional) { + parser.push(optional); + } + // Reference tracking policy (KEEPREF | DELREF | ACKED) + if (options?.policy) { + parser.push(options.policy); + } + // Idempotency options (IDMPAUTO or IDMP) + if (options?.IDMPAUTO) { + parser.push('IDMPAUTO', options.IDMPAUTO.pid); + } + else if (options?.IDMP) { + parser.push('IDMP', options.IDMP.pid, options.IDMP.iid); + } + // Trimming options + if (options?.TRIM) { + if (options.TRIM.strategy) { + parser.push(options.TRIM.strategy); + } + if (options.TRIM.strategyModifier) { + parser.push(options.TRIM.strategyModifier); + } + parser.push(options.TRIM.threshold.toString()); + if (options.TRIM.limit) { + parser.push('LIMIT', options.TRIM.limit.toString()); + } + if (options.TRIM.policy) { + parser.push(options.TRIM.policy); + } + } + parser.push(id); + for (const [key, value] of Object.entries(message)) { + parser.push(key, value); + } +} +exports.parseXAddArguments = parseXAddArguments; +exports.default = { + IS_READ_ONLY: false, + /** + * Constructs the XADD command to append a new entry to a stream + * + * @param parser - The command parser + * @param key - The stream key + * @param id - Message ID (* for auto-generation) + * @param message - Key-value pairs representing the message fields + * @param options - Additional options for stream trimming + * @returns The ID of the added entry + * @see https://redis.io/commands/xadd/ + */ + parseCommand(...args) { + return parseXAddArguments(undefined, ...args); + }, + transformReply: undefined +}; +//# sourceMappingURL=XADD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XADD.js.map b/back/node_modules/@redis/client/dist/lib/commands/XADD.js.map new file mode 100644 index 0000000..9ddf945 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XADD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"XADD.js","sourceRoot":"","sources":["../../../lib/commands/XADD.ts"],"names":[],"mappings":";;;AA2CA;;;;;;;;;GASG;AACH,SAAgB,kBAAkB,CAChC,QAAmC,EACnC,MAAqB,EACrB,GAAkB,EAClB,EAAiB,EACjB,OAAsC,EACtC,OAAqB;IAErB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpB,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IAED,uDAAuD;IACvD,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,yCAAyC;IACzC,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;SAAM,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1D,CAAC;IAED,mBAAmB;IACnB,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;QAClB,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE/C,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEhB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AApDD,gDAoDC;AAED,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;;;OAUG;IACH,YAAY,CAAC,GAAG,IAAiD;QAC/D,OAAO,kBAAkB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IAChD,CAAC;IACD,cAAc,EAAE,SAA6C;CACnC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XADD_NOMKSTREAM.d.ts b/back/node_modules/@redis/client/dist/lib/commands/XADD_NOMKSTREAM.d.ts new file mode 100644 index 0000000..c2906b4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XADD_NOMKSTREAM.d.ts @@ -0,0 +1,18 @@ +import { BlobStringReply, NullReply } from '../RESP/types'; +/** + * Command for adding entries to an existing stream without creating it if it doesn't exist + */ +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the XADD command with NOMKSTREAM option to append a new entry to an existing stream + * + * @param args - Arguments tuple containing parser, key, id, message, and options + * @returns The ID of the added entry, or null if the stream doesn't exist + * @see https://redis.io/commands/xadd/ + */ + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, id: import("../RESP/types").RedisArgument, message: Record, options?: import("./XADD").XAddOptions | undefined) => void; + readonly transformReply: () => BlobStringReply | NullReply; +}; +export default _default; +//# sourceMappingURL=XADD_NOMKSTREAM.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XADD_NOMKSTREAM.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/XADD_NOMKSTREAM.d.ts.map new file mode 100644 index 0000000..24304a6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XADD_NOMKSTREAM.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XADD_NOMKSTREAM.d.ts","sourceRoot":"","sources":["../../../lib/commands/XADD_NOMKSTREAM.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;AAIpE;;GAEG;;;IAGD;;;;;;OAMG;;mCAI2C,eAAe,GAAG,SAAS;;AAZ3E,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XADD_NOMKSTREAM.js b/back/node_modules/@redis/client/dist/lib/commands/XADD_NOMKSTREAM.js new file mode 100644 index 0000000..c0c0448 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XADD_NOMKSTREAM.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const XADD_1 = require("./XADD"); +/** + * Command for adding entries to an existing stream without creating it if it doesn't exist + */ +exports.default = { + IS_READ_ONLY: false, + /** + * Constructs the XADD command with NOMKSTREAM option to append a new entry to an existing stream + * + * @param args - Arguments tuple containing parser, key, id, message, and options + * @returns The ID of the added entry, or null if the stream doesn't exist + * @see https://redis.io/commands/xadd/ + */ + parseCommand(...args) { + return (0, XADD_1.parseXAddArguments)('NOMKSTREAM', ...args); + }, + transformReply: undefined +}; +//# sourceMappingURL=XADD_NOMKSTREAM.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XADD_NOMKSTREAM.js.map b/back/node_modules/@redis/client/dist/lib/commands/XADD_NOMKSTREAM.js.map new file mode 100644 index 0000000..3085c93 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XADD_NOMKSTREAM.js.map @@ -0,0 +1 @@ +{"version":3,"file":"XADD_NOMKSTREAM.js","sourceRoot":"","sources":["../../../lib/commands/XADD_NOMKSTREAM.ts"],"names":[],"mappings":";;AAEA,iCAA4C;AAE5C;;GAEG;AACH,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;OAMG;IACH,YAAY,CAAC,GAAG,IAAiD;QAC/D,OAAO,IAAA,yBAAkB,EAAC,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;IACnD,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM.d.ts b/back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM.d.ts new file mode 100644 index 0000000..d9de837 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM.d.ts @@ -0,0 +1,55 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, TuplesReply, BlobStringReply, ArrayReply, NullReply, TypeMapping } from '../RESP/types'; +import { StreamMessageRawReply } from './generic-transformers'; +/** + * Options for the XAUTOCLAIM command + * + * @property COUNT - Limit the number of messages to claim + */ +export interface XAutoClaimOptions { + COUNT?: number; +} +/** + * Raw reply structure for XAUTOCLAIM command + * + * @property nextId - The ID to use for the next XAUTOCLAIM call + * @property messages - Array of claimed messages or null entries + * @property deletedMessages - Array of message IDs that no longer exist + */ +export type XAutoClaimRawReply = TuplesReply<[ + nextId: BlobStringReply, + messages: ArrayReply, + deletedMessages: ArrayReply +]>; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the XAUTOCLAIM command to automatically claim pending messages in a consumer group + * + * @param parser - The command parser + * @param key - The stream key + * @param group - The consumer group name + * @param consumer - The consumer name that will claim the messages + * @param minIdleTime - Minimum idle time in milliseconds for a message to be claimed + * @param start - Message ID to start scanning from + * @param options - Additional options for the claim operation + * @returns Object containing nextId, claimed messages, and list of deleted message IDs + * @see https://redis.io/commands/xautoclaim/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, group: RedisArgument, consumer: RedisArgument, minIdleTime: number, start: RedisArgument, options?: XAutoClaimOptions) => void; + /** + * Transforms the raw XAUTOCLAIM reply into a structured object + * + * @param reply - Raw reply from Redis + * @param preserve - Preserve options (unused) + * @param typeMapping - Type mapping for message fields + * @returns Structured object containing nextId, messages, and deletedMessages + */ + readonly transformReply: (this: void, reply: [nextId: BlobStringReply, messages: ArrayReply, deletedMessages: ArrayReply>], preserve?: any, typeMapping?: TypeMapping) => { + nextId: BlobStringReply; + messages: (NullReply | import("./generic-transformers").StreamMessageReply)[]; + deletedMessages: ArrayReply>; + }; +}; +export default _default; +//# sourceMappingURL=XAUTOCLAIM.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM.d.ts.map new file mode 100644 index 0000000..798cccd --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XAUTOCLAIM.d.ts","sourceRoot":"","sources":["../../../lib/commands/XAUTOCLAIM.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAwB,WAAW,EAAE,MAAM,eAAe,CAAC;AACtI,OAAO,EAAE,qBAAqB,EAAmC,MAAM,wBAAwB,CAAC;AAEhG;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC;IAC3C,MAAM,EAAE,eAAe;IACvB,QAAQ,EAAE,UAAU,CAAC,qBAAqB,GAAG,SAAS,CAAC;IACvD,eAAe,EAAE,UAAU,CAAC,eAAe,CAAC;CAC7C,CAAC,CAAC;;;IAID;;;;;;;;;;;;OAYG;gDAEO,aAAa,OAChB,aAAa,SACX,aAAa,YACV,aAAa,eACV,MAAM,SACZ,aAAa,YACV,iBAAiB;IAU7B;;;;;;;OAOG;8MAC+D,GAAG,gBAAgB,WAAW;;;;;;AAxClG,wBA+C6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM.js b/back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM.js new file mode 100644 index 0000000..e0e4dc4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM.js @@ -0,0 +1,43 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Constructs the XAUTOCLAIM command to automatically claim pending messages in a consumer group + * + * @param parser - The command parser + * @param key - The stream key + * @param group - The consumer group name + * @param consumer - The consumer name that will claim the messages + * @param minIdleTime - Minimum idle time in milliseconds for a message to be claimed + * @param start - Message ID to start scanning from + * @param options - Additional options for the claim operation + * @returns Object containing nextId, claimed messages, and list of deleted message IDs + * @see https://redis.io/commands/xautoclaim/ + */ + parseCommand(parser, key, group, consumer, minIdleTime, start, options) { + parser.push('XAUTOCLAIM'); + parser.pushKey(key); + parser.push(group, consumer, minIdleTime.toString(), start); + if (options?.COUNT) { + parser.push('COUNT', options.COUNT.toString()); + } + }, + /** + * Transforms the raw XAUTOCLAIM reply into a structured object + * + * @param reply - Raw reply from Redis + * @param preserve - Preserve options (unused) + * @param typeMapping - Type mapping for message fields + * @returns Structured object containing nextId, messages, and deletedMessages + */ + transformReply(reply, preserve, typeMapping) { + return { + nextId: reply[0], + messages: reply[1].map(generic_transformers_1.transformStreamMessageNullReply.bind(undefined, typeMapping)), + deletedMessages: reply[2] + }; + } +}; +//# sourceMappingURL=XAUTOCLAIM.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM.js.map b/back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM.js.map new file mode 100644 index 0000000..d81996b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM.js.map @@ -0,0 +1 @@ +{"version":3,"file":"XAUTOCLAIM.js","sourceRoot":"","sources":["../../../lib/commands/XAUTOCLAIM.ts"],"names":[],"mappings":";;AAEA,iEAAgG;AAwBhG,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;;;;;OAYG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,KAAoB,EACpB,QAAuB,EACvB,WAAmB,EACnB,KAAoB,EACpB,OAA2B;QAE3B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;QAE5D,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD;;;;;;;OAOG;IACH,cAAc,CAAC,KAAsC,EAAE,QAAc,EAAE,WAAyB;QAC9F,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;YAChB,QAAQ,EAAG,KAAK,CAAC,CAAC,CAA6C,CAAC,GAAG,CAAC,sDAA+B,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACjI,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;SAC1B,CAAC;IACJ,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM_JUSTID.d.ts b/back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM_JUSTID.d.ts new file mode 100644 index 0000000..0a9283f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM_JUSTID.d.ts @@ -0,0 +1,25 @@ +import { BlobStringReply, ArrayReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the XAUTOCLAIM command with JUSTID option to get only message IDs + * + * @param args - Same parameters as XAUTOCLAIM command + * @returns Object containing nextId and arrays of claimed and deleted message IDs + * @see https://redis.io/commands/xautoclaim/ + */ + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument, minIdleTime: number, start: import("../RESP/types").RedisArgument, options?: import("./XAUTOCLAIM").XAutoClaimOptions | undefined) => void; + /** + * Transforms the raw XAUTOCLAIM JUSTID reply into a structured object + * + * @param reply - Raw reply from Redis + * @returns Structured object containing nextId, message IDs, and deleted message IDs + */ + readonly transformReply: (this: void, reply: [nextId: BlobStringReply, messages: ArrayReply>, deletedMessages: ArrayReply>]) => { + nextId: BlobStringReply; + messages: ArrayReply>; + deletedMessages: ArrayReply>; + }; +}; +export default _default; +//# sourceMappingURL=XAUTOCLAIM_JUSTID.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM_JUSTID.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM_JUSTID.d.ts.map new file mode 100644 index 0000000..bce3636 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM_JUSTID.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XAUTOCLAIM_JUSTID.d.ts","sourceRoot":"","sources":["../../../lib/commands/XAUTOCLAIM_JUSTID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,eAAe,EAAE,UAAU,EAAwB,MAAM,eAAe,CAAC;;;IAkB7F;;;;;;OAMG;;IAMH;;;;;OAKG;;;;;;;AAnBL,wBA2B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM_JUSTID.js b/back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM_JUSTID.js new file mode 100644 index 0000000..b1262a5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM_JUSTID.js @@ -0,0 +1,35 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const XAUTOCLAIM_1 = __importDefault(require("./XAUTOCLAIM")); +exports.default = { + IS_READ_ONLY: XAUTOCLAIM_1.default.IS_READ_ONLY, + /** + * Constructs the XAUTOCLAIM command with JUSTID option to get only message IDs + * + * @param args - Same parameters as XAUTOCLAIM command + * @returns Object containing nextId and arrays of claimed and deleted message IDs + * @see https://redis.io/commands/xautoclaim/ + */ + parseCommand(...args) { + const parser = args[0]; + XAUTOCLAIM_1.default.parseCommand(...args); + parser.push('JUSTID'); + }, + /** + * Transforms the raw XAUTOCLAIM JUSTID reply into a structured object + * + * @param reply - Raw reply from Redis + * @returns Structured object containing nextId, message IDs, and deleted message IDs + */ + transformReply(reply) { + return { + nextId: reply[0], + messages: reply[1], + deletedMessages: reply[2] + }; + } +}; +//# sourceMappingURL=XAUTOCLAIM_JUSTID.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM_JUSTID.js.map b/back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM_JUSTID.js.map new file mode 100644 index 0000000..3258f2d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XAUTOCLAIM_JUSTID.js.map @@ -0,0 +1 @@ +{"version":3,"file":"XAUTOCLAIM_JUSTID.js","sourceRoot":"","sources":["../../../lib/commands/XAUTOCLAIM_JUSTID.ts"],"names":[],"mappings":";;;;;AACA,8DAAsC;AAetC,kBAAe;IACb,YAAY,EAAE,oBAAU,CAAC,YAAY;IACrC;;;;;;OAMG;IACH,YAAY,CAAC,GAAG,IAAgD;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,oBAAU,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IACD;;;;;OAKG;IACH,cAAc,CAAC,KAA4C;QACzD,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;YAChB,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;YAClB,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;SAC1B,CAAC;IACJ,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XCFGSET.d.ts b/back/node_modules/@redis/client/dist/lib/commands/XCFGSET.d.ts new file mode 100644 index 0000000..04b1a71 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XCFGSET.d.ts @@ -0,0 +1,46 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, SimpleStringReply } from '../RESP/types'; +/** + * Options for the XCFGSET command + * + * @property IDMP_DURATION - How long Redis remembers each iid in seconds (1-300 seconds) + * @property IDMP_MAXSIZE - Maximum number of iids Redis remembers per pid (1-1,000,000 iids) + */ +export interface XCfgSetOptions { + /** + * How long Redis remembers each iid in seconds. + * - Minimum value: 1 second + * - Maximum value: 300 seconds + * - Default: 100 seconds (or value set by stream-idmp-duration config parameter) + * - Operational guarantee: Redis won't forget an iid for this duration (unless maxsize is reached) + * - Should accommodate application crash recovery time + */ + IDMP_DURATION?: number; + /** + * Maximum number of iids Redis remembers per pid. + * - Minimum value: 1 iid + * - Maximum value: 1,000,000 (1M) iids + * - Default: 100 iids (or value set by stream-idmp-maxsize config parameter) + * - Should be set to: mark-delay [in msec] × (messages/msec) + margin + * - Example: 10K msgs/sec (10 msgs/msec), 80 msec mark-delay → maxsize = 10 × 80 + margin = 1000 iids + */ + IDMP_MAXSIZE?: number; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Configures the idempotency parameters for a stream's IDMP map. + * Sets how long Redis remembers each iid and the maximum number of iids to track. + * This command clears the existing IDMP map (Redis forgets all previously stored iids), + * but only if the configuration value actually changes. + * + * @param parser - The command parser + * @param key - The name of the stream + * @param options - Optional idempotency configuration parameters + * @returns 'OK' on success + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, options?: XCfgSetOptions) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=XCFGSET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XCFGSET.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/XCFGSET.d.ts.map new file mode 100644 index 0000000..9497d18 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XCFGSET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XCFGSET.d.ts","sourceRoot":"","sources":["../../../lib/commands/XCFGSET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;AAE1E;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;;;IAIC;;;;;;;;;;OAUG;gDAEO,aAAa,OAChB,aAAa,YACR,cAAc;mCAaoB,kBAAkB,IAAI,CAAC;;AA7BvE,wBA8B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XCFGSET.js b/back/node_modules/@redis/client/dist/lib/commands/XCFGSET.js new file mode 100644 index 0000000..401da27 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XCFGSET.js @@ -0,0 +1,28 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Configures the idempotency parameters for a stream's IDMP map. + * Sets how long Redis remembers each iid and the maximum number of iids to track. + * This command clears the existing IDMP map (Redis forgets all previously stored iids), + * but only if the configuration value actually changes. + * + * @param parser - The command parser + * @param key - The name of the stream + * @param options - Optional idempotency configuration parameters + * @returns 'OK' on success + */ + parseCommand(parser, key, options) { + parser.push('XCFGSET'); + parser.pushKey(key); + if (options?.IDMP_DURATION !== undefined) { + parser.push('IDMP-DURATION', options.IDMP_DURATION.toString()); + } + if (options?.IDMP_MAXSIZE !== undefined) { + parser.push('IDMP-MAXSIZE', options.IDMP_MAXSIZE.toString()); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=XCFGSET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XCFGSET.js.map b/back/node_modules/@redis/client/dist/lib/commands/XCFGSET.js.map new file mode 100644 index 0000000..1538313 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XCFGSET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"XCFGSET.js","sourceRoot":"","sources":["../../../lib/commands/XCFGSET.ts"],"names":[],"mappings":";;AA8BA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;;;OAUG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,OAAwB;QAExB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,OAAO,EAAE,aAAa,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,OAAO,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XCLAIM.d.ts b/back/node_modules/@redis/client/dist/lib/commands/XCLAIM.d.ts new file mode 100644 index 0000000..9444431 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XCLAIM.d.ts @@ -0,0 +1,47 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, NullReply, UnwrapReply, TypeMapping } from '../RESP/types'; +import { RedisVariadicArgument, StreamMessageRawReply } from './generic-transformers'; +/** + * Options for the XCLAIM command + * + * @property IDLE - Set the idle time (in milliseconds) for the claimed messages + * @property TIME - Set the last delivery time (Unix timestamp or Date) + * @property RETRYCOUNT - Set the retry counter for the claimed messages + * @property FORCE - Create the pending message entry even if the message doesn't exist + * @property LASTID - Update the consumer group last ID + */ +export interface XClaimOptions { + IDLE?: number; + TIME?: number | Date; + RETRYCOUNT?: number; + FORCE?: boolean; + LASTID?: RedisArgument; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the XCLAIM command to claim pending messages in a consumer group + * + * @param parser - The command parser + * @param key - The stream key + * @param group - The consumer group name + * @param consumer - The consumer name that will claim the messages + * @param minIdleTime - Minimum idle time in milliseconds for a message to be claimed + * @param id - One or more message IDs to claim + * @param options - Additional options for the claim operation + * @returns Array of claimed messages + * @see https://redis.io/commands/xclaim/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, group: RedisArgument, consumer: RedisArgument, minIdleTime: number, id: RedisVariadicArgument, options?: XClaimOptions) => void; + /** + * Transforms the raw XCLAIM reply into an array of messages + * + * @param reply - Raw reply from Redis + * @param preserve - Preserve options (unused) + * @param typeMapping - Type mapping for message fields + * @returns Array of claimed messages with their fields + */ + readonly transformReply: (this: void, reply: UnwrapReply>, preserve?: any, typeMapping?: TypeMapping) => (NullReply | import("./generic-transformers").StreamMessageReply)[]; +}; +export default _default; +//# sourceMappingURL=XCLAIM.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XCLAIM.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/XCLAIM.d.ts.map new file mode 100644 index 0000000..5074a19 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XCLAIM.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XCLAIM.d.ts","sourceRoot":"","sources":["../../../lib/commands/XCLAIM.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAW,WAAW,EAAE,MAAM,eAAe,CAAC;AACxG,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAmC,MAAM,wBAAwB,CAAC;AAEvH;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;;;IAIC;;;;;;;;;;;;OAYG;gDAEO,aAAa,OAChB,aAAa,SACX,aAAa,YACV,aAAa,eACV,MAAM,MACf,qBAAqB,YACf,aAAa;IA8BzB;;;;;;;OAOG;iDAEM,YAAY,WAAW,qBAAqB,GAAG,SAAS,CAAC,CAAC,aACtD,GAAG,gBACA,WAAW;;AA/D7B,wBAmE6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XCLAIM.js b/back/node_modules/@redis/client/dist/lib/commands/XCLAIM.js new file mode 100644 index 0000000..a98cf45 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XCLAIM.js @@ -0,0 +1,52 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Constructs the XCLAIM command to claim pending messages in a consumer group + * + * @param parser - The command parser + * @param key - The stream key + * @param group - The consumer group name + * @param consumer - The consumer name that will claim the messages + * @param minIdleTime - Minimum idle time in milliseconds for a message to be claimed + * @param id - One or more message IDs to claim + * @param options - Additional options for the claim operation + * @returns Array of claimed messages + * @see https://redis.io/commands/xclaim/ + */ + parseCommand(parser, key, group, consumer, minIdleTime, id, options) { + parser.push('XCLAIM'); + parser.pushKey(key); + parser.push(group, consumer, minIdleTime.toString()); + parser.pushVariadic(id); + if (options?.IDLE !== undefined) { + parser.push('IDLE', options.IDLE.toString()); + } + if (options?.TIME !== undefined) { + parser.push('TIME', (options.TIME instanceof Date ? options.TIME.getTime() : options.TIME).toString()); + } + if (options?.RETRYCOUNT !== undefined) { + parser.push('RETRYCOUNT', options.RETRYCOUNT.toString()); + } + if (options?.FORCE) { + parser.push('FORCE'); + } + if (options?.LASTID !== undefined) { + parser.push('LASTID', options.LASTID); + } + }, + /** + * Transforms the raw XCLAIM reply into an array of messages + * + * @param reply - Raw reply from Redis + * @param preserve - Preserve options (unused) + * @param typeMapping - Type mapping for message fields + * @returns Array of claimed messages with their fields + */ + transformReply(reply, preserve, typeMapping) { + return reply.map(generic_transformers_1.transformStreamMessageNullReply.bind(undefined, typeMapping)); + } +}; +//# sourceMappingURL=XCLAIM.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XCLAIM.js.map b/back/node_modules/@redis/client/dist/lib/commands/XCLAIM.js.map new file mode 100644 index 0000000..112d657 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XCLAIM.js.map @@ -0,0 +1 @@ +{"version":3,"file":"XCLAIM.js","sourceRoot":"","sources":["../../../lib/commands/XCLAIM.ts"],"names":[],"mappings":";;AAEA,iEAAuH;AAmBvH,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;;;;;OAYG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,KAAoB,EACpB,QAAuB,EACvB,WAAmB,EACnB,EAAyB,EACzB,OAAuB;QAEvB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrD,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAExB,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CACT,MAAM,EACN,CAAC,OAAO,CAAC,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAClF,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,EAAE,UAAU,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;QAED,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IACD;;;;;;;OAOG;IACH,cAAc,CACZ,KAAiE,EACjE,QAAc,EACd,WAAyB;QAEzB,OAAO,KAAK,CAAC,GAAG,CAAC,sDAA+B,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;IACjF,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XCLAIM_JUSTID.d.ts b/back/node_modules/@redis/client/dist/lib/commands/XCLAIM_JUSTID.d.ts new file mode 100644 index 0000000..098a309 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XCLAIM_JUSTID.d.ts @@ -0,0 +1,23 @@ +import { ArrayReply, BlobStringReply } from '../RESP/types'; +/** + * Command variant for XCLAIM that returns only message IDs + */ +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the XCLAIM command with JUSTID option to get only message IDs + * + * @param args - Same parameters as XCLAIM command + * @returns Array of successfully claimed message IDs + * @see https://redis.io/commands/xclaim/ + */ + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument, minIdleTime: number, id: import("./generic-transformers").RedisVariadicArgument, options?: import("./XCLAIM").XClaimOptions | undefined) => void; + /** + * Transforms the XCLAIM JUSTID reply into an array of message IDs + * + * @returns Array of claimed message IDs + */ + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=XCLAIM_JUSTID.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XCLAIM_JUSTID.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/XCLAIM_JUSTID.d.ts.map new file mode 100644 index 0000000..7d37f1e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XCLAIM_JUSTID.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XCLAIM_JUSTID.d.ts","sourceRoot":"","sources":["../../../lib/commands/XCLAIM_JUSTID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AAGrE;;GAEG;;;IAGD;;;;;;OAMG;;IAMH;;;;OAIG;mCAC2C,WAAW,eAAe,CAAC;;AAnB3E,wBAoB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XCLAIM_JUSTID.js b/back/node_modules/@redis/client/dist/lib/commands/XCLAIM_JUSTID.js new file mode 100644 index 0000000..d41cafd --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XCLAIM_JUSTID.js @@ -0,0 +1,31 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const XCLAIM_1 = __importDefault(require("./XCLAIM")); +/** + * Command variant for XCLAIM that returns only message IDs + */ +exports.default = { + IS_READ_ONLY: XCLAIM_1.default.IS_READ_ONLY, + /** + * Constructs the XCLAIM command with JUSTID option to get only message IDs + * + * @param args - Same parameters as XCLAIM command + * @returns Array of successfully claimed message IDs + * @see https://redis.io/commands/xclaim/ + */ + parseCommand(...args) { + const parser = args[0]; + XCLAIM_1.default.parseCommand(...args); + parser.push('JUSTID'); + }, + /** + * Transforms the XCLAIM JUSTID reply into an array of message IDs + * + * @returns Array of claimed message IDs + */ + transformReply: undefined +}; +//# sourceMappingURL=XCLAIM_JUSTID.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XCLAIM_JUSTID.js.map b/back/node_modules/@redis/client/dist/lib/commands/XCLAIM_JUSTID.js.map new file mode 100644 index 0000000..03cd509 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XCLAIM_JUSTID.js.map @@ -0,0 +1 @@ +{"version":3,"file":"XCLAIM_JUSTID.js","sourceRoot":"","sources":["../../../lib/commands/XCLAIM_JUSTID.ts"],"names":[],"mappings":";;;;;AACA,sDAA8B;AAE9B;;GAEG;AACH,kBAAe;IACb,YAAY,EAAE,gBAAM,CAAC,YAAY;IACjC;;;;;;OAMG;IACH,YAAY,CAAC,GAAG,IAA4C;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,gBAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IACD;;;;OAIG;IACH,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XDEL.d.ts b/back/node_modules/@redis/client/dist/lib/commands/XDEL.d.ts new file mode 100644 index 0000000..3c2a6e6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XDEL.d.ts @@ -0,0 +1,22 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +/** + * Command for removing messages from a stream + */ +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the XDEL command to remove one or more messages from a stream + * + * @param parser - The command parser + * @param key - The stream key + * @param id - One or more message IDs to delete + * @returns The number of messages actually deleted + * @see https://redis.io/commands/xdel/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, id: RedisVariadicArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=XDEL.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XDEL.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/XDEL.d.ts.map new file mode 100644 index 0000000..b66d7c9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XDEL.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XDEL.d.ts","sourceRoot":"","sources":["../../../lib/commands/XDEL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;GAEG;;;IAGD;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa,MAAM,qBAAqB;mCAKnC,WAAW;;AAhB3D,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XDEL.js b/back/node_modules/@redis/client/dist/lib/commands/XDEL.js new file mode 100644 index 0000000..83e19ea --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XDEL.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Command for removing messages from a stream + */ +exports.default = { + IS_READ_ONLY: false, + /** + * Constructs the XDEL command to remove one or more messages from a stream + * + * @param parser - The command parser + * @param key - The stream key + * @param id - One or more message IDs to delete + * @returns The number of messages actually deleted + * @see https://redis.io/commands/xdel/ + */ + parseCommand(parser, key, id) { + parser.push('XDEL'); + parser.pushKey(key); + parser.pushVariadic(id); + }, + transformReply: undefined +}; +//# sourceMappingURL=XDEL.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XDEL.js.map b/back/node_modules/@redis/client/dist/lib/commands/XDEL.js.map new file mode 100644 index 0000000..e36a18e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XDEL.js.map @@ -0,0 +1 @@ +{"version":3,"file":"XDEL.js","sourceRoot":"","sources":["../../../lib/commands/XDEL.ts"],"names":[],"mappings":";;AAIA;;GAEG;AACH,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,EAAyB;QAC/E,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XDELEX.d.ts b/back/node_modules/@redis/client/dist/lib/commands/XDELEX.d.ts new file mode 100644 index 0000000..e83f9ad --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XDELEX.d.ts @@ -0,0 +1,24 @@ +import { CommandParser } from "../client/parser"; +import { RedisArgument, ArrayReply } from "../RESP/types"; +import { StreamDeletionPolicy, StreamDeletionReplyCode } from "./common-stream.types"; +import { RedisVariadicArgument } from "./generic-transformers"; +/** + * Deletes one or multiple entries from the stream + */ +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the XDELEX command to delete one or multiple entries from the stream + * + * @param parser - The command parser + * @param key - The stream key + * @param id - One or more message IDs to delete + * @param policy - Policy to apply when deleting entries (optional, defaults to KEEPREF) + * @returns Array of integers: -1 (not found), 1 (deleted), 2 (dangling refs) + * @see https://redis.io/commands/xdelex/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, id: RedisVariadicArgument, policy?: StreamDeletionPolicy) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=XDELEX.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XDELEX.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/XDELEX.d.ts.map new file mode 100644 index 0000000..c2fc89d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XDELEX.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XDELEX.d.ts","sourceRoot":"","sources":["../../../lib/commands/XDELEX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAW,MAAM,eAAe,CAAC;AACnE,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;GAEG;;;IAGD;;;;;;;;;OASG;gDAEO,aAAa,OAChB,aAAa,MACd,qBAAqB,WAChB,oBAAoB;mCAaC,WAAW,uBAAuB,CAAC;;AA7BrE,wBA8B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XDELEX.js b/back/node_modules/@redis/client/dist/lib/commands/XDELEX.js new file mode 100644 index 0000000..0aef149 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XDELEX.js @@ -0,0 +1,29 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Deletes one or multiple entries from the stream + */ +exports.default = { + IS_READ_ONLY: false, + /** + * Constructs the XDELEX command to delete one or multiple entries from the stream + * + * @param parser - The command parser + * @param key - The stream key + * @param id - One or more message IDs to delete + * @param policy - Policy to apply when deleting entries (optional, defaults to KEEPREF) + * @returns Array of integers: -1 (not found), 1 (deleted), 2 (dangling refs) + * @see https://redis.io/commands/xdelex/ + */ + parseCommand(parser, key, id, policy) { + parser.push("XDELEX"); + parser.pushKey(key); + if (policy) { + parser.push(policy); + } + parser.push("IDS"); + parser.pushVariadicWithLength(id); + }, + transformReply: undefined, +}; +//# sourceMappingURL=XDELEX.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XDELEX.js.map b/back/node_modules/@redis/client/dist/lib/commands/XDELEX.js.map new file mode 100644 index 0000000..a3fec5c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XDELEX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"XDELEX.js","sourceRoot":"","sources":["../../../lib/commands/XDELEX.ts"],"names":[],"mappings":";;AAQA;;GAEG;AACH,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;;OASG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,EAAyB,EACzB,MAA6B;QAE7B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,cAAc,EACZ,SAAiE;CACzC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATE.d.ts new file mode 100644 index 0000000..a73a80d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATE.d.ts @@ -0,0 +1,33 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, SimpleStringReply } from '../RESP/types'; +/** + * Options for creating a consumer group + * + * @property MKSTREAM - Create the stream if it doesn't exist + * @property ENTRIESREAD - Set the number of entries that were read in this consumer group (Redis 7.0+) + */ +export interface XGroupCreateOptions { + MKSTREAM?: boolean; + /** + * added in 7.0 + */ + ENTRIESREAD?: number; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the XGROUP CREATE command to create a consumer group for a stream + * + * @param parser - The command parser + * @param key - The stream key + * @param group - Name of the consumer group + * @param id - ID of the last delivered item in the stream ('$' for last item, '0' for all items) + * @param options - Additional options for group creation + * @returns 'OK' if successful + * @see https://redis.io/commands/xgroup-create/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, group: RedisArgument, id: RedisArgument, options?: XGroupCreateOptions) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=XGROUP_CREATE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATE.d.ts.map new file mode 100644 index 0000000..d20d14c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XGROUP_CREATE.d.ts","sourceRoot":"","sources":["../../../lib/commands/XGROUP_CREATE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;AAE1E;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;;;IAIC;;;;;;;;;;OAUG;gDAEO,aAAa,OAChB,aAAa,SACX,aAAa,MAChB,aAAa,YACP,mBAAmB;mCAce,kBAAkB,IAAI,CAAC;;AAhCvE,wBAiC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATE.js b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATE.js new file mode 100644 index 0000000..0c45e2e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATE.js @@ -0,0 +1,29 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Constructs the XGROUP CREATE command to create a consumer group for a stream + * + * @param parser - The command parser + * @param key - The stream key + * @param group - Name of the consumer group + * @param id - ID of the last delivered item in the stream ('$' for last item, '0' for all items) + * @param options - Additional options for group creation + * @returns 'OK' if successful + * @see https://redis.io/commands/xgroup-create/ + */ + parseCommand(parser, key, group, id, options) { + parser.push('XGROUP', 'CREATE'); + parser.pushKey(key); + parser.push(group, id); + if (options?.MKSTREAM) { + parser.push('MKSTREAM'); + } + if (options?.ENTRIESREAD) { + parser.push('ENTRIESREAD', options.ENTRIESREAD.toString()); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=XGROUP_CREATE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATE.js.map b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATE.js.map new file mode 100644 index 0000000..427d706 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"XGROUP_CREATE.js","sourceRoot":"","sources":["../../../lib/commands/XGROUP_CREATE.ts"],"names":[],"mappings":";;AAiBA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;;;OAUG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,KAAoB,EACpB,EAAiB,EACjB,OAA6B;QAE7B,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAEvB,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATECONSUMER.d.ts b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATECONSUMER.d.ts new file mode 100644 index 0000000..3f963dc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATECONSUMER.d.ts @@ -0,0 +1,22 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +/** + * Command for creating a new consumer in a consumer group + */ +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the XGROUP CREATECONSUMER command to create a new consumer in a consumer group + * + * @param parser - The command parser + * @param key - The stream key + * @param group - Name of the consumer group + * @param consumer - Name of the consumer to create + * @returns 1 if the consumer was created, 0 if it already existed + * @see https://redis.io/commands/xgroup-createconsumer/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, group: RedisArgument, consumer: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=XGROUP_CREATECONSUMER.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATECONSUMER.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATECONSUMER.d.ts.map new file mode 100644 index 0000000..1ab3d3e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATECONSUMER.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XGROUP_CREATECONSUMER.d.ts","sourceRoot":"","sources":["../../../lib/commands/XGROUP_CREATECONSUMER.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAW,WAAW,EAAE,MAAM,eAAe,CAAC;AAEpE;;GAEG;;;IAGD;;;;;;;;;OASG;gDAEO,aAAa,OAChB,aAAa,SACX,aAAa,YACV,aAAa;mCAMqB,WAAW;;AAtB3D,wBAuB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATECONSUMER.js b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATECONSUMER.js new file mode 100644 index 0000000..1a55f81 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATECONSUMER.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Command for creating a new consumer in a consumer group + */ +exports.default = { + IS_READ_ONLY: false, + /** + * Constructs the XGROUP CREATECONSUMER command to create a new consumer in a consumer group + * + * @param parser - The command parser + * @param key - The stream key + * @param group - Name of the consumer group + * @param consumer - Name of the consumer to create + * @returns 1 if the consumer was created, 0 if it already existed + * @see https://redis.io/commands/xgroup-createconsumer/ + */ + parseCommand(parser, key, group, consumer) { + parser.push('XGROUP', 'CREATECONSUMER'); + parser.pushKey(key); + parser.push(group, consumer); + }, + transformReply: undefined +}; +//# sourceMappingURL=XGROUP_CREATECONSUMER.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATECONSUMER.js.map b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATECONSUMER.js.map new file mode 100644 index 0000000..0292741 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_CREATECONSUMER.js.map @@ -0,0 +1 @@ +{"version":3,"file":"XGROUP_CREATECONSUMER.js","sourceRoot":"","sources":["../../../lib/commands/XGROUP_CREATECONSUMER.ts"],"names":[],"mappings":";;AAGA;;GAEG;AACH,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;;OASG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,KAAoB,EACpB,QAAuB;QAEvB,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC/B,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XGROUP_DELCONSUMER.d.ts b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_DELCONSUMER.d.ts new file mode 100644 index 0000000..99432a0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_DELCONSUMER.d.ts @@ -0,0 +1,22 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +/** + * Command for removing a consumer from a consumer group + */ +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the XGROUP DELCONSUMER command to remove a consumer from a consumer group + * + * @param parser - The command parser + * @param key - The stream key + * @param group - Name of the consumer group + * @param consumer - Name of the consumer to remove + * @returns The number of pending messages owned by the deleted consumer + * @see https://redis.io/commands/xgroup-delconsumer/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, group: RedisArgument, consumer: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=XGROUP_DELCONSUMER.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XGROUP_DELCONSUMER.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_DELCONSUMER.d.ts.map new file mode 100644 index 0000000..fb53319 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_DELCONSUMER.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XGROUP_DELCONSUMER.d.ts","sourceRoot":"","sources":["../../../lib/commands/XGROUP_DELCONSUMER.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AAEpE;;GAEG;;;IAGD;;;;;;;;;OASG;gDAEO,aAAa,OAChB,aAAa,SACX,aAAa,YACV,aAAa;mCAMqB,WAAW;;AAtB3D,wBAuB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XGROUP_DELCONSUMER.js b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_DELCONSUMER.js new file mode 100644 index 0000000..40560d0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_DELCONSUMER.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Command for removing a consumer from a consumer group + */ +exports.default = { + IS_READ_ONLY: false, + /** + * Constructs the XGROUP DELCONSUMER command to remove a consumer from a consumer group + * + * @param parser - The command parser + * @param key - The stream key + * @param group - Name of the consumer group + * @param consumer - Name of the consumer to remove + * @returns The number of pending messages owned by the deleted consumer + * @see https://redis.io/commands/xgroup-delconsumer/ + */ + parseCommand(parser, key, group, consumer) { + parser.push('XGROUP', 'DELCONSUMER'); + parser.pushKey(key); + parser.push(group, consumer); + }, + transformReply: undefined +}; +//# sourceMappingURL=XGROUP_DELCONSUMER.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XGROUP_DELCONSUMER.js.map b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_DELCONSUMER.js.map new file mode 100644 index 0000000..0c84ee8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_DELCONSUMER.js.map @@ -0,0 +1 @@ +{"version":3,"file":"XGROUP_DELCONSUMER.js","sourceRoot":"","sources":["../../../lib/commands/XGROUP_DELCONSUMER.ts"],"names":[],"mappings":";;AAGA;;GAEG;AACH,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;;OASG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,KAAoB,EACpB,QAAuB;QAEvB,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC/B,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XGROUP_DESTROY.d.ts b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_DESTROY.d.ts new file mode 100644 index 0000000..4d0aa73 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_DESTROY.d.ts @@ -0,0 +1,21 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +/** + * Command for removing a consumer group + */ +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the XGROUP DESTROY command to remove a consumer group + * + * @param parser - The command parser + * @param key - The stream key + * @param group - Name of the consumer group to destroy + * @returns 1 if the group was destroyed, 0 if it did not exist + * @see https://redis.io/commands/xgroup-destroy/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, group: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=XGROUP_DESTROY.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XGROUP_DESTROY.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_DESTROY.d.ts.map new file mode 100644 index 0000000..6093d65 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_DESTROY.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XGROUP_DESTROY.d.ts","sourceRoot":"","sources":["../../../lib/commands/XGROUP_DESTROY.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AAEpE;;GAEG;;;IAGD;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa,SAAS,aAAa;mCAK9B,WAAW;;AAhB3D,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XGROUP_DESTROY.js b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_DESTROY.js new file mode 100644 index 0000000..b37ce3b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_DESTROY.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Command for removing a consumer group + */ +exports.default = { + IS_READ_ONLY: false, + /** + * Constructs the XGROUP DESTROY command to remove a consumer group + * + * @param parser - The command parser + * @param key - The stream key + * @param group - Name of the consumer group to destroy + * @returns 1 if the group was destroyed, 0 if it did not exist + * @see https://redis.io/commands/xgroup-destroy/ + */ + parseCommand(parser, key, group) { + parser.push('XGROUP', 'DESTROY'); + parser.pushKey(key); + parser.push(group); + }, + transformReply: undefined +}; +//# sourceMappingURL=XGROUP_DESTROY.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XGROUP_DESTROY.js.map b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_DESTROY.js.map new file mode 100644 index 0000000..9850a92 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_DESTROY.js.map @@ -0,0 +1 @@ +{"version":3,"file":"XGROUP_DESTROY.js","sourceRoot":"","sources":["../../../lib/commands/XGROUP_DESTROY.ts"],"names":[],"mappings":";;AAGA;;GAEG;AACH,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAoB;QAC1E,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACjC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XGROUP_SETID.d.ts b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_SETID.d.ts new file mode 100644 index 0000000..1fbdfbb --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_SETID.d.ts @@ -0,0 +1,29 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, SimpleStringReply } from '../RESP/types'; +/** + * Options for setting a consumer group's ID position + * + * @property ENTRIESREAD - Set the number of entries that were read in this consumer group (Redis 7.0+) + */ +export interface XGroupSetIdOptions { + /** added in 7.0 */ + ENTRIESREAD?: number; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the XGROUP SETID command to set the last delivered ID for a consumer group + * + * @param parser - The command parser + * @param key - The stream key + * @param group - Name of the consumer group + * @param id - ID to set as last delivered message ('$' for last item, '0' for all items) + * @param options - Additional options for setting the group ID + * @returns 'OK' if successful + * @see https://redis.io/commands/xgroup-setid/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, group: RedisArgument, id: RedisArgument, options?: XGroupSetIdOptions) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=XGROUP_SETID.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XGROUP_SETID.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_SETID.d.ts.map new file mode 100644 index 0000000..ed74098 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_SETID.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XGROUP_SETID.d.ts","sourceRoot":"","sources":["../../../lib/commands/XGROUP_SETID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;AAE1E;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;;;IAIC;;;;;;;;;;OAUG;gDAEO,aAAa,OAChB,aAAa,SACX,aAAa,MAChB,aAAa,YACP,kBAAkB;mCAUgB,kBAAkB,IAAI,CAAC;;AA5BvE,wBA6B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XGROUP_SETID.js b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_SETID.js new file mode 100644 index 0000000..61169ea --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_SETID.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Constructs the XGROUP SETID command to set the last delivered ID for a consumer group + * + * @param parser - The command parser + * @param key - The stream key + * @param group - Name of the consumer group + * @param id - ID to set as last delivered message ('$' for last item, '0' for all items) + * @param options - Additional options for setting the group ID + * @returns 'OK' if successful + * @see https://redis.io/commands/xgroup-setid/ + */ + parseCommand(parser, key, group, id, options) { + parser.push('XGROUP', 'SETID'); + parser.pushKey(key); + parser.push(group, id); + if (options?.ENTRIESREAD) { + parser.push('ENTRIESREAD', options.ENTRIESREAD.toString()); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=XGROUP_SETID.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XGROUP_SETID.js.map b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_SETID.js.map new file mode 100644 index 0000000..35f4b8c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XGROUP_SETID.js.map @@ -0,0 +1 @@ +{"version":3,"file":"XGROUP_SETID.js","sourceRoot":"","sources":["../../../lib/commands/XGROUP_SETID.ts"],"names":[],"mappings":";;AAaA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;;;OAUG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,KAAoB,EACpB,EAAiB,EACjB,OAA4B;QAE5B,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC/B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAEvB,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XINFO_CONSUMERS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/XINFO_CONSUMERS.d.ts new file mode 100644 index 0000000..679fffb --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XINFO_CONSUMERS.d.ts @@ -0,0 +1,59 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, TuplesToMapReply, BlobStringReply, NumberReply, UnwrapReply, Resp2Reply } from '../RESP/types'; +/** + * Reply structure for XINFO CONSUMERS command + * + * @property name - Name of the consumer + * @property pending - Number of pending messages for this consumer + * @property idle - Idle time in milliseconds + * @property inactive - Time in milliseconds since last interaction (Redis 7.2+) + */ +export type XInfoConsumersReply = ArrayReply, + BlobStringReply + ], + [ + BlobStringReply<'pending'>, + NumberReply + ], + [ + BlobStringReply<'idle'>, + NumberReply + ], + /** added in 7.2 */ + [ + BlobStringReply<'inactive'>, + NumberReply + ] +]>>; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the XINFO CONSUMERS command to list the consumers in a consumer group + * + * @param parser - The command parser + * @param key - The stream key + * @param group - Name of the consumer group + * @returns Array of consumer information objects + * @see https://redis.io/commands/xinfo-consumers/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, group: RedisArgument) => void; + readonly transformReply: { + /** + * Transforms RESP2 reply into a structured consumer information array + * + * @param reply - Raw RESP2 reply from Redis + * @returns Array of consumer information objects + */ + readonly 2: (reply: UnwrapReply>) => { + name: BlobStringReply; + pending: NumberReply; + idle: NumberReply; + inactive: NumberReply; + }[]; + readonly 3: () => XInfoConsumersReply; + }; +}; +export default _default; +//# sourceMappingURL=XINFO_CONSUMERS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XINFO_CONSUMERS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/XINFO_CONSUMERS.d.ts.map new file mode 100644 index 0000000..c5fb15a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XINFO_CONSUMERS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XINFO_CONSUMERS.d.ts","sourceRoot":"","sources":["../../../lib/commands/XINFO_CONSUMERS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAW,MAAM,eAAe,CAAC;AAE5I;;;;;;;GAOG;AACH,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,gBAAgB,CAAC;IAC5D;QAAC,eAAe,CAAC,MAAM,CAAC;QAAE,eAAe;KAAC;IAC1C;QAAC,eAAe,CAAC,SAAS,CAAC;QAAE,WAAW;KAAC;IACzC;QAAC,eAAe,CAAC,MAAM,CAAC;QAAE,WAAW;KAAC;IACtC,mBAAmB;IACnB;QAAC,eAAe,CAAC,UAAU,CAAC;QAAE,WAAW;KAAC;CAC3C,CAAC,CAAC,CAAC;;;IAIF;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa,SAAS,aAAa;;QAM1E;;;;;WAKG;4BACQ,YAAY,WAAW,mBAAmB,CAAC,CAAC;;;;;;;;;AAvB3D,wBAoC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XINFO_CONSUMERS.js b/back/node_modules/@redis/client/dist/lib/commands/XINFO_CONSUMERS.js new file mode 100644 index 0000000..e99398b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XINFO_CONSUMERS.js @@ -0,0 +1,40 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the XINFO CONSUMERS command to list the consumers in a consumer group + * + * @param parser - The command parser + * @param key - The stream key + * @param group - Name of the consumer group + * @returns Array of consumer information objects + * @see https://redis.io/commands/xinfo-consumers/ + */ + parseCommand(parser, key, group) { + parser.push('XINFO', 'CONSUMERS'); + parser.pushKey(key); + parser.push(group); + }, + transformReply: { + /** + * Transforms RESP2 reply into a structured consumer information array + * + * @param reply - Raw RESP2 reply from Redis + * @returns Array of consumer information objects + */ + 2: (reply) => { + return reply.map(consumer => { + const unwrapped = consumer; + return { + name: unwrapped[1], + pending: unwrapped[3], + idle: unwrapped[5], + inactive: unwrapped[7] + }; + }); + }, + 3: undefined + } +}; +//# sourceMappingURL=XINFO_CONSUMERS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XINFO_CONSUMERS.js.map b/back/node_modules/@redis/client/dist/lib/commands/XINFO_CONSUMERS.js.map new file mode 100644 index 0000000..b617367 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XINFO_CONSUMERS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"XINFO_CONSUMERS.js","sourceRoot":"","sources":["../../../lib/commands/XINFO_CONSUMERS.ts"],"names":[],"mappings":";;AAmBA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAoB;QAC1E,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAClC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,cAAc,EAAE;QACd;;;;;WAKG;QACH,CAAC,EAAE,CAAC,KAAmD,EAAE,EAAE;YACzD,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBAC1B,MAAM,SAAS,GAAG,QAAmD,CAAC;gBACtE,OAAO;oBACL,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;oBAClB,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;oBACrB,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;oBAClB,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;iBACvB,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QACD,CAAC,EAAE,SAAiD;KACrD;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XINFO_GROUPS.d.ts b/back/node_modules/@redis/client/dist/lib/commands/XINFO_GROUPS.d.ts new file mode 100644 index 0000000..bfc2a7a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XINFO_GROUPS.d.ts @@ -0,0 +1,70 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, TuplesToMapReply, BlobStringReply, NumberReply, NullReply, UnwrapReply, Resp2Reply } from '../RESP/types'; +/** + * Reply structure for XINFO GROUPS command containing information about consumer groups + */ +export type XInfoGroupsReply = ArrayReply, + BlobStringReply + ], + [ + BlobStringReply<'consumers'>, + NumberReply + ], + [ + BlobStringReply<'pending'>, + NumberReply + ], + [ + BlobStringReply<'last-delivered-id'>, + NumberReply + ], + /** added in 7.0 */ + [ + BlobStringReply<'entries-read'>, + NumberReply | NullReply + ], + /** added in 7.0 */ + [ + BlobStringReply<'lag'>, + NumberReply + ] +]>>; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the XINFO GROUPS command to list the consumer groups of a stream + * + * @param parser - The command parser + * @param key - The stream key + * @returns Array of consumer group information objects + * @see https://redis.io/commands/xinfo-groups/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: { + /** + * Transforms RESP2 reply into a structured consumer group information array + * + * @param reply - Raw RESP2 reply from Redis + * @returns Array of consumer group information objects containing: + * name - Name of the consumer group + * consumers - Number of consumers in the group + * pending - Number of pending messages for the group + * last-delivered-id - ID of the last delivered message + * entries-read - Number of entries read in the group (Redis 7.0+) + * lag - Number of entries not read by the group (Redis 7.0+) + */ + readonly 2: (reply: UnwrapReply>) => { + name: BlobStringReply; + consumers: NumberReply; + pending: NumberReply; + 'last-delivered-id': NumberReply; + 'entries-read': NullReply | NumberReply; + lag: NumberReply; + }[]; + readonly 3: () => XInfoGroupsReply; + }; +}; +export default _default; +//# sourceMappingURL=XINFO_GROUPS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XINFO_GROUPS.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/XINFO_GROUPS.d.ts.map new file mode 100644 index 0000000..967365a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XINFO_GROUPS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XINFO_GROUPS.d.ts","sourceRoot":"","sources":["../../../lib/commands/XINFO_GROUPS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAW,MAAM,eAAe,CAAC;AAEvJ;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;IACzD;QAAC,eAAe,CAAC,MAAM,CAAC;QAAE,eAAe;KAAC;IAC1C;QAAC,eAAe,CAAC,WAAW,CAAC;QAAE,WAAW;KAAC;IAC3C;QAAC,eAAe,CAAC,SAAS,CAAC;QAAE,WAAW;KAAC;IACzC;QAAC,eAAe,CAAC,mBAAmB,CAAC;QAAE,WAAW;KAAC;IACnD,mBAAmB;IACnB;QAAC,eAAe,CAAC,cAAc,CAAC;QAAE,WAAW,GAAG,SAAS;KAAC;IAC1D,mBAAmB;IACnB;QAAC,eAAe,CAAC,KAAK,CAAC;QAAE,WAAW;KAAC;CACtC,CAAC,CAAC,CAAC;;;IAIF;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa;;QAKpD;;;;;;;;;;;WAWG;4BACQ,YAAY,WAAW,gBAAgB,CAAC,CAAC;;;;;;;;;;;AA3BxD,wBA0C6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XINFO_GROUPS.js b/back/node_modules/@redis/client/dist/lib/commands/XINFO_GROUPS.js new file mode 100644 index 0000000..995f74b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XINFO_GROUPS.js @@ -0,0 +1,46 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the XINFO GROUPS command to list the consumer groups of a stream + * + * @param parser - The command parser + * @param key - The stream key + * @returns Array of consumer group information objects + * @see https://redis.io/commands/xinfo-groups/ + */ + parseCommand(parser, key) { + parser.push('XINFO', 'GROUPS'); + parser.pushKey(key); + }, + transformReply: { + /** + * Transforms RESP2 reply into a structured consumer group information array + * + * @param reply - Raw RESP2 reply from Redis + * @returns Array of consumer group information objects containing: + * name - Name of the consumer group + * consumers - Number of consumers in the group + * pending - Number of pending messages for the group + * last-delivered-id - ID of the last delivered message + * entries-read - Number of entries read in the group (Redis 7.0+) + * lag - Number of entries not read by the group (Redis 7.0+) + */ + 2: (reply) => { + return reply.map(group => { + const unwrapped = group; + return { + name: unwrapped[1], + consumers: unwrapped[3], + pending: unwrapped[5], + 'last-delivered-id': unwrapped[7], + 'entries-read': unwrapped[9], + lag: unwrapped[11] + }; + }); + }, + 3: undefined + } +}; +//# sourceMappingURL=XINFO_GROUPS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XINFO_GROUPS.js.map b/back/node_modules/@redis/client/dist/lib/commands/XINFO_GROUPS.js.map new file mode 100644 index 0000000..1bc92bd --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XINFO_GROUPS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"XINFO_GROUPS.js","sourceRoot":"","sources":["../../../lib/commands/XINFO_GROUPS.ts"],"names":[],"mappings":";;AAiBA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC/B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE;QACd;;;;;;;;;;;WAWG;QACH,CAAC,EAAE,CAAC,KAAgD,EAAE,EAAE;YACtD,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBACvB,MAAM,SAAS,GAAG,KAA6C,CAAC;gBAChE,OAAO;oBACL,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;oBAClB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;oBACvB,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;oBACrB,mBAAmB,EAAE,SAAS,CAAC,CAAC,CAAC;oBACjC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;oBAC5B,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC;iBACnB,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QACD,CAAC,EAAE,SAA8C;KAClD;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XINFO_STREAM.d.ts b/back/node_modules/@redis/client/dist/lib/commands/XINFO_STREAM.d.ts new file mode 100644 index 0000000..f809a18 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XINFO_STREAM.d.ts @@ -0,0 +1,155 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, TuplesToMapReply, BlobStringReply, NumberReply, NullReply, TuplesReply, ArrayReply } from '../RESP/types'; +/** + * Reply structure for XINFO STREAM command containing detailed information about a stream + * + * @property length - Number of entries in the stream + * @property radix-tree-keys - Number of radix tree keys + * @property radix-tree-nodes - Number of radix tree nodes + * @property last-generated-id - Last generated message ID + * @property max-deleted-entry-id - Highest message ID deleted (Redis 7.2+) + * @property entries-added - Total number of entries added (Redis 7.2+) + * @property recorded-first-entry-id - ID of the first recorded entry (Redis 7.2+) + * @property idmp-duration - The duration value configured for the stream's IDMP map (Redis 8.6+) + * @property idmp-maxsize - The maxsize value configured for the stream's IDMP map (Redis 8.6+) + * @property pids-tracked - The number of idempotent pids currently tracked in the stream (Redis 8.6+) + * @property iids-tracked - The number of idempotent ids currently tracked in the stream (Redis 8.6+) + * @property iids-added - The count of all entries with an idempotent iid added to the stream (Redis 8.6+) + * @property iids-duplicates - The count of all duplicate iids detected during the stream's lifetime (Redis 8.6+) + * @property groups - Number of consumer groups + * @property first-entry - First entry in the stream + * @property last-entry - Last entry in the stream + */ +export type XInfoStreamReply = TuplesToMapReply<[ + [ + BlobStringReply<'length'>, + NumberReply + ], + [ + BlobStringReply<'radix-tree-keys'>, + NumberReply + ], + [ + BlobStringReply<'radix-tree-nodes'>, + NumberReply + ], + [ + BlobStringReply<'last-generated-id'>, + BlobStringReply + ], + /** added in 7.2 */ + [ + BlobStringReply<'max-deleted-entry-id'>, + BlobStringReply + ], + /** added in 7.2 */ + [ + BlobStringReply<'entries-added'>, + NumberReply + ], + /** added in 7.2 */ + [ + BlobStringReply<'recorded-first-entry-id'>, + BlobStringReply + ], + /** added in 8.6 */ + [ + BlobStringReply<'idmp-duration'>, + NumberReply + ], + /** added in 8.6 */ + [ + BlobStringReply<'idmp-maxsize'>, + NumberReply + ], + /** added in 8.6 */ + [ + BlobStringReply<'pids-tracked'>, + NumberReply + ], + /** added in 8.6 */ + [ + BlobStringReply<'iids-tracked'>, + NumberReply + ], + /** added in 8.6 */ + [ + BlobStringReply<'iids-added'>, + NumberReply + ], + /** added in 8.6 */ + [ + BlobStringReply<'iids-duplicates'>, + NumberReply + ], + [ + BlobStringReply<'groups'>, + NumberReply + ], + [ + BlobStringReply<'first-entry'>, + ReturnType + ], + [ + BlobStringReply<'last-entry'>, + ReturnType + ] +]>; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the XINFO STREAM command to get detailed information about a stream + * + * @param parser - The command parser + * @param key - The stream key + * @returns Detailed information about the stream including its length, structure, and entries + * @see https://redis.io/commands/xinfo-stream/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: any) => { + length: NumberReply; + "radix-tree-keys": NumberReply; + "radix-tree-nodes": NumberReply; + "last-generated-id": BlobStringReply; + "max-deleted-entry-id": BlobStringReply; + "entries-added": NumberReply; + "recorded-first-entry-id": BlobStringReply; + "idmp-duration": NumberReply; + "idmp-maxsize": NumberReply; + "pids-tracked": NumberReply; + "iids-tracked": NumberReply; + "iids-added": NumberReply; + "iids-duplicates": NumberReply; + groups: NumberReply; + "first-entry": NullReply | { + id: BlobStringReply; + message: import("../RESP/types").MapReply, BlobStringReply>; + }; + "last-entry": NullReply | { + id: BlobStringReply; + message: import("../RESP/types").MapReply, BlobStringReply>; + }; + }; + readonly 3: (this: void, reply: any) => XInfoStreamReply; + }; +}; +export default _default; +/** + * Raw entry structure from Redis stream + */ +type RawEntry = TuplesReply<[ + id: BlobStringReply, + message: ArrayReply +]> | NullReply; +/** + * Transforms a raw stream entry into a structured object + * + * @param entry - Raw entry from Redis + * @returns Structured object with id and message, or null if entry is null + */ +declare function transformEntry(entry: RawEntry): NullReply | { + id: BlobStringReply; + message: import("../RESP/types").MapReply, BlobStringReply>; +}; +//# sourceMappingURL=XINFO_STREAM.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XINFO_STREAM.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/XINFO_STREAM.d.ts.map new file mode 100644 index 0000000..a9d0ab3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XINFO_STREAM.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XINFO_STREAM.d.ts","sourceRoot":"","sources":["../../../lib/commands/XINFO_STREAM.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAwB,MAAM,eAAe,CAAC;AAGxJ;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;IAC9C;QAAC,eAAe,CAAC,QAAQ,CAAC;QAAE,WAAW;KAAC;IACxC;QAAC,eAAe,CAAC,iBAAiB,CAAC;QAAE,WAAW;KAAC;IACjD;QAAC,eAAe,CAAC,kBAAkB,CAAC;QAAE,WAAW;KAAC;IAClD;QAAC,eAAe,CAAC,mBAAmB,CAAC;QAAE,eAAe;KAAC;IACvD,mBAAmB;IACnB;QAAC,eAAe,CAAC,sBAAsB,CAAC;QAAE,eAAe;KAAC;IAC1D,mBAAmB;IACnB;QAAC,eAAe,CAAC,eAAe,CAAC;QAAE,WAAW;KAAC;IAC/C,mBAAmB;IACnB;QAAC,eAAe,CAAC,yBAAyB,CAAC;QAAE,eAAe;KAAC;IAC7D,mBAAmB;IACnB;QAAC,eAAe,CAAC,eAAe,CAAC;QAAE,WAAW;KAAC;IAC/C,mBAAmB;IACnB;QAAC,eAAe,CAAC,cAAc,CAAC;QAAE,WAAW;KAAC;IAC9C,mBAAmB;IACnB;QAAC,eAAe,CAAC,cAAc,CAAC;QAAE,WAAW;KAAC;IAC9C,mBAAmB;IACnB;QAAC,eAAe,CAAC,cAAc,CAAC;QAAE,WAAW;KAAC;IAC9C,mBAAmB;IACnB;QAAC,eAAe,CAAC,YAAY,CAAC;QAAE,WAAW;KAAC;IAC5C,mBAAmB;IACnB;QAAC,eAAe,CAAC,iBAAiB,CAAC;QAAE,WAAW;KAAC;IACjD;QAAC,eAAe,CAAC,QAAQ,CAAC;QAAE,WAAW;KAAC;IACxC;QAAC,eAAe,CAAC,aAAa,CAAC;QAAE,UAAU,CAAC,OAAO,cAAc,CAAC;KAAC;IACnE;QAAC,eAAe,CAAC,YAAY,CAAC;QAAE,UAAU,CAAC,OAAO,cAAc,CAAC;KAAC;CACnE,CAAC,CAAC;;;IAID;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa;;wCAM3C,GAAG;;;;;;;;;;;;;;;;;;;;;;;;wCAkBH,GAAG;;;AAlChB,wBA4D6B;AAE7B;;GAEG;AACH,KAAK,QAAQ,GAAG,WAAW,CAAC;IAC1B,EAAE,EAAE,eAAe;IACnB,OAAO,EAAE,UAAU,CAAC,eAAe,CAAC;CACrC,CAAC,GAAG,SAAS,CAAC;AAEf;;;;;GAKG;AACH,iBAAS,cAAc,CAAC,KAAK,EAAE,QAAQ;;;EAQtC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XINFO_STREAM.js b/back/node_modules/@redis/client/dist/lib/commands/XINFO_STREAM.js new file mode 100644 index 0000000..096faef --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XINFO_STREAM.js @@ -0,0 +1,72 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the XINFO STREAM command to get detailed information about a stream + * + * @param parser - The command parser + * @param key - The stream key + * @returns Detailed information about the stream including its length, structure, and entries + * @see https://redis.io/commands/xinfo-stream/ + */ + parseCommand(parser, key) { + parser.push('XINFO', 'STREAM'); + parser.pushKey(key); + }, + transformReply: { + // TODO: is there a "type safe" way to do it? + 2(reply) { + const parsedReply = {}; + for (let i = 0; i < reply.length; i += 2) { + switch (reply[i]) { + case 'first-entry': + case 'last-entry': + parsedReply[reply[i]] = transformEntry(reply[i + 1]); + break; + default: + parsedReply[reply[i]] = reply[i + 1]; + break; + } + } + return parsedReply; + }, + 3(reply) { + if (reply instanceof Map) { + reply.set('first-entry', transformEntry(reply.get('first-entry'))); + reply.set('last-entry', transformEntry(reply.get('last-entry'))); + } + else if (reply instanceof Array) { + // Find entries by key name to handle different Redis versions + // (8.6+ has additional idempotency fields that shift the indices) + for (let i = 0; i < reply.length; i += 2) { + if (reply[i] === 'first-entry' || reply[i] === 'last-entry') { + reply[i + 1] = transformEntry(reply[i + 1]); + } + } + } + else { + reply['first-entry'] = transformEntry(reply['first-entry']); + reply['last-entry'] = transformEntry(reply['last-entry']); + } + return reply; + } + } +}; +/** + * Transforms a raw stream entry into a structured object + * + * @param entry - Raw entry from Redis + * @returns Structured object with id and message, or null if entry is null + */ +function transformEntry(entry) { + if ((0, generic_transformers_1.isNullReply)(entry)) + return entry; + const [id, message] = entry; + return { + id, + message: (0, generic_transformers_1.transformTuplesReply)(message) + }; +} +//# sourceMappingURL=XINFO_STREAM.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XINFO_STREAM.js.map b/back/node_modules/@redis/client/dist/lib/commands/XINFO_STREAM.js.map new file mode 100644 index 0000000..b9cf1c0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XINFO_STREAM.js.map @@ -0,0 +1 @@ +{"version":3,"file":"XINFO_STREAM.js","sourceRoot":"","sources":["../../../lib/commands/XINFO_STREAM.ts"],"names":[],"mappings":";;AAEA,iEAA2E;AAkD3E,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC/B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE;QACd,6CAA6C;QAC7C,CAAC,CAAC,KAAU;YACV,MAAM,WAAW,GAAyC,EAAE,CAAC;YAE7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,QAAQ,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjB,KAAK,aAAa,CAAC;oBACnB,KAAK,YAAY;wBACf,WAAW,CAAC,KAAK,CAAC,CAAC,CAAmC,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAQ,CAAC;wBAC9F,MAAM;oBAER;wBACE,WAAW,CAAC,KAAK,CAAC,CAAC,CAA6B,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACjE,MAAM;gBACV,CAAC;YACH,CAAC;YAED,OAAO,WAA0C,CAAC;QACpD,CAAC;QACD,CAAC,CAAC,KAAU;YACV,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;gBACzB,KAAK,CAAC,GAAG,CACP,aAAa,EACb,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CACzC,CAAC;gBACF,KAAK,CAAC,GAAG,CACP,YAAY,EACZ,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CACxC,CAAC;YACJ,CAAC;iBAAM,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAClC,8DAA8D;gBAC9D,kEAAkE;gBAClE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,aAAa,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC;wBAC5D,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC9C,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,aAAa,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC5D,KAAK,CAAC,YAAY,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;YAC5D,CAAC;YAED,OAAO,KAAyB,CAAC;QACnC,CAAC;KACF;CACyB,CAAC;AAU7B;;;;;GAKG;AACH,SAAS,cAAc,CAAC,KAAe;IACrC,IAAI,IAAA,kCAAW,EAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAErC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,KAA6C,CAAC;IACpE,OAAO;QACL,EAAE;QACF,OAAO,EAAE,IAAA,2CAAoB,EAAC,OAAO,CAAC;KACvC,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XLEN.d.ts b/back/node_modules/@redis/client/dist/lib/commands/XLEN.d.ts new file mode 100644 index 0000000..9f4a13a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XLEN.d.ts @@ -0,0 +1,21 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +/** + * Command for getting the length of a stream + */ +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the XLEN command to get the number of entries in a stream + * + * @param parser - The command parser + * @param key - The stream key + * @returns The number of entries inside the stream + * @see https://redis.io/commands/xlen/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=XLEN.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XLEN.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/XLEN.d.ts.map new file mode 100644 index 0000000..304b792 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XLEN.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XLEN.d.ts","sourceRoot":"","sources":["../../../lib/commands/XLEN.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AAEpE;;GAEG;;;;IAID;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa;mCAIR,WAAW;;AAf3D,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XLEN.js b/back/node_modules/@redis/client/dist/lib/commands/XLEN.js new file mode 100644 index 0000000..180acf7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XLEN.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Command for getting the length of a stream + */ +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Constructs the XLEN command to get the number of entries in a stream + * + * @param parser - The command parser + * @param key - The stream key + * @returns The number of entries inside the stream + * @see https://redis.io/commands/xlen/ + */ + parseCommand(parser, key) { + parser.push('XLEN'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=XLEN.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XLEN.js.map b/back/node_modules/@redis/client/dist/lib/commands/XLEN.js.map new file mode 100644 index 0000000..b05f772 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XLEN.js.map @@ -0,0 +1 @@ +{"version":3,"file":"XLEN.js","sourceRoot":"","sources":["../../../lib/commands/XLEN.ts"],"names":[],"mappings":";;AAGA;;GAEG;AACH,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XPENDING.d.ts b/back/node_modules/@redis/client/dist/lib/commands/XPENDING.d.ts new file mode 100644 index 0000000..2398e3e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XPENDING.d.ts @@ -0,0 +1,33 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply, NullReply, ArrayReply, TuplesReply, NumberReply } from '../RESP/types'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the XPENDING command to inspect pending messages of a consumer group + * + * @param parser - The command parser + * @param key - The stream key + * @param group - Name of the consumer group + * @returns Summary of pending messages including total count, ID range, and per-consumer stats + * @see https://redis.io/commands/xpending/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, group: RedisArgument) => void; + /** + * Transforms the raw XPENDING reply into a structured object + * + * @param reply - Raw reply from Redis + * @returns Object containing pending count, ID range, and consumer statistics + */ + readonly transformReply: (this: void, reply: [pending: NumberReply, firstId: NullReply | BlobStringReply, lastId: NullReply | BlobStringReply, consumers: NullReply | ArrayReply, deliveriesCounter: BlobStringReply]>>]) => { + pending: NumberReply; + firstId: NullReply | BlobStringReply; + lastId: NullReply | BlobStringReply; + consumers: { + name: BlobStringReply; + deliveriesCounter: number; + }[] | null; + }; +}; +export default _default; +//# sourceMappingURL=XPENDING.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XPENDING.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/XPENDING.d.ts.map new file mode 100644 index 0000000..6d3e33f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XPENDING.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XPENDING.d.ts","sourceRoot":"","sources":["../../../lib/commands/XPENDING.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAwB,MAAM,eAAe,CAAC;;;;IAuBpI;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa,SAAS,aAAa;IAK5E;;;;;OAKG;;;;;;;;;;;AAtBL,wBAsC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XPENDING.js b/back/node_modules/@redis/client/dist/lib/commands/XPENDING.js new file mode 100644 index 0000000..bd00bc1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XPENDING.js @@ -0,0 +1,42 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Constructs the XPENDING command to inspect pending messages of a consumer group + * + * @param parser - The command parser + * @param key - The stream key + * @param group - Name of the consumer group + * @returns Summary of pending messages including total count, ID range, and per-consumer stats + * @see https://redis.io/commands/xpending/ + */ + parseCommand(parser, key, group) { + parser.push('XPENDING'); + parser.pushKey(key); + parser.push(group); + }, + /** + * Transforms the raw XPENDING reply into a structured object + * + * @param reply - Raw reply from Redis + * @returns Object containing pending count, ID range, and consumer statistics + */ + transformReply(reply) { + const consumers = reply[3]; + return { + pending: reply[0], + firstId: reply[1], + lastId: reply[2], + consumers: consumers === null ? null : consumers.map(consumer => { + const [name, deliveriesCounter] = consumer; + return { + name, + deliveriesCounter: Number(deliveriesCounter) + }; + }) + }; + } +}; +//# sourceMappingURL=XPENDING.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XPENDING.js.map b/back/node_modules/@redis/client/dist/lib/commands/XPENDING.js.map new file mode 100644 index 0000000..5cf208b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XPENDING.js.map @@ -0,0 +1 @@ +{"version":3,"file":"XPENDING.js","sourceRoot":"","sources":["../../../lib/commands/XPENDING.ts"],"names":[],"mappings":";;AAqBA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAoB;QAC1E,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD;;;;;OAKG;IACH,cAAc,CAAC,KAAoC;QACjD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAA4C,CAAC;QACtE,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YACjB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YACjB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;YAChB,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBAC9D,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC,GAAG,QAAmD,CAAC;gBACtF,OAAO;oBACL,IAAI;oBACJ,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;iBAC7C,CAAC;YACJ,CAAC,CAAC;SACH,CAAA;IACH,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XPENDING_RANGE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/XPENDING_RANGE.d.ts new file mode 100644 index 0000000..372b01c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XPENDING_RANGE.d.ts @@ -0,0 +1,58 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, TuplesReply, BlobStringReply, NumberReply, UnwrapReply } from '../RESP/types'; +/** + * Options for the XPENDING RANGE command + * + * @property IDLE - Filter by message idle time in milliseconds + * @property consumer - Filter by specific consumer name + */ +export interface XPendingRangeOptions { + IDLE?: number; + consumer?: RedisArgument; +} +/** + * Raw reply structure for XPENDING RANGE command + * + * @property id - Message ID + * @property consumer - Name of the consumer that holds the message + * @property millisecondsSinceLastDelivery - Time since last delivery attempt + * @property deliveriesCounter - Number of times this message was delivered + */ +type XPendingRangeRawReply = ArrayReply>; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the XPENDING command with range parameters to get detailed information about pending messages + * + * @param parser - The command parser + * @param key - The stream key + * @param group - Name of the consumer group + * @param start - Start of ID range (use '-' for minimum ID) + * @param end - End of ID range (use '+' for maximum ID) + * @param count - Maximum number of messages to return + * @param options - Additional filtering options + * @returns Array of pending message details + * @see https://redis.io/commands/xpending/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, group: RedisArgument, start: RedisArgument, end: RedisArgument, count: number, options?: XPendingRangeOptions) => void; + /** + * Transforms the raw XPENDING RANGE reply into a structured array of message details + * + * @param reply - Raw reply from Redis + * @returns Array of objects containing message ID, consumer, idle time, and delivery count + */ + readonly transformReply: (this: void, reply: UnwrapReply) => { + id: BlobStringReply; + consumer: BlobStringReply; + millisecondsSinceLastDelivery: NumberReply; + deliveriesCounter: NumberReply; + }[]; +}; +export default _default; +//# sourceMappingURL=XPENDING_RANGE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XPENDING_RANGE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/XPENDING_RANGE.d.ts.map new file mode 100644 index 0000000..94afe1b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XPENDING_RANGE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XPENDING_RANGE.d.ts","sourceRoot":"","sources":["../../../lib/commands/XPENDING_RANGE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AAE3H;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,KAAK,qBAAqB,GAAG,UAAU,CAAC,WAAW,CAAC;IAClD,EAAE,EAAE,eAAe;IACnB,QAAQ,EAAE,eAAe;IACzB,6BAA6B,EAAE,WAAW;IAC1C,iBAAiB,EAAE,WAAW;CAC/B,CAAC,CAAC,CAAC;;;;IAKF;;;;;;;;;;;;OAYG;gDAEO,aAAa,OAChB,aAAa,SACX,aAAa,SACb,aAAa,OACf,aAAa,SACX,MAAM,YACH,oBAAoB;IAgBhC;;;;;OAKG;iDACmB,YAAY,qBAAqB,CAAC;;;;;;;AA7C1D,wBAwD6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XPENDING_RANGE.js b/back/node_modules/@redis/client/dist/lib/commands/XPENDING_RANGE.js new file mode 100644 index 0000000..1e9114d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XPENDING_RANGE.js @@ -0,0 +1,49 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Constructs the XPENDING command with range parameters to get detailed information about pending messages + * + * @param parser - The command parser + * @param key - The stream key + * @param group - Name of the consumer group + * @param start - Start of ID range (use '-' for minimum ID) + * @param end - End of ID range (use '+' for maximum ID) + * @param count - Maximum number of messages to return + * @param options - Additional filtering options + * @returns Array of pending message details + * @see https://redis.io/commands/xpending/ + */ + parseCommand(parser, key, group, start, end, count, options) { + parser.push('XPENDING'); + parser.pushKey(key); + parser.push(group); + if (options?.IDLE !== undefined) { + parser.push('IDLE', options.IDLE.toString()); + } + parser.push(start, end, count.toString()); + if (options?.consumer) { + parser.push(options.consumer); + } + }, + /** + * Transforms the raw XPENDING RANGE reply into a structured array of message details + * + * @param reply - Raw reply from Redis + * @returns Array of objects containing message ID, consumer, idle time, and delivery count + */ + transformReply(reply) { + return reply.map(pending => { + const unwrapped = pending; + return { + id: unwrapped[0], + consumer: unwrapped[1], + millisecondsSinceLastDelivery: unwrapped[2], + deliveriesCounter: unwrapped[3] + }; + }); + } +}; +//# sourceMappingURL=XPENDING_RANGE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XPENDING_RANGE.js.map b/back/node_modules/@redis/client/dist/lib/commands/XPENDING_RANGE.js.map new file mode 100644 index 0000000..01492a6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XPENDING_RANGE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"XPENDING_RANGE.js","sourceRoot":"","sources":["../../../lib/commands/XPENDING_RANGE.ts"],"names":[],"mappings":";;AA6BA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;;;;;;;OAYG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,KAAoB,EACpB,KAAoB,EACpB,GAAkB,EAClB,KAAa,EACb,OAA8B;QAE9B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEnB,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE1C,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD;;;;;OAKG;IACH,cAAc,CAAC,KAAyC;QACtD,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACzB,MAAM,SAAS,GAAG,OAAiD,CAAC;YACpE,OAAO;gBACL,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;gBAChB,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;gBACtB,6BAA6B,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC3C,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC;aAChC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XRANGE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/XRANGE.d.ts new file mode 100644 index 0000000..3b56220 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XRANGE.d.ts @@ -0,0 +1,45 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, UnwrapReply, TypeMapping } from '../RESP/types'; +import { StreamMessageRawReply } from './generic-transformers'; +/** + * Options for the XRANGE command + * + * @property COUNT - Limit the number of entries returned + */ +export interface XRangeOptions { + COUNT?: number; +} +/** + * Helper function to build XRANGE command arguments + * + * @param start - Start of ID range (use '-' for minimum ID) + * @param end - End of ID range (use '+' for maximum ID) + * @param options - Additional options for the range query + * @returns Array of arguments for the XRANGE command + */ +export declare function xRangeArguments(start: RedisArgument, end: RedisArgument, options?: XRangeOptions): RedisArgument[]; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the XRANGE command to read stream entries in a specific range + * + * @param parser - The command parser + * @param key - The stream key + * @param args - Arguments tuple containing start ID, end ID, and options + * @returns Array of messages in the specified range + * @see https://redis.io/commands/xrange/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, start: RedisArgument, end: RedisArgument, options?: XRangeOptions | undefined) => void; + /** + * Transforms the raw XRANGE reply into structured message objects + * + * @param reply - Raw reply from Redis + * @param preserve - Preserve options (unused) + * @param typeMapping - Type mapping for message fields + * @returns Array of structured message objects + */ + readonly transformReply: (this: void, reply: UnwrapReply>, preserve?: any, typeMapping?: TypeMapping) => import("./generic-transformers").StreamMessageReply[]; +}; +export default _default; +//# sourceMappingURL=XRANGE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XRANGE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/XRANGE.d.ts.map new file mode 100644 index 0000000..1409d8b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XRANGE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XRANGE.d.ts","sourceRoot":"","sources":["../../../lib/commands/XRANGE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAW,WAAW,EAAE,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAA+B,MAAM,wBAAwB,CAAC;AAE5F;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,aAAa,EAClB,OAAO,CAAC,EAAE,aAAa,mBASxB;;;;IAKC;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa;IAKtD;;;;;;;OAOG;iDAEM,YAAY,WAAW,qBAAqB,CAAC,CAAC,aAC1C,GAAG,gBACA,WAAW;;AA5B7B,wBAgC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XRANGE.js b/back/node_modules/@redis/client/dist/lib/commands/XRANGE.js new file mode 100644 index 0000000..3a03189 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XRANGE.js @@ -0,0 +1,50 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.xRangeArguments = void 0; +const generic_transformers_1 = require("./generic-transformers"); +/** + * Helper function to build XRANGE command arguments + * + * @param start - Start of ID range (use '-' for minimum ID) + * @param end - End of ID range (use '+' for maximum ID) + * @param options - Additional options for the range query + * @returns Array of arguments for the XRANGE command + */ +function xRangeArguments(start, end, options) { + const args = [start, end]; + if (options?.COUNT) { + args.push('COUNT', options.COUNT.toString()); + } + return args; +} +exports.xRangeArguments = xRangeArguments; +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Constructs the XRANGE command to read stream entries in a specific range + * + * @param parser - The command parser + * @param key - The stream key + * @param args - Arguments tuple containing start ID, end ID, and options + * @returns Array of messages in the specified range + * @see https://redis.io/commands/xrange/ + */ + parseCommand(parser, key, ...args) { + parser.push('XRANGE'); + parser.pushKey(key); + parser.pushVariadic(xRangeArguments(args[0], args[1], args[2])); + }, + /** + * Transforms the raw XRANGE reply into structured message objects + * + * @param reply - Raw reply from Redis + * @param preserve - Preserve options (unused) + * @param typeMapping - Type mapping for message fields + * @returns Array of structured message objects + */ + transformReply(reply, preserve, typeMapping) { + return reply.map(generic_transformers_1.transformStreamMessageReply.bind(undefined, typeMapping)); + } +}; +//# sourceMappingURL=XRANGE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XRANGE.js.map b/back/node_modules/@redis/client/dist/lib/commands/XRANGE.js.map new file mode 100644 index 0000000..086a9d6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XRANGE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"XRANGE.js","sourceRoot":"","sources":["../../../lib/commands/XRANGE.ts"],"names":[],"mappings":";;;AAEA,iEAA4F;AAW5F;;;;;;;GAOG;AACH,SAAgB,eAAe,CAC7B,KAAoB,EACpB,GAAkB,EAClB,OAAuB;IAEvB,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAE1B,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAZD,0CAYC;AAED,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,GAAG,IAAwC;QACjG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;IACD;;;;;;;OAOG;IACH,cAAc,CACZ,KAAqD,EACrD,QAAc,EACd,WAAyB;QAEzB,OAAO,KAAK,CAAC,GAAG,CAAC,kDAA2B,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;IAC7E,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XREAD.d.ts b/back/node_modules/@redis/client/dist/lib/commands/XREAD.d.ts new file mode 100644 index 0000000..f0b052d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XREAD.d.ts @@ -0,0 +1,54 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ReplyUnion } from '../RESP/types'; +import { transformStreamsMessagesReplyResp2 } from './generic-transformers'; +/** + * Structure representing a stream to read from + * + * @property key - The stream key + * @property id - The message ID to start reading from + */ +export interface XReadStream { + key: RedisArgument; + id: RedisArgument; +} +export type XReadStreams = Array | XReadStream; +/** + * Helper function to push stream keys and IDs to the command parser + * + * @param parser - The command parser + * @param streams - Single stream or array of streams to read from + */ +export declare function pushXReadStreams(parser: CommandParser, streams: XReadStreams): void; +/** + * Options for the XREAD command + * + * @property COUNT - Limit the number of entries returned per stream + * @property BLOCK - Milliseconds to block waiting for new entries (0 for indefinite) + */ +export interface XReadOptions { + COUNT?: number; + BLOCK?: number; +} +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the XREAD command to read messages from one or more streams + * + * @param parser - The command parser + * @param streams - Single stream or array of streams to read from + * @param options - Additional options for reading streams + * @returns Array of stream entries, each containing the stream name and its messages + * @see https://redis.io/commands/xread/ + */ + readonly parseCommand: (this: void, parser: CommandParser, streams: XReadStreams, options?: XReadOptions) => void; + /** + * Transform functions for different RESP versions + */ + readonly transformReply: { + readonly 2: typeof transformStreamsMessagesReplyResp2; + readonly 3: () => ReplyUnion; + }; + readonly unstableResp3: true; +}; +export default _default; +//# sourceMappingURL=XREAD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XREAD.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/XREAD.d.ts.map new file mode 100644 index 0000000..0a5d2e1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XREAD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XREAD.d.ts","sourceRoot":"","sources":["../../../lib/commands/XREAD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAW,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,kCAAkC,EAAE,MAAM,wBAAwB,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,aAAa,CAAC;IACnB,EAAE,EAAE,aAAa,CAAC;CACnB;AAED,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;AAE5D;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,QAc5E;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;;;IAIC;;;;;;;;OAQG;gDACkB,aAAa,WAAW,YAAY,YAAY,YAAY;IAajF;;OAEG;;;0BAGgC,UAAU;;;;AA7B/C,wBAgC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XREAD.js b/back/node_modules/@redis/client/dist/lib/commands/XREAD.js new file mode 100644 index 0000000..a6686ba --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XREAD.js @@ -0,0 +1,57 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.pushXReadStreams = void 0; +const generic_transformers_1 = require("./generic-transformers"); +/** + * Helper function to push stream keys and IDs to the command parser + * + * @param parser - The command parser + * @param streams - Single stream or array of streams to read from + */ +function pushXReadStreams(parser, streams) { + parser.push('STREAMS'); + if (Array.isArray(streams)) { + for (let i = 0; i < streams.length; i++) { + parser.pushKey(streams[i].key); + } + for (let i = 0; i < streams.length; i++) { + parser.push(streams[i].id); + } + } + else { + parser.pushKey(streams.key); + parser.push(streams.id); + } +} +exports.pushXReadStreams = pushXReadStreams; +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the XREAD command to read messages from one or more streams + * + * @param parser - The command parser + * @param streams - Single stream or array of streams to read from + * @param options - Additional options for reading streams + * @returns Array of stream entries, each containing the stream name and its messages + * @see https://redis.io/commands/xread/ + */ + parseCommand(parser, streams, options) { + parser.push('XREAD'); + if (options?.COUNT) { + parser.push('COUNT', options.COUNT.toString()); + } + if (options?.BLOCK !== undefined) { + parser.push('BLOCK', options.BLOCK.toString()); + } + pushXReadStreams(parser, streams); + }, + /** + * Transform functions for different RESP versions + */ + transformReply: { + 2: generic_transformers_1.transformStreamsMessagesReplyResp2, + 3: undefined + }, + unstableResp3: true +}; +//# sourceMappingURL=XREAD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XREAD.js.map b/back/node_modules/@redis/client/dist/lib/commands/XREAD.js.map new file mode 100644 index 0000000..de45c95 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XREAD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"XREAD.js","sourceRoot":"","sources":["../../../lib/commands/XREAD.ts"],"names":[],"mappings":";;;AAEA,iEAA4E;AAe5E;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,MAAqB,EAAE,OAAqB;IAC3E,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEvB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAdD,4CAcC;AAaD,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,OAAqB,EAAE,OAAsB;QAC/E,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAErB,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IACD;;OAEG;IACH,cAAc,EAAE;QACd,CAAC,EAAE,yDAAkC;QACrC,CAAC,EAAE,SAAwC;KAC5C;IACD,aAAa,EAAE,IAAI;CACO,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XREADGROUP.d.ts b/back/node_modules/@redis/client/dist/lib/commands/XREADGROUP.d.ts new file mode 100644 index 0000000..02423d9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XREADGROUP.d.ts @@ -0,0 +1,42 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ReplyUnion } from '../RESP/types'; +import { XReadStreams } from './XREAD'; +import { transformStreamsMessagesReplyResp2 } from './generic-transformers'; +/** + * Options for the XREADGROUP command + * + * @property COUNT - Limit the number of entries returned per stream + * @property BLOCK - Milliseconds to block waiting for new entries (0 for indefinite) + * @property NOACK - Skip adding the message to the PEL (Pending Entries List) + * @property CLAIM - Prepend PEL entries that are at least this many milliseconds old + */ +export interface XReadGroupOptions { + COUNT?: number; + BLOCK?: number; + NOACK?: boolean; + CLAIM?: number; +} +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Constructs the XREADGROUP command to read messages from streams as a consumer group member + * + * @param parser - The command parser + * @param group - Name of the consumer group + * @param consumer - Name of the consumer in the group + * @param streams - Single stream or array of streams to read from + * @param options - Additional options for reading streams + * @returns Array of stream entries, each containing the stream name and its messages + * @see https://redis.io/commands/xreadgroup/ + */ + readonly parseCommand: (this: void, parser: CommandParser, group: RedisArgument, consumer: RedisArgument, streams: XReadStreams, options?: XReadGroupOptions) => void; + /** + * Transform functions for different RESP versions + */ + readonly transformReply: { + readonly 2: typeof transformStreamsMessagesReplyResp2; + readonly 3: () => ReplyUnion; + }; +}; +export default _default; +//# sourceMappingURL=XREADGROUP.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XREADGROUP.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/XREADGROUP.d.ts.map new file mode 100644 index 0000000..ac396ea --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XREADGROUP.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XREADGROUP.d.ts","sourceRoot":"","sources":["../../../lib/commands/XREADGROUP.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAW,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,YAAY,EAAoB,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,kCAAkC,EAAE,MAAM,wBAAwB,CAAC;AAE5E;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;;;IAIC;;;;;;;;;;OAUG;gDAEO,aAAa,SACd,aAAa,YACV,aAAa,WACd,YAAY,YACX,iBAAiB;IAsB7B;;OAEG;;;0BAGgC,UAAU;;;AA7C/C,wBA+C6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XREADGROUP.js b/back/node_modules/@redis/client/dist/lib/commands/XREADGROUP.js new file mode 100644 index 0000000..b0d8918 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XREADGROUP.js @@ -0,0 +1,42 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const XREAD_1 = require("./XREAD"); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + IS_READ_ONLY: true, + /** + * Constructs the XREADGROUP command to read messages from streams as a consumer group member + * + * @param parser - The command parser + * @param group - Name of the consumer group + * @param consumer - Name of the consumer in the group + * @param streams - Single stream or array of streams to read from + * @param options - Additional options for reading streams + * @returns Array of stream entries, each containing the stream name and its messages + * @see https://redis.io/commands/xreadgroup/ + */ + parseCommand(parser, group, consumer, streams, options) { + parser.push('XREADGROUP', 'GROUP', group, consumer); + if (options?.COUNT !== undefined) { + parser.push('COUNT', options.COUNT.toString()); + } + if (options?.BLOCK !== undefined) { + parser.push('BLOCK', options.BLOCK.toString()); + } + if (options?.NOACK) { + parser.push('NOACK'); + } + if (options?.CLAIM !== undefined) { + parser.push('CLAIM', options.CLAIM.toString()); + } + (0, XREAD_1.pushXReadStreams)(parser, streams); + }, + /** + * Transform functions for different RESP versions + */ + transformReply: { + 2: generic_transformers_1.transformStreamsMessagesReplyResp2, + 3: undefined + }, +}; +//# sourceMappingURL=XREADGROUP.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XREADGROUP.js.map b/back/node_modules/@redis/client/dist/lib/commands/XREADGROUP.js.map new file mode 100644 index 0000000..248bf21 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XREADGROUP.js.map @@ -0,0 +1 @@ +{"version":3,"file":"XREADGROUP.js","sourceRoot":"","sources":["../../../lib/commands/XREADGROUP.ts"],"names":[],"mappings":";;AAEA,mCAAyD;AACzD,iEAA4E;AAiB5E,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;;;;OAUG;IACH,YAAY,CACV,MAAqB,EACrB,KAAoB,EACpB,QAAuB,EACvB,OAAqB,EACrB,OAA2B;QAE3B,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEpD,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;QAED,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,IAAA,wBAAgB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IACD;;OAEG;IACH,cAAc,EAAE;QACd,CAAC,EAAE,yDAAkC;QACrC,CAAC,EAAE,SAAwC;KAC5C;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XREVRANGE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/XREVRANGE.d.ts new file mode 100644 index 0000000..a34c321 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XREVRANGE.d.ts @@ -0,0 +1,30 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument } from '../RESP/types'; +/** + * Options for the XREVRANGE command + * + * @property COUNT - Limit the number of entries returned + */ +export interface XRevRangeOptions { + COUNT?: number; +} +/** + * Command for reading stream entries in reverse order + */ +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the XREVRANGE command to read stream entries in reverse order + * + * @param parser - The command parser + * @param key - The stream key + * @param args - Arguments tuple containing start ID, end ID, and options + * @returns Array of messages in the specified range in reverse order + * @see https://redis.io/commands/xrevrange/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, start: RedisArgument, end: RedisArgument, options?: import("./XRANGE").XRangeOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("./generic-transformers").StreamMessageRawReply[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("./generic-transformers").StreamMessageReply[]; +}; +export default _default; +//# sourceMappingURL=XREVRANGE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XREVRANGE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/XREVRANGE.d.ts.map new file mode 100644 index 0000000..e7da4e7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XREVRANGE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XREVRANGE.d.ts","sourceRoot":"","sources":["../../../lib/commands/XREVRANGE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAW,aAAa,EAAE,MAAM,eAAe,CAAC;AAGvD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;;;;IAID;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa;;;AAZxD,wBAkB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XREVRANGE.js b/back/node_modules/@redis/client/dist/lib/commands/XREVRANGE.js new file mode 100644 index 0000000..3478210 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XREVRANGE.js @@ -0,0 +1,49 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const XRANGE_1 = __importStar(require("./XRANGE")); +/** + * Command for reading stream entries in reverse order + */ +exports.default = { + CACHEABLE: XRANGE_1.default.CACHEABLE, + IS_READ_ONLY: XRANGE_1.default.IS_READ_ONLY, + /** + * Constructs the XREVRANGE command to read stream entries in reverse order + * + * @param parser - The command parser + * @param key - The stream key + * @param args - Arguments tuple containing start ID, end ID, and options + * @returns Array of messages in the specified range in reverse order + * @see https://redis.io/commands/xrevrange/ + */ + parseCommand(parser, key, ...args) { + parser.push('XREVRANGE'); + parser.pushKey(key); + parser.pushVariadic((0, XRANGE_1.xRangeArguments)(args[0], args[1], args[2])); + }, + transformReply: XRANGE_1.default.transformReply +}; +//# sourceMappingURL=XREVRANGE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XREVRANGE.js.map b/back/node_modules/@redis/client/dist/lib/commands/XREVRANGE.js.map new file mode 100644 index 0000000..4a385b7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XREVRANGE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"XREVRANGE.js","sourceRoot":"","sources":["../../../lib/commands/XREVRANGE.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA,mDAAmD;AAWnD;;GAEG;AACH,kBAAe;IACb,SAAS,EAAE,gBAAM,CAAC,SAAS;IAC3B,YAAY,EAAE,gBAAM,CAAC,YAAY;IACjC;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,GAAG,IAAwC;QACjG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,YAAY,CAAC,IAAA,wBAAe,EAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,cAAc,EAAE,gBAAM,CAAC,cAAc;CACX,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XSETID.d.ts b/back/node_modules/@redis/client/dist/lib/commands/XSETID.d.ts new file mode 100644 index 0000000..3be349d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XSETID.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, SimpleStringReply } from '../RESP/types'; +export interface XSetIdOptions { + /** added in 7.0 */ + ENTRIESADDED?: number; + /** added in 7.0 */ + MAXDELETEDID?: RedisArgument; +} +declare const _default: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, lastId: RedisArgument, options?: XSetIdOptions) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=XSETID.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XSETID.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/XSETID.d.ts.map new file mode 100644 index 0000000..5bf9b30 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XSETID.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XSETID.d.ts","sourceRoot":"","sources":["../../../lib/commands/XSETID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,eAAe,CAAC;AAC1E,MAAM,WAAW,aAAa;IAC5B,mBAAmB;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB;IACnB,YAAY,CAAC,EAAE,aAAa,CAAC;CAC9B;;;gDAKW,aAAa,OAChB,aAAa,UACV,aAAa,YACX,aAAa;mCAcqB,kBAAkB,IAAI,CAAC;;AApBvE,wBAqB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XSETID.js b/back/node_modules/@redis/client/dist/lib/commands/XSETID.js new file mode 100644 index 0000000..46de277 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XSETID.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + parseCommand(parser, key, lastId, options) { + parser.push('XSETID'); + parser.pushKey(key); + parser.push(lastId); + if (options?.ENTRIESADDED) { + parser.push('ENTRIESADDED', options.ENTRIESADDED.toString()); + } + if (options?.MAXDELETEDID) { + parser.push('MAXDELETEDID', options.MAXDELETEDID); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=XSETID.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XSETID.js.map b/back/node_modules/@redis/client/dist/lib/commands/XSETID.js.map new file mode 100644 index 0000000..6591d6e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XSETID.js.map @@ -0,0 +1 @@ +{"version":3,"file":"XSETID.js","sourceRoot":"","sources":["../../../lib/commands/XSETID.ts"],"names":[],"mappings":";;AASA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,MAAqB,EACrB,OAAuB;QAEvB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEpB,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XTRIM.d.ts b/back/node_modules/@redis/client/dist/lib/commands/XTRIM.d.ts new file mode 100644 index 0000000..5917fdd --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XTRIM.d.ts @@ -0,0 +1,38 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply, RedisArgument } from '../RESP/types'; +import { StreamDeletionPolicy } from './common-stream.types'; +/** + * Options for the XTRIM command + * + * @property strategyModifier - Exact ('=') or approximate ('~') trimming + * @property LIMIT - Maximum number of entries to trim in one call (Redis 6.2+) + * @property policy - Policy to apply when deleting entries (optional, defaults to KEEPREF) + */ +export interface XTrimOptions { + strategyModifier?: '=' | '~'; + /** added in 6.2 */ + LIMIT?: number; + /** added in 8.2 */ + policy?: StreamDeletionPolicy; +} +/** + * Command for trimming a stream to a specified length or minimum ID + */ +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Constructs the XTRIM command to trim a stream by length or minimum ID + * + * @param parser - The command parser + * @param key - The stream key + * @param strategy - Trim by maximum length (MAXLEN) or minimum ID (MINID) + * @param threshold - Maximum length or minimum ID threshold + * @param options - Additional options for trimming + * @returns Number of entries removed from the stream + * @see https://redis.io/commands/xtrim/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, strategy: 'MAXLEN' | 'MINID', threshold: number | string, options?: XTrimOptions) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=XTRIM.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XTRIM.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/XTRIM.d.ts.map new file mode 100644 index 0000000..f04ed17 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XTRIM.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XTRIM.d.ts","sourceRoot":"","sources":["../../../lib/commands/XTRIM.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAW,aAAa,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,gBAAgB,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IAC7B,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mBAAmB;IACnB,MAAM,CAAC,EAAE,oBAAoB,CAAC;CAC/B;AAED;;GAEG;;;IAGD;;;;;;;;;;OAUG;gDAEO,aAAa,OAChB,aAAa,YACR,QAAQ,GAAG,OAAO,aACjB,MAAM,GAAG,MAAM,YAChB,YAAY;mCAoBsB,WAAW;;AAtC3D,wBAuC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XTRIM.js b/back/node_modules/@redis/client/dist/lib/commands/XTRIM.js new file mode 100644 index 0000000..897a735 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XTRIM.js @@ -0,0 +1,36 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Command for trimming a stream to a specified length or minimum ID + */ +exports.default = { + IS_READ_ONLY: false, + /** + * Constructs the XTRIM command to trim a stream by length or minimum ID + * + * @param parser - The command parser + * @param key - The stream key + * @param strategy - Trim by maximum length (MAXLEN) or minimum ID (MINID) + * @param threshold - Maximum length or minimum ID threshold + * @param options - Additional options for trimming + * @returns Number of entries removed from the stream + * @see https://redis.io/commands/xtrim/ + */ + parseCommand(parser, key, strategy, threshold, options) { + parser.push('XTRIM'); + parser.pushKey(key); + parser.push(strategy); + if (options?.strategyModifier) { + parser.push(options.strategyModifier); + } + parser.push(threshold.toString()); + if (options?.LIMIT) { + parser.push('LIMIT', options.LIMIT.toString()); + } + if (options?.policy) { + parser.push(options.policy); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=XTRIM.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/XTRIM.js.map b/back/node_modules/@redis/client/dist/lib/commands/XTRIM.js.map new file mode 100644 index 0000000..50ccc3e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/XTRIM.js.map @@ -0,0 +1 @@ +{"version":3,"file":"XTRIM.js","sourceRoot":"","sources":["../../../lib/commands/XTRIM.ts"],"names":[],"mappings":";;AAmBA;;GAEG;AACH,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;;;OAUG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,QAA4B,EAC5B,SAA0B,EAC1B,OAAsB;QAEtB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEtB,IAAI,OAAO,EAAE,gBAAgB,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAElC,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZADD.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZADD.d.ts new file mode 100644 index 0000000..5956487 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZADD.d.ts @@ -0,0 +1,56 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument } from '../RESP/types'; +import { SortedSetMember } from './generic-transformers'; +/** + * Options for the ZADD command + */ +export interface ZAddOptions { + condition?: 'NX' | 'XX'; + /** + * @deprecated Use `{ condition: 'NX' }` instead. + */ + NX?: boolean; + /** + * @deprecated Use `{ condition: 'XX' }` instead. + */ + XX?: boolean; + comparison?: 'LT' | 'GT'; + /** + * @deprecated Use `{ comparison: 'LT' }` instead. + */ + LT?: boolean; + /** + * @deprecated Use `{ comparison: 'GT' }` instead. + */ + GT?: boolean; + CH?: boolean; +} +/** + * Command for adding members to a sorted set + */ +declare const _default: { + /** + * Constructs the ZADD command to add one or more members to a sorted set + * + * @param parser - The command parser + * @param key - The sorted set key + * @param members - One or more members to add with their scores + * @param options - Additional options for adding members + * @returns Number of new members added (or changed members if CH is set) + * @see https://redis.io/commands/zadd/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, members: SortedSetMember | Array, options?: ZAddOptions) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").DoubleReply; + 3: () => import("../RESP/types").DoubleReply; + }; +}; +export default _default; +/** + * Helper function to push sorted set members to the command + * + * @param parser - The command parser + * @param members - One or more members with their scores + */ +export declare function pushMembers(parser: CommandParser, members: SortedSetMember | Array): void; +//# sourceMappingURL=ZADD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZADD.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZADD.d.ts.map new file mode 100644 index 0000000..1fb0088 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZADD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZADD.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZADD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAW,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,eAAe,EAAiD,MAAM,wBAAwB,CAAC;AAExG;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB;;OAEG;IACH,EAAE,CAAC,EAAE,OAAO,CAAC;IACb;;OAEG;IACH,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB;;OAEG;IACH,EAAE,CAAC,EAAE,OAAO,CAAC;IACb;;OAEG;IACH,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,EAAE,CAAC,EAAE,OAAO,CAAC;CACd;AAED;;GAEG;;IAED;;;;;;;;;OASG;gDAEO,aAAa,OAChB,aAAa,WACT,eAAe,GAAG,MAAM,eAAe,CAAC,YACvC,WAAW;;;;;;AAfzB,wBA2C6B;AAE7B;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC,QAQlD"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZADD.js b/back/node_modules/@redis/client/dist/lib/commands/ZADD.js new file mode 100644 index 0000000..976166c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZADD.js @@ -0,0 +1,73 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.pushMembers = void 0; +const generic_transformers_1 = require("./generic-transformers"); +/** + * Command for adding members to a sorted set + */ +exports.default = { + /** + * Constructs the ZADD command to add one or more members to a sorted set + * + * @param parser - The command parser + * @param key - The sorted set key + * @param members - One or more members to add with their scores + * @param options - Additional options for adding members + * @returns Number of new members added (or changed members if CH is set) + * @see https://redis.io/commands/zadd/ + */ + parseCommand(parser, key, members, options) { + parser.push('ZADD'); + parser.pushKey(key); + if (options?.condition) { + parser.push(options.condition); + } + else if (options?.NX) { + parser.push('NX'); + } + else if (options?.XX) { + parser.push('XX'); + } + if (options?.comparison) { + parser.push(options.comparison); + } + else if (options?.LT) { + parser.push('LT'); + } + else if (options?.GT) { + parser.push('GT'); + } + if (options?.CH) { + parser.push('CH'); + } + pushMembers(parser, members); + }, + transformReply: generic_transformers_1.transformDoubleReply +}; +/** + * Helper function to push sorted set members to the command + * + * @param parser - The command parser + * @param members - One or more members with their scores + */ +function pushMembers(parser, members) { + if (Array.isArray(members)) { + for (const member of members) { + pushMember(parser, member); + } + } + else { + pushMember(parser, members); + } +} +exports.pushMembers = pushMembers; +/** + * Helper function to push a single sorted set member to the command + * + * @param parser - The command parser + * @param member - Member with its score + */ +function pushMember(parser, member) { + parser.push((0, generic_transformers_1.transformDoubleArgument)(member.score), member.value); +} +//# sourceMappingURL=ZADD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZADD.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZADD.js.map new file mode 100644 index 0000000..2f518b5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZADD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZADD.js","sourceRoot":"","sources":["../../../lib/commands/ZADD.ts"],"names":[],"mappings":";;;AAEA,iEAAwG;AA2BxG;;GAEG;AACH,kBAAe;IACb;;;;;;;;;OASG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,OAAiD,EACjD,OAAqB;QAErB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,OAAO,EAAE,EAAE,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;aAAM,IAAI,OAAO,EAAE,EAAE,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,OAAO,EAAE,EAAE,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;aAAM,IAAI,OAAO,EAAE,EAAE,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,OAAO,EAAE,EAAE,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAED,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IACD,cAAc,EAAE,2CAAoB;CACV,CAAC;AAE7B;;;;;GAKG;AACH,SAAgB,WAAW,CACzB,MAAqB,EACrB,OAAiD;IACjD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAVD,kCAUC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CACjB,MAAqB,EACrB,MAAuB;IAEvB,MAAM,CAAC,IAAI,CACT,IAAA,8CAAuB,EAAC,MAAM,CAAC,KAAK,CAAC,EACrC,MAAM,CAAC,KAAK,CACb,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZADD_INCR.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZADD_INCR.d.ts new file mode 100644 index 0000000..07b66db --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZADD_INCR.d.ts @@ -0,0 +1,37 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument } from '../RESP/types'; +import { SortedSetMember } from './generic-transformers'; +/** + * Options for the ZADD INCR command + * + * @property condition - Add condition: NX (only if not exists) or XX (only if exists) + * @property comparison - Score comparison: LT (less than) or GT (greater than) + * @property CH - Return the number of changed elements instead of added elements + */ +export interface ZAddOptions { + condition?: 'NX' | 'XX'; + comparison?: 'LT' | 'GT'; + CH?: boolean; +} +/** + * Command for incrementing the score of a member in a sorted set + */ +declare const _default: { + /** + * Constructs the ZADD command with INCR option to increment the score of a member + * + * @param parser - The command parser + * @param key - The sorted set key + * @param members - Member(s) whose score to increment + * @param options - Additional options for the increment operation + * @returns The new score of the member after increment (null if member does not exist with XX option) + * @see https://redis.io/commands/zadd/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, members: SortedSetMember | Array, options?: ZAddOptions) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").DoubleReply | null; + 3: () => import("../RESP/types").NullReply | import("../RESP/types").DoubleReply; + }; +}; +export default _default; +//# sourceMappingURL=ZADD_INCR.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZADD_INCR.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZADD_INCR.d.ts.map new file mode 100644 index 0000000..b15a9ca --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZADD_INCR.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZADD_INCR.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZADD_INCR.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAW,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAgC,MAAM,wBAAwB,CAAC;AAEvF;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,EAAE,CAAC,EAAE,OAAO,CAAC;CACd;AAED;;GAEG;;IAED;;;;;;;;;OASG;gDAEO,aAAa,OAChB,aAAa,WACT,eAAe,GAAG,MAAM,eAAe,CAAC,YACvC,WAAW;;;;;;AAfzB,wBAqC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZADD_INCR.js b/back/node_modules/@redis/client/dist/lib/commands/ZADD_INCR.js new file mode 100644 index 0000000..3584def --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZADD_INCR.js @@ -0,0 +1,36 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const ZADD_1 = require("./ZADD"); +const generic_transformers_1 = require("./generic-transformers"); +/** + * Command for incrementing the score of a member in a sorted set + */ +exports.default = { + /** + * Constructs the ZADD command with INCR option to increment the score of a member + * + * @param parser - The command parser + * @param key - The sorted set key + * @param members - Member(s) whose score to increment + * @param options - Additional options for the increment operation + * @returns The new score of the member after increment (null if member does not exist with XX option) + * @see https://redis.io/commands/zadd/ + */ + parseCommand(parser, key, members, options) { + parser.push('ZADD'); + parser.pushKey(key); + if (options?.condition) { + parser.push(options.condition); + } + if (options?.comparison) { + parser.push(options.comparison); + } + if (options?.CH) { + parser.push('CH'); + } + parser.push('INCR'); + (0, ZADD_1.pushMembers)(parser, members); + }, + transformReply: generic_transformers_1.transformNullableDoubleReply +}; +//# sourceMappingURL=ZADD_INCR.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZADD_INCR.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZADD_INCR.js.map new file mode 100644 index 0000000..a47f792 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZADD_INCR.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZADD_INCR.js","sourceRoot":"","sources":["../../../lib/commands/ZADD_INCR.ts"],"names":[],"mappings":";;AAEA,iCAAqC;AACrC,iEAAuF;AAevF;;GAEG;AACH,kBAAe;IACb;;;;;;;;;OASG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,OAAiD,EACjD,OAAqB;QAErB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,OAAO,EAAE,EAAE,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEpB,IAAA,kBAAW,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IACD,cAAc,EAAE,mDAA4B;CAClB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZCARD.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZCARD.d.ts new file mode 100644 index 0000000..4edccc2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZCARD.d.ts @@ -0,0 +1,21 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +/** + * Command for getting the number of members in a sorted set + */ +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Constructs the ZCARD command to get the cardinality (number of members) of a sorted set + * + * @param parser - The command parser + * @param key - The sorted set key + * @returns Number of members in the sorted set + * @see https://redis.io/commands/zcard/ + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=ZCARD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZCARD.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZCARD.d.ts.map new file mode 100644 index 0000000..a538567 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZCARD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZCARD.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZCARD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AAEpE;;GAEG;;;;IAID;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa;mCAIR,WAAW;;AAf3D,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZCARD.js b/back/node_modules/@redis/client/dist/lib/commands/ZCARD.js new file mode 100644 index 0000000..b0d2e24 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZCARD.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Command for getting the number of members in a sorted set + */ +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Constructs the ZCARD command to get the cardinality (number of members) of a sorted set + * + * @param parser - The command parser + * @param key - The sorted set key + * @returns Number of members in the sorted set + * @see https://redis.io/commands/zcard/ + */ + parseCommand(parser, key) { + parser.push('ZCARD'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=ZCARD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZCARD.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZCARD.js.map new file mode 100644 index 0000000..2f41011 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZCARD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZCARD.js","sourceRoot":"","sources":["../../../lib/commands/ZCARD.ts"],"names":[],"mappings":";;AAGA;;GAEG;AACH,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZCOUNT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZCOUNT.d.ts new file mode 100644 index 0000000..e0c97e3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZCOUNT.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Returns the number of elements in the sorted set with a score between min and max. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param min - Minimum score to count from (inclusive). + * @param max - Maximum score to count to (inclusive). + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, min: number | RedisArgument, max: number | RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=ZCOUNT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZCOUNT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZCOUNT.d.ts.map new file mode 100644 index 0000000..dfea542 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZCOUNT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZCOUNT.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZCOUNT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;;IAMlE;;;;;;OAMG;gDAEO,aAAa,OAChB,aAAa,OACb,MAAM,GAAG,aAAa,OACtB,MAAM,GAAG,aAAa;mCASiB,WAAW;;AAvB3D,wBAwB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZCOUNT.js b/back/node_modules/@redis/client/dist/lib/commands/ZCOUNT.js new file mode 100644 index 0000000..9d5f90f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZCOUNT.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Returns the number of elements in the sorted set with a score between min and max. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param min - Minimum score to count from (inclusive). + * @param max - Maximum score to count to (inclusive). + */ + parseCommand(parser, key, min, max) { + parser.push('ZCOUNT'); + parser.pushKey(key); + parser.push((0, generic_transformers_1.transformStringDoubleArgument)(min), (0, generic_transformers_1.transformStringDoubleArgument)(max)); + }, + transformReply: undefined +}; +//# sourceMappingURL=ZCOUNT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZCOUNT.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZCOUNT.js.map new file mode 100644 index 0000000..cf1f36d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZCOUNT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZCOUNT.js","sourceRoot":"","sources":["../../../lib/commands/ZCOUNT.ts"],"names":[],"mappings":";;AAEA,iEAAuE;AAEvE,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,GAA2B,EAC3B,GAA2B;QAE3B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CACT,IAAA,oDAA6B,EAAC,GAAG,CAAC,EAClC,IAAA,oDAA6B,EAAC,GAAG,CAAC,CACnC,CAAC;IACJ,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZDIFF.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZDIFF.d.ts new file mode 100644 index 0000000..ff6d2c0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZDIFF.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { ArrayReply, BlobStringReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns the difference between the first sorted set and all the successive sorted sets. + * @param parser - The Redis command parser. + * @param keys - Keys of the sorted sets. + */ + readonly parseCommand: (this: void, parser: CommandParser, keys: RedisVariadicArgument) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=ZDIFF.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZDIFF.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZDIFF.d.ts.map new file mode 100644 index 0000000..d1e4afc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZDIFF.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZDIFF.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZDIFF.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;IAI7D;;;;OAIG;gDACkB,aAAa,QAAQ,qBAAqB;mCAIjB,WAAW,eAAe,CAAC;;AAX3E,wBAY6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZDIFF.js b/back/node_modules/@redis/client/dist/lib/commands/ZDIFF.js new file mode 100644 index 0000000..7a5c80b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZDIFF.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns the difference between the first sorted set and all the successive sorted sets. + * @param parser - The Redis command parser. + * @param keys - Keys of the sorted sets. + */ + parseCommand(parser, keys) { + parser.push('ZDIFF'); + parser.pushKeysLength(keys); + }, + transformReply: undefined +}; +//# sourceMappingURL=ZDIFF.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZDIFF.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZDIFF.js.map new file mode 100644 index 0000000..50cbcdf --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZDIFF.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZDIFF.js","sourceRoot":"","sources":["../../../lib/commands/ZDIFF.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,IAA2B;QAC7D,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZDIFFSTORE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZDIFFSTORE.d.ts new file mode 100644 index 0000000..c3dcdf3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZDIFFSTORE.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Computes the difference between the first and all successive sorted sets and stores it in a new key. + * @param parser - The Redis command parser. + * @param destination - Destination key where the result will be stored. + * @param inputKeys - Keys of the sorted sets to find the difference between. + */ + readonly parseCommand: (this: void, parser: CommandParser, destination: RedisArgument, inputKeys: RedisVariadicArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=ZDIFFSTORE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZDIFFSTORE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZDIFFSTORE.d.ts.map new file mode 100644 index 0000000..3290e1f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZDIFFSTORE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZDIFFSTORE.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZDIFFSTORE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;IAI7D;;;;;OAKG;gDACkB,aAAa,eAAe,aAAa,aAAa,qBAAqB;mCAKlD,WAAW;;AAb3D,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZDIFFSTORE.js b/back/node_modules/@redis/client/dist/lib/commands/ZDIFFSTORE.js new file mode 100644 index 0000000..31e1c1b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZDIFFSTORE.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Computes the difference between the first and all successive sorted sets and stores it in a new key. + * @param parser - The Redis command parser. + * @param destination - Destination key where the result will be stored. + * @param inputKeys - Keys of the sorted sets to find the difference between. + */ + parseCommand(parser, destination, inputKeys) { + parser.push('ZDIFFSTORE'); + parser.pushKey(destination); + parser.pushKeysLength(inputKeys); + }, + transformReply: undefined +}; +//# sourceMappingURL=ZDIFFSTORE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZDIFFSTORE.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZDIFFSTORE.js.map new file mode 100644 index 0000000..349fd30 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZDIFFSTORE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZDIFFSTORE.js","sourceRoot":"","sources":["../../../lib/commands/ZDIFFSTORE.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,WAA0B,EAAE,SAAgC;QAC9F,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5B,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZDIFF_WITHSCORES.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZDIFF_WITHSCORES.d.ts new file mode 100644 index 0000000..f430c15 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZDIFF_WITHSCORES.d.ts @@ -0,0 +1,23 @@ +import { CommandParser } from '../client/parser'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns the difference between the first sorted set and all successive sorted sets with their scores. + * @param parser - The Redis command parser. + * @param keys - Keys of the sorted sets. + */ + readonly parseCommand: (this: void, parser: CommandParser, keys: RedisVariadicArgument) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; +}; +export default _default; +//# sourceMappingURL=ZDIFF_WITHSCORES.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZDIFF_WITHSCORES.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZDIFF_WITHSCORES.d.ts.map new file mode 100644 index 0000000..c11684e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZDIFF_WITHSCORES.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZDIFF_WITHSCORES.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZDIFF_WITHSCORES.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,qBAAqB,EAA2B,MAAM,wBAAwB,CAAC;;;IAMtF;;;;OAIG;gDACkB,aAAa,QAAQ,qBAAqB;;;;;;;;;;;;AAPjE,wBAY6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZDIFF_WITHSCORES.js b/back/node_modules/@redis/client/dist/lib/commands/ZDIFF_WITHSCORES.js new file mode 100644 index 0000000..97fa4a8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZDIFF_WITHSCORES.js @@ -0,0 +1,21 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +const ZDIFF_1 = __importDefault(require("./ZDIFF")); +exports.default = { + IS_READ_ONLY: ZDIFF_1.default.IS_READ_ONLY, + /** + * Returns the difference between the first sorted set and all successive sorted sets with their scores. + * @param parser - The Redis command parser. + * @param keys - Keys of the sorted sets. + */ + parseCommand(parser, keys) { + ZDIFF_1.default.parseCommand(parser, keys); + parser.push('WITHSCORES'); + }, + transformReply: generic_transformers_1.transformSortedSetReply +}; +//# sourceMappingURL=ZDIFF_WITHSCORES.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZDIFF_WITHSCORES.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZDIFF_WITHSCORES.js.map new file mode 100644 index 0000000..338cb76 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZDIFF_WITHSCORES.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZDIFF_WITHSCORES.js","sourceRoot":"","sources":["../../../lib/commands/ZDIFF_WITHSCORES.ts"],"names":[],"mappings":";;;;;AAEA,iEAAwF;AACxF,oDAA4B;AAG5B,kBAAe;IACb,YAAY,EAAE,eAAK,CAAC,YAAY;IAChC;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,IAA2B;QAC7D,eAAK,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IACD,cAAc,EAAE,8CAAuB;CACb,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZINCRBY.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZINCRBY.d.ts new file mode 100644 index 0000000..cde5c63 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZINCRBY.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument } from '../RESP/types'; +declare const _default: { + /** + * Increments the score of a member in a sorted set by the specified increment. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param increment - Value to increment the score by. + * @param member - Member whose score should be incremented. + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, increment: number, member: RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").DoubleReply; + 3: () => import("../RESP/types").DoubleReply; + }; +}; +export default _default; +//# sourceMappingURL=ZINCRBY.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZINCRBY.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZINCRBY.d.ts.map new file mode 100644 index 0000000..44b22c4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZINCRBY.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZINCRBY.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZINCRBY.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAW,MAAM,eAAe,CAAC;;IAIrD;;;;;;OAMG;gDAEO,aAAa,OAChB,aAAa,aACP,MAAM,UACT,aAAa;;;;;;AAZzB,wBAmB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZINCRBY.js b/back/node_modules/@redis/client/dist/lib/commands/ZINCRBY.js new file mode 100644 index 0000000..b1002b8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZINCRBY.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + /** + * Increments the score of a member in a sorted set by the specified increment. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param increment - Value to increment the score by. + * @param member - Member whose score should be incremented. + */ + parseCommand(parser, key, increment, member) { + parser.push('ZINCRBY'); + parser.pushKey(key); + parser.push((0, generic_transformers_1.transformDoubleArgument)(increment), member); + }, + transformReply: generic_transformers_1.transformDoubleReply +}; +//# sourceMappingURL=ZINCRBY.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZINCRBY.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZINCRBY.js.map new file mode 100644 index 0000000..03ff15e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZINCRBY.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZINCRBY.js","sourceRoot":"","sources":["../../../lib/commands/ZINCRBY.ts"],"names":[],"mappings":";;AAEA,iEAAuF;AAEvF,kBAAe;IACb;;;;;;OAMG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,SAAiB,EACjB,MAAqB;QAErB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAA,8CAAuB,EAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IACD,cAAc,EAAE,2CAAoB;CACV,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZINTER.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZINTER.d.ts new file mode 100644 index 0000000..9a06b47 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZINTER.d.ts @@ -0,0 +1,26 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '../RESP/types'; +import { ZKeys } from './generic-transformers'; +export type ZInterKeyAndWeight = { + key: RedisArgument; + weight: number; +}; +export type ZInterKeys = T | [T, ...Array]; +export type ZInterKeysType = ZInterKeys | ZInterKeys; +export interface ZInterOptions { + AGGREGATE?: 'SUM' | 'MIN' | 'MAX'; +} +export declare function parseZInterArguments(parser: CommandParser, keys: ZKeys, options?: ZInterOptions): void; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Intersects multiple sorted sets and returns the result as a new sorted set. + * @param parser - The Redis command parser. + * @param keys - Keys of the sorted sets to intersect. + * @param options - Optional parameters for the intersection operation. + */ + readonly parseCommand: (this: void, parser: CommandParser, keys: ZInterKeysType, options?: ZInterOptions) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=ZINTER.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZINTER.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZINTER.d.ts.map new file mode 100644 index 0000000..20eaf1a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZINTER.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZINTER.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZINTER.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,KAAK,EAAuB,MAAM,wBAAwB,CAAC;AAEpE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,EAAE,aAAa,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAEjD,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;AAExF,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;CACnC;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,KAAK,EACX,OAAO,CAAC,EAAE,aAAa,QAOxB;;;IAIC;;;;;OAKG;gDACkB,aAAa,QAAQ,cAAc,YAAY,aAAa;mCAInC,WAAW,eAAe,CAAC;;AAZ3E,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZINTER.js b/back/node_modules/@redis/client/dist/lib/commands/ZINTER.js new file mode 100644 index 0000000..bd53881 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZINTER.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseZInterArguments = void 0; +const generic_transformers_1 = require("./generic-transformers"); +function parseZInterArguments(parser, keys, options) { + (0, generic_transformers_1.parseZKeysArguments)(parser, keys); + if (options?.AGGREGATE) { + parser.push('AGGREGATE', options.AGGREGATE); + } +} +exports.parseZInterArguments = parseZInterArguments; +exports.default = { + IS_READ_ONLY: true, + /** + * Intersects multiple sorted sets and returns the result as a new sorted set. + * @param parser - The Redis command parser. + * @param keys - Keys of the sorted sets to intersect. + * @param options - Optional parameters for the intersection operation. + */ + parseCommand(parser, keys, options) { + parser.push('ZINTER'); + parseZInterArguments(parser, keys, options); + }, + transformReply: undefined +}; +//# sourceMappingURL=ZINTER.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZINTER.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZINTER.js.map new file mode 100644 index 0000000..d558bce --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZINTER.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZINTER.js","sourceRoot":"","sources":["../../../lib/commands/ZINTER.ts"],"names":[],"mappings":";;;AAEA,iEAAoE;AAepE,SAAgB,oBAAoB,CAClC,MAAqB,EACrB,IAAW,EACX,OAAuB;IAEvB,IAAA,0CAAmB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAElC,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAVD,oDAUC;AAED,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,IAAoB,EAAE,OAAuB;QAC/E,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZINTERCARD.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZINTERCARD.d.ts new file mode 100644 index 0000000..25b876b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZINTERCARD.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +export interface ZInterCardOptions { + LIMIT?: number; +} +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns the cardinality of the intersection of multiple sorted sets. + * @param parser - The Redis command parser. + * @param keys - Keys of the sorted sets to intersect. + * @param options - Limit option or options object with limit. + */ + readonly parseCommand: (this: void, parser: CommandParser, keys: RedisVariadicArgument, options?: ZInterCardOptions['LIMIT'] | ZInterCardOptions) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=ZINTERCARD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZINTERCARD.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZINTERCARD.d.ts.map new file mode 100644 index 0000000..2af9a53 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZINTERCARD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZINTERCARD.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZINTERCARD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;;;IAIC;;;;;OAKG;gDAEO,aAAa,QACf,qBAAqB,YACjB,iBAAiB,CAAC,OAAO,CAAC,GAAG,iBAAiB;mCAYZ,WAAW;;AAvB3D,wBAwB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZINTERCARD.js b/back/node_modules/@redis/client/dist/lib/commands/ZINTERCARD.js new file mode 100644 index 0000000..b30c09e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZINTERCARD.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns the cardinality of the intersection of multiple sorted sets. + * @param parser - The Redis command parser. + * @param keys - Keys of the sorted sets to intersect. + * @param options - Limit option or options object with limit. + */ + parseCommand(parser, keys, options) { + parser.push('ZINTERCARD'); + parser.pushKeysLength(keys); + // backwards compatibility + if (typeof options === 'number') { + parser.push('LIMIT', options.toString()); + } + else if (options?.LIMIT) { + parser.push('LIMIT', options.LIMIT.toString()); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=ZINTERCARD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZINTERCARD.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZINTERCARD.js.map new file mode 100644 index 0000000..553ab74 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZINTERCARD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZINTERCARD.js","sourceRoot":"","sources":["../../../lib/commands/ZINTERCARD.ts"],"names":[],"mappings":";;AAQA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CACV,MAAqB,EACrB,IAA2B,EAC3B,OAAwD;QAExD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAE5B,0BAA0B;QAC1B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZINTERSTORE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZINTERSTORE.d.ts new file mode 100644 index 0000000..b7a7778 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZINTERSTORE.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +import { ZKeys } from './generic-transformers'; +import { ZInterOptions } from './ZINTER'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Stores the result of intersection of multiple sorted sets in a new sorted set. + * @param parser - The Redis command parser. + * @param destination - Destination key where the result will be stored. + * @param keys - Keys of the sorted sets to intersect. + * @param options - Optional parameters for the intersection operation. + */ + readonly parseCommand: (this: void, parser: CommandParser, destination: RedisArgument, keys: ZKeys, options?: ZInterOptions) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=ZINTERSTORE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZINTERSTORE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZINTERSTORE.d.ts.map new file mode 100644 index 0000000..892aa41 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZINTERSTORE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZINTERSTORE.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZINTERSTORE.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAwB,aAAa,EAAE,MAAM,UAAU,CAAC;;;IAI7D;;;;;;OAMG;gDAEO,aAAa,eACR,aAAa,QACpB,KAAK,YACD,aAAa;mCAMqB,WAAW;;AAnB3D,wBAoB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZINTERSTORE.js b/back/node_modules/@redis/client/dist/lib/commands/ZINTERSTORE.js new file mode 100644 index 0000000..f76a840 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZINTERSTORE.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const ZINTER_1 = require("./ZINTER"); +exports.default = { + IS_READ_ONLY: false, + /** + * Stores the result of intersection of multiple sorted sets in a new sorted set. + * @param parser - The Redis command parser. + * @param destination - Destination key where the result will be stored. + * @param keys - Keys of the sorted sets to intersect. + * @param options - Optional parameters for the intersection operation. + */ + parseCommand(parser, destination, keys, options) { + parser.push('ZINTERSTORE'); + parser.pushKey(destination); + (0, ZINTER_1.parseZInterArguments)(parser, keys, options); + }, + transformReply: undefined +}; +//# sourceMappingURL=ZINTERSTORE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZINTERSTORE.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZINTERSTORE.js.map new file mode 100644 index 0000000..6e84fec --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZINTERSTORE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZINTERSTORE.js","sourceRoot":"","sources":["../../../lib/commands/ZINTERSTORE.ts"],"names":[],"mappings":";;AAIA,qCAA+D;AAE/D,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;OAMG;IACH,YAAY,CACV,MAAqB,EACrB,WAA0B,EAC1B,IAAW,EACX,OAAuB;QAEvB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAA,6BAAoB,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZINTER_WITHSCORES.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZINTER_WITHSCORES.d.ts new file mode 100644 index 0000000..9db616e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZINTER_WITHSCORES.d.ts @@ -0,0 +1,20 @@ +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Intersects multiple sorted sets and returns the result with scores. + * @param args - Same parameters as ZINTER command. + */ + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./ZINTER").ZInterKeysType, options?: import("./ZINTER").ZInterOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; +}; +export default _default; +//# sourceMappingURL=ZINTER_WITHSCORES.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZINTER_WITHSCORES.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZINTER_WITHSCORES.d.ts.map new file mode 100644 index 0000000..9cd888d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZINTER_WITHSCORES.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZINTER_WITHSCORES.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZINTER_WITHSCORES.ts"],"names":[],"mappings":";;IAOE;;;OAGG;;;;;;;;;;;;;AALL,wBAW6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZINTER_WITHSCORES.js b/back/node_modules/@redis/client/dist/lib/commands/ZINTER_WITHSCORES.js new file mode 100644 index 0000000..bd40f86 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZINTER_WITHSCORES.js @@ -0,0 +1,20 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +const ZINTER_1 = __importDefault(require("./ZINTER")); +exports.default = { + IS_READ_ONLY: ZINTER_1.default.IS_READ_ONLY, + /** + * Intersects multiple sorted sets and returns the result with scores. + * @param args - Same parameters as ZINTER command. + */ + parseCommand(...args) { + ZINTER_1.default.parseCommand(...args); + args[0].push('WITHSCORES'); + }, + transformReply: generic_transformers_1.transformSortedSetReply +}; +//# sourceMappingURL=ZINTER_WITHSCORES.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZINTER_WITHSCORES.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZINTER_WITHSCORES.js.map new file mode 100644 index 0000000..77a42a7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZINTER_WITHSCORES.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZINTER_WITHSCORES.js","sourceRoot":"","sources":["../../../lib/commands/ZINTER_WITHSCORES.ts"],"names":[],"mappings":";;;;;AACA,iEAAiE;AACjE,sDAA8B;AAG9B,kBAAe;IACb,YAAY,EAAE,gBAAM,CAAC,YAAY;IACjC;;;OAGG;IACH,YAAY,CAAC,GAAG,IAA4C;QAC1D,gBAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC;IACD,cAAc,EAAE,8CAAuB;CACb,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZLEXCOUNT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZLEXCOUNT.d.ts new file mode 100644 index 0000000..5c6b385 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZLEXCOUNT.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Returns the number of elements in the sorted set between the lexicographical range specified by min and max. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param min - Minimum lexicographical value (inclusive). + * @param max - Maximum lexicographical value (inclusive). + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, min: RedisArgument, max: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=ZLEXCOUNT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZLEXCOUNT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZLEXCOUNT.d.ts.map new file mode 100644 index 0000000..aad0abc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZLEXCOUNT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZLEXCOUNT.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZLEXCOUNT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;;IAKlE;;;;;;OAMG;gDAEO,aAAa,OAChB,aAAa,OACb,aAAa,OACb,aAAa;mCAO0B,WAAW;;AArB3D,wBAsB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZLEXCOUNT.js b/back/node_modules/@redis/client/dist/lib/commands/ZLEXCOUNT.js new file mode 100644 index 0000000..43981f5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZLEXCOUNT.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Returns the number of elements in the sorted set between the lexicographical range specified by min and max. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param min - Minimum lexicographical value (inclusive). + * @param max - Maximum lexicographical value (inclusive). + */ + parseCommand(parser, key, min, max) { + parser.push('ZLEXCOUNT'); + parser.pushKey(key); + parser.push(min); + parser.push(max); + }, + transformReply: undefined +}; +//# sourceMappingURL=ZLEXCOUNT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZLEXCOUNT.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZLEXCOUNT.js.map new file mode 100644 index 0000000..1a244dd --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZLEXCOUNT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZLEXCOUNT.js","sourceRoot":"","sources":["../../../lib/commands/ZLEXCOUNT.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,GAAkB,EAClB,GAAkB;QAElB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZMPOP.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZMPOP.d.ts new file mode 100644 index 0000000..b5c490b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZMPOP.d.ts @@ -0,0 +1,44 @@ +import { CommandParser } from '../client/parser'; +import { NullReply, TuplesReply, BlobStringReply, DoubleReply, ArrayReply, UnwrapReply, Resp2Reply, TypeMapping } from '../RESP/types'; +import { RedisVariadicArgument, SortedSetSide, Tail } from './generic-transformers'; +export interface ZMPopOptions { + COUNT?: number; +} +export type ZMPopRawReply = NullReply | TuplesReply<[ + key: BlobStringReply, + members: ArrayReply> +]>; +export declare function parseZMPopArguments(parser: CommandParser, keys: RedisVariadicArgument, side: SortedSetSide, options?: ZMPopOptions): void; +export type ZMPopArguments = Tail>; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Removes and returns up to count members with the highest/lowest scores from the first non-empty sorted set. + * @param parser - The Redis command parser. + * @param keys - Keys of the sorted sets to pop from. + * @param side - Side to pop from (MIN or MAX). + * @param options - Optional parameters including COUNT. + */ + readonly parseCommand: (this: void, parser: CommandParser, keys: RedisVariadicArgument, side: SortedSetSide, options?: ZMPopOptions) => void; + readonly transformReply: { + readonly 2: (this: void, reply: UnwrapReply>, preserve?: any, typeMapping?: TypeMapping) => { + key: BlobStringReply; + members: { + value: BlobStringReply; + score: DoubleReply; + }[]; + } | null; + readonly 3: (this: void, reply: UnwrapReply) => { + key: BlobStringReply; + members: { + value: BlobStringReply; + score: DoubleReply; + }[]; + } | null; + }; +}; +export default _default; +//# sourceMappingURL=ZMPOP.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZMPOP.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZMPOP.d.ts.map new file mode 100644 index 0000000..38314bf --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZMPOP.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZMPOP.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZMPOP.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAW,WAAW,EAAE,MAAM,eAAe,CAAC;AAChJ,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAiD,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAEnI,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,CAAC;IAClD,GAAG,EAAE,eAAe;IACpB,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC;QAC9B,KAAK,EAAE,eAAe;QACtB,KAAK,EAAE,WAAW;KACnB,CAAC,CAAC;CACJ,CAAC,CAAC;AAEH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,qBAAqB,EAC3B,IAAI,EAAE,aAAa,EACnB,OAAO,CAAC,EAAE,YAAY,QASvB;AAED,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC;;;IAIxE;;;;;;OAMG;gDAEO,aAAa,QACf,qBAAqB,QACrB,aAAa,YACT,YAAY;;wCAMb,YAAY,WAAW,aAAa,CAAC,CAAC,aAAa,GAAG,gBAAgB,WAAW;;;;;;;wCAYjF,YAAY,aAAa,CAAC;;;;;;;;;AA/BvC,wBAsC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZMPOP.js b/back/node_modules/@redis/client/dist/lib/commands/ZMPOP.js new file mode 100644 index 0000000..65c54fc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZMPOP.js @@ -0,0 +1,47 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseZMPopArguments = void 0; +const generic_transformers_1 = require("./generic-transformers"); +function parseZMPopArguments(parser, keys, side, options) { + parser.pushKeysLength(keys); + parser.push(side); + if (options?.COUNT) { + parser.push('COUNT', options.COUNT.toString()); + } +} +exports.parseZMPopArguments = parseZMPopArguments; +exports.default = { + IS_READ_ONLY: false, + /** + * Removes and returns up to count members with the highest/lowest scores from the first non-empty sorted set. + * @param parser - The Redis command parser. + * @param keys - Keys of the sorted sets to pop from. + * @param side - Side to pop from (MIN or MAX). + * @param options - Optional parameters including COUNT. + */ + parseCommand(parser, keys, side, options) { + parser.push('ZMPOP'); + parseZMPopArguments(parser, keys, side, options); + }, + transformReply: { + 2(reply, preserve, typeMapping) { + return reply === null ? null : { + key: reply[0], + members: reply[1].map(member => { + const [value, score] = member; + return { + value, + score: generic_transformers_1.transformDoubleReply[2](score, preserve, typeMapping) + }; + }) + }; + }, + 3(reply) { + return reply === null ? null : { + key: reply[0], + members: generic_transformers_1.transformSortedSetReply[3](reply[1]) + }; + } + } +}; +//# sourceMappingURL=ZMPOP.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZMPOP.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZMPOP.js.map new file mode 100644 index 0000000..72e3a6f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZMPOP.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZMPOP.js","sourceRoot":"","sources":["../../../lib/commands/ZMPOP.ts"],"names":[],"mappings":";;;AAEA,iEAAmI;AAcnI,SAAgB,mBAAmB,CACjC,MAAqB,EACrB,IAA2B,EAC3B,IAAmB,EACnB,OAAsB;IAEtB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAElB,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAbD,kDAaC;AAID,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;OAMG;IACH,YAAY,CACV,MAAqB,EACrB,IAA2B,EAC3B,IAAmB,EACnB,OAAsB;QAEtB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IAClD,CAAC;IACD,cAAc,EAAE;QACd,CAAC,CAAC,KAA6C,EAAE,QAAc,EAAE,WAAyB;YACxF,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7B,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;gBACb,OAAO,EAAG,KAAK,CAAC,CAAC,CAA6C,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;oBAC1E,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAA+C,CAAC;oBACvE,OAAO;wBACL,KAAK;wBACL,KAAK,EAAE,2CAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC;qBAC7D,CAAC;gBACJ,CAAC,CAAC;aACH,CAAC;QACJ,CAAC;QACD,CAAC,CAAC,KAAiC;YACjC,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7B,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;gBACb,OAAO,EAAE,8CAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAC9C,CAAC;QACJ,CAAC;KACF;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZMSCORE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZMSCORE.d.ts new file mode 100644 index 0000000..9dec3b3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZMSCORE.d.ts @@ -0,0 +1,20 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, NullReply, BlobStringReply, DoubleReply, UnwrapReply, TypeMapping } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Returns the scores associated with the specified members in the sorted set stored at key. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param member - One or more members to get scores for. + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, member: RedisVariadicArgument) => void; + readonly transformReply: { + readonly 2: (reply: UnwrapReply>, preserve?: any, typeMapping?: TypeMapping) => (DoubleReply | null)[]; + readonly 3: () => ArrayReply; + }; +}; +export default _default; +//# sourceMappingURL=ZMSCORE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZMSCORE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZMSCORE.d.ts.map new file mode 100644 index 0000000..698d112 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZMSCORE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZMSCORE.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZMSCORE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAW,WAAW,EAAE,MAAM,eAAe,CAAC;AACtI,OAAO,EAA+C,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;;IAK1G;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,UAAU,qBAAqB;;4BAMxE,YAAY,WAAW,SAAS,GAAG,eAAe,CAAC,CAAC,aAAa,GAAG,gBAAgB,WAAW;0BAGzE,WAAW,SAAS,GAAG,WAAW,CAAC;;;AAlBxE,wBAoB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZMSCORE.js b/back/node_modules/@redis/client/dist/lib/commands/ZMSCORE.js new file mode 100644 index 0000000..d56f774 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZMSCORE.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Returns the scores associated with the specified members in the sorted set stored at key. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param member - One or more members to get scores for. + */ + parseCommand(parser, key, member) { + parser.push('ZMSCORE'); + parser.pushKey(key); + parser.pushVariadic(member); + }, + transformReply: { + 2: (reply, preserve, typeMapping) => { + return reply.map((0, generic_transformers_1.createTransformNullableDoubleReplyResp2Func)(preserve, typeMapping)); + }, + 3: undefined + } +}; +//# sourceMappingURL=ZMSCORE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZMSCORE.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZMSCORE.js.map new file mode 100644 index 0000000..4c0503d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZMSCORE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZMSCORE.js","sourceRoot":"","sources":["../../../lib/commands/ZMSCORE.ts"],"names":[],"mappings":";;AAEA,iEAA4G;AAE5G,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,MAA6B;QACnF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAA2D,EAAE,QAAc,EAAE,WAAyB,EAAE,EAAE;YAC5G,OAAO,KAAK,CAAC,GAAG,CAAC,IAAA,kEAA2C,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;QACvF,CAAC;QACD,CAAC,EAAE,SAAiE;KACrE;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX.d.ts new file mode 100644 index 0000000..4ca79bb --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX.d.ts @@ -0,0 +1,23 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, TuplesReply, BlobStringReply, DoubleReply, UnwrapReply, TypeMapping } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Removes and returns the member with the highest score in the sorted set. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: UnwrapReply>, preserve?: any, typeMapping?: TypeMapping) => { + value: BlobStringReply; + score: DoubleReply; + } | null; + readonly 3: (reply: UnwrapReply>) => { + value: BlobStringReply; + score: DoubleReply; + } | null; + }; +}; +export default _default; +//# sourceMappingURL=ZPOPMAX.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX.d.ts.map new file mode 100644 index 0000000..abc61f1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZPOPMAX.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZPOPMAX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAW,WAAW,EAAE,MAAM,eAAe,CAAC;;;IAK1H;;;;OAIG;gDACkB,aAAa,OAAO,aAAa;;4BAKzC,YAAY,YAAY,EAAE,GAAG,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,aAAa,GAAG,gBAAgB,WAAW;;;;4BAQ5G,YAAY,YAAY,EAAE,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC;;;;;;AApB5E,wBA6B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX.js b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX.js new file mode 100644 index 0000000..6c8263a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX.js @@ -0,0 +1,34 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Removes and returns the member with the highest score in the sorted set. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + */ + parseCommand(parser, key) { + parser.push('ZPOPMAX'); + parser.pushKey(key); + }, + transformReply: { + 2: (reply, preserve, typeMapping) => { + if (reply.length === 0) + return null; + return { + value: reply[0], + score: generic_transformers_1.transformDoubleReply[2](reply[1], preserve, typeMapping), + }; + }, + 3: (reply) => { + if (reply.length === 0) + return null; + return { + value: reply[0], + score: reply[1] + }; + } + } +}; +//# sourceMappingURL=ZPOPMAX.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX.js.map new file mode 100644 index 0000000..e282abd --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZPOPMAX.js","sourceRoot":"","sources":["../../../lib/commands/ZPOPMAX.ts"],"names":[],"mappings":";;AAEA,iEAA8D;AAE9D,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAAwE,EAAE,QAAc,EAAE,WAAyB,EAAE,EAAE;YACzH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAEpC,OAAO;gBACL,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;gBACf,KAAK,EAAE,2CAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC;aAChE,CAAC;QACJ,CAAC;QACD,CAAC,EAAE,CAAC,KAAoE,EAAE,EAAE;YAC1E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAEpC,OAAO;gBACL,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;gBACf,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;aAChB,CAAC;QACJ,CAAC;KACF;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX_COUNT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX_COUNT.d.ts new file mode 100644 index 0000000..5833a49 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX_COUNT.d.ts @@ -0,0 +1,24 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Removes and returns up to count members with the highest scores in the sorted set. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param count - Number of members to pop. + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, count: number) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; +}; +export default _default; +//# sourceMappingURL=ZPOPMAX_COUNT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX_COUNT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX_COUNT.d.ts.map new file mode 100644 index 0000000..887e8d9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX_COUNT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZPOPMAX_COUNT.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZPOPMAX_COUNT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAW,MAAM,eAAe,CAAC;;;IAKrD;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,SAAS,MAAM;;;;;;;;;;;;AARvE,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX_COUNT.js b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX_COUNT.js new file mode 100644 index 0000000..616c3bf --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX_COUNT.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Removes and returns up to count members with the highest scores in the sorted set. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param count - Number of members to pop. + */ + parseCommand(parser, key, count) { + parser.push('ZPOPMAX'); + parser.pushKey(key); + parser.push(count.toString()); + }, + transformReply: generic_transformers_1.transformSortedSetReply +}; +//# sourceMappingURL=ZPOPMAX_COUNT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX_COUNT.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX_COUNT.js.map new file mode 100644 index 0000000..95c04b8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMAX_COUNT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZPOPMAX_COUNT.js","sourceRoot":"","sources":["../../../lib/commands/ZPOPMAX_COUNT.ts"],"names":[],"mappings":";;AAEA,iEAAiE;AAEjE,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAa;QACnE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,cAAc,EAAE,8CAAuB;CACb,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN.d.ts new file mode 100644 index 0000000..4f1ef79 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN.d.ts @@ -0,0 +1,23 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Removes and returns the member with the lowest score in the sorted set. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply]>>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + readonly 3: (reply: import("../RESP/types").UnwrapReply, import("../RESP/types").DoubleReply] | []>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + }; +}; +export default _default; +//# sourceMappingURL=ZPOPMIN.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN.d.ts.map new file mode 100644 index 0000000..5a7ad35 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZPOPMIN.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZPOPMIN.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAW,MAAM,eAAe,CAAC;;;IAKrD;;;;OAIG;gDACkB,aAAa,OAAO,aAAa;;;;;;;;;;;;AAPxD,wBAY6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN.js b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN.js new file mode 100644 index 0000000..6e66056 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN.js @@ -0,0 +1,20 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const ZPOPMAX_1 = __importDefault(require("./ZPOPMAX")); +exports.default = { + IS_READ_ONLY: false, + /** + * Removes and returns the member with the lowest score in the sorted set. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + */ + parseCommand(parser, key) { + parser.push('ZPOPMIN'); + parser.pushKey(key); + }, + transformReply: ZPOPMAX_1.default.transformReply +}; +//# sourceMappingURL=ZPOPMIN.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN.js.map new file mode 100644 index 0000000..131c78a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZPOPMIN.js","sourceRoot":"","sources":["../../../lib/commands/ZPOPMIN.ts"],"names":[],"mappings":";;;;;AAEA,wDAAgC;AAEhC,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,iBAAO,CAAC,cAAc;CACZ,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN_COUNT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN_COUNT.d.ts new file mode 100644 index 0000000..9d7ccfb --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN_COUNT.d.ts @@ -0,0 +1,24 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Removes and returns up to count members with the lowest scores in the sorted set. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param count - Number of members to pop. + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, count: number) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; +}; +export default _default; +//# sourceMappingURL=ZPOPMIN_COUNT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN_COUNT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN_COUNT.d.ts.map new file mode 100644 index 0000000..1f08ddc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN_COUNT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZPOPMIN_COUNT.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZPOPMIN_COUNT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAW,MAAM,eAAe,CAAC;;;IAKrD;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,SAAS,MAAM;;;;;;;;;;;;AARvE,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN_COUNT.js b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN_COUNT.js new file mode 100644 index 0000000..a33a228 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN_COUNT.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Removes and returns up to count members with the lowest scores in the sorted set. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param count - Number of members to pop. + */ + parseCommand(parser, key, count) { + parser.push('ZPOPMIN'); + parser.pushKey(key); + parser.push(count.toString()); + }, + transformReply: generic_transformers_1.transformSortedSetReply +}; +//# sourceMappingURL=ZPOPMIN_COUNT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN_COUNT.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN_COUNT.js.map new file mode 100644 index 0000000..f68b5a4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZPOPMIN_COUNT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZPOPMIN_COUNT.js","sourceRoot":"","sources":["../../../lib/commands/ZPOPMIN_COUNT.ts"],"names":[],"mappings":";;AAEA,iEAAiE;AAEjE,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAa;QACnE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,cAAc,EAAE,8CAAuB;CACb,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER.d.ts new file mode 100644 index 0000000..a3eaa58 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, BlobStringReply, NullReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns a random member from a sorted set. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => BlobStringReply | NullReply; +}; +export default _default; +//# sourceMappingURL=ZRANDMEMBER.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER.d.ts.map new file mode 100644 index 0000000..05c718c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZRANDMEMBER.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZRANDMEMBER.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;;;IAIjF;;;;OAIG;gDACkB,aAAa,OAAO,aAAa;mCAIR,eAAe,GAAG,SAAS;;AAX3E,wBAY6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER.js b/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER.js new file mode 100644 index 0000000..e474004 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns a random member from a sorted set. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + */ + parseCommand(parser, key) { + parser.push('ZRANDMEMBER'); + parser.pushKey(key); + }, + transformReply: undefined +}; +//# sourceMappingURL=ZRANDMEMBER.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER.js.map new file mode 100644 index 0000000..3dbf264 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZRANDMEMBER.js","sourceRoot":"","sources":["../../../lib/commands/ZRANDMEMBER.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT.d.ts new file mode 100644 index 0000000..93f0468 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns one or more random members from a sorted set. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param count - Number of members to return. + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, count: number) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=ZRANDMEMBER_COUNT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT.d.ts.map new file mode 100644 index 0000000..17611ae --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZRANDMEMBER_COUNT.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZRANDMEMBER_COUNT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;;;IAKlF;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,SAAS,MAAM;mCAIvB,WAAW,eAAe,CAAC;;AAZ3E,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT.js b/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT.js new file mode 100644 index 0000000..62d001b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT.js @@ -0,0 +1,21 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const ZRANDMEMBER_1 = __importDefault(require("./ZRANDMEMBER")); +exports.default = { + IS_READ_ONLY: ZRANDMEMBER_1.default.IS_READ_ONLY, + /** + * Returns one or more random members from a sorted set. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param count - Number of members to return. + */ + parseCommand(parser, key, count) { + ZRANDMEMBER_1.default.parseCommand(parser, key); + parser.push(count.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=ZRANDMEMBER_COUNT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT.js.map new file mode 100644 index 0000000..0c9cd46 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZRANDMEMBER_COUNT.js","sourceRoot":"","sources":["../../../lib/commands/ZRANDMEMBER_COUNT.ts"],"names":[],"mappings":";;;;;AAEA,gEAAwC;AAExC,kBAAe;IACb,YAAY,EAAE,qBAAW,CAAC,YAAY;IACtC;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAa;QACnE,qBAAW,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT_WITHSCORES.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT_WITHSCORES.d.ts new file mode 100644 index 0000000..8b2ecf3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT_WITHSCORES.d.ts @@ -0,0 +1,24 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns one or more random members with their scores from a sorted set. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param count - Number of members to return. + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, count: number) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; +}; +export default _default; +//# sourceMappingURL=ZRANDMEMBER_COUNT_WITHSCORES.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT_WITHSCORES.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT_WITHSCORES.d.ts.map new file mode 100644 index 0000000..797f21c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT_WITHSCORES.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZRANDMEMBER_COUNT_WITHSCORES.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZRANDMEMBER_COUNT_WITHSCORES.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAW,aAAa,EAAE,MAAM,eAAe,CAAC;;;IAMrD;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,SAAS,MAAM;;;;;;;;;;;;AARvE,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT_WITHSCORES.js b/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT_WITHSCORES.js new file mode 100644 index 0000000..d9dc835 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT_WITHSCORES.js @@ -0,0 +1,22 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +const ZRANDMEMBER_COUNT_1 = __importDefault(require("./ZRANDMEMBER_COUNT")); +exports.default = { + IS_READ_ONLY: ZRANDMEMBER_COUNT_1.default.IS_READ_ONLY, + /** + * Returns one or more random members with their scores from a sorted set. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param count - Number of members to return. + */ + parseCommand(parser, key, count) { + ZRANDMEMBER_COUNT_1.default.parseCommand(parser, key, count); + parser.push('WITHSCORES'); + }, + transformReply: generic_transformers_1.transformSortedSetReply +}; +//# sourceMappingURL=ZRANDMEMBER_COUNT_WITHSCORES.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT_WITHSCORES.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT_WITHSCORES.js.map new file mode 100644 index 0000000..de356a0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANDMEMBER_COUNT_WITHSCORES.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZRANDMEMBER_COUNT_WITHSCORES.js","sourceRoot":"","sources":["../../../lib/commands/ZRANDMEMBER_COUNT_WITHSCORES.ts"],"names":[],"mappings":";;;;;AAEA,iEAAiE;AACjE,4EAAoD;AAEpD,kBAAe;IACb,YAAY,EAAE,2BAAiB,CAAC,YAAY;IAC5C;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,KAAa;QACnE,2BAAiB,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IACD,cAAc,EAAE,8CAAuB;CACb,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANGE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZRANGE.d.ts new file mode 100644 index 0000000..232c44e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANGE.d.ts @@ -0,0 +1,27 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '../RESP/types'; +export interface ZRangeOptions { + BY?: 'SCORE' | 'LEX'; + REV?: boolean; + LIMIT?: { + offset: number; + count: number; + }; +} +export declare function zRangeArgument(min: RedisArgument | number, max: RedisArgument | number, options?: ZRangeOptions): RedisArgument[]; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Returns the specified range of elements in the sorted set. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param min - Minimum index, score or lexicographical value. + * @param max - Maximum index, score or lexicographical value. + * @param options - Optional parameters for range retrieval (BY, REV, LIMIT). + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, min: RedisArgument | number, max: RedisArgument | number, options?: ZRangeOptions) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=ZRANGE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANGE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZRANGE.d.ts.map new file mode 100644 index 0000000..36e9900 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANGE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZRANGE.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZRANGE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AAGpF,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,aAAa,GAAG,MAAM,EAC3B,GAAG,EAAE,aAAa,GAAG,MAAM,EAC3B,OAAO,CAAC,EAAE,aAAa,mBA8BxB;;;;IAKC;;;;;;;OAOG;gDAEO,aAAa,OAChB,aAAa,OACb,aAAa,GAAG,MAAM,OACtB,aAAa,GAAG,MAAM,YACjB,aAAa;mCAMqB,WAAW,eAAe,CAAC;;AAtB3E,wBAuB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANGE.js b/back/node_modules/@redis/client/dist/lib/commands/ZRANGE.js new file mode 100644 index 0000000..dfc293e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANGE.js @@ -0,0 +1,45 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.zRangeArgument = void 0; +const generic_transformers_1 = require("./generic-transformers"); +function zRangeArgument(min, max, options) { + const args = [ + (0, generic_transformers_1.transformStringDoubleArgument)(min), + (0, generic_transformers_1.transformStringDoubleArgument)(max) + ]; + switch (options?.BY) { + case 'SCORE': + args.push('BYSCORE'); + break; + case 'LEX': + args.push('BYLEX'); + break; + } + if (options?.REV) { + args.push('REV'); + } + if (options?.LIMIT) { + args.push('LIMIT', options.LIMIT.offset.toString(), options.LIMIT.count.toString()); + } + return args; +} +exports.zRangeArgument = zRangeArgument; +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Returns the specified range of elements in the sorted set. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param min - Minimum index, score or lexicographical value. + * @param max - Maximum index, score or lexicographical value. + * @param options - Optional parameters for range retrieval (BY, REV, LIMIT). + */ + parseCommand(parser, key, min, max, options) { + parser.push('ZRANGE'); + parser.pushKey(key); + parser.pushVariadic(zRangeArgument(min, max, options)); + }, + transformReply: undefined +}; +//# sourceMappingURL=ZRANGE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANGE.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZRANGE.js.map new file mode 100644 index 0000000..c9bd451 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANGE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZRANGE.js","sourceRoot":"","sources":["../../../lib/commands/ZRANGE.ts"],"names":[],"mappings":";;;AAEA,iEAAuE;AAWvE,SAAgB,cAAc,CAC5B,GAA2B,EAC3B,GAA2B,EAC3B,OAAuB;IAEvB,MAAM,IAAI,GAAG;QACX,IAAA,oDAA6B,EAAC,GAAG,CAAC;QAClC,IAAA,oDAA6B,EAAC,GAAG,CAAC;KACnC,CAAA;IAED,QAAQ,OAAO,EAAE,EAAE,EAAE,CAAC;QACpB,KAAK,OAAO;YACV,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrB,MAAM;QAER,KAAK,KAAK;YACR,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnB,MAAM;IACV,CAAC;IAED,IAAI,OAAO,EAAE,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CACP,OAAO,EACP,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAC/B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAC/B,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAjCD,wCAiCC;AAED,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,GAA2B,EAC3B,GAA2B,EAC3B,OAAuB;QAEvB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;IACxD,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYLEX.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYLEX.d.ts new file mode 100644 index 0000000..b1075c7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYLEX.d.ts @@ -0,0 +1,24 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '../RESP/types'; +export interface ZRangeByLexOptions { + LIMIT?: { + offset: number; + count: number; + }; +} +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Returns all the elements in the sorted set at key with a lexicographical value between min and max. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param min - Minimum lexicographical value. + * @param max - Maximum lexicographical value. + * @param options - Optional parameters including LIMIT. + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, min: RedisArgument, max: RedisArgument, options?: ZRangeByLexOptions) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=ZRANGEBYLEX.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYLEX.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYLEX.d.ts.map new file mode 100644 index 0000000..bcbfe6f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYLEX.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZRANGEBYLEX.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZRANGEBYLEX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AAGpF,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;;;;IAKC;;;;;;;OAOG;gDAEO,aAAa,OAChB,aAAa,OACb,aAAa,OACb,aAAa,YACR,kBAAkB;mCAagB,WAAW,eAAe,CAAC;;AA7B3E,wBA8B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYLEX.js b/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYLEX.js new file mode 100644 index 0000000..d050ccb --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYLEX.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Returns all the elements in the sorted set at key with a lexicographical value between min and max. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param min - Minimum lexicographical value. + * @param max - Maximum lexicographical value. + * @param options - Optional parameters including LIMIT. + */ + parseCommand(parser, key, min, max, options) { + parser.push('ZRANGEBYLEX'); + parser.pushKey(key); + parser.push((0, generic_transformers_1.transformStringDoubleArgument)(min), (0, generic_transformers_1.transformStringDoubleArgument)(max)); + if (options?.LIMIT) { + parser.push('LIMIT', options.LIMIT.offset.toString(), options.LIMIT.count.toString()); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=ZRANGEBYLEX.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYLEX.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYLEX.js.map new file mode 100644 index 0000000..5d8ea7a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYLEX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZRANGEBYLEX.js","sourceRoot":"","sources":["../../../lib/commands/ZRANGEBYLEX.ts"],"names":[],"mappings":";;AAEA,iEAAuE;AASvE,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,GAAkB,EAClB,GAAkB,EAClB,OAA4B;QAE5B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CACT,IAAA,oDAA6B,EAAC,GAAG,CAAC,EAClC,IAAA,oDAA6B,EAAC,GAAG,CAAC,CACnC,CAAC;QAEF,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE.d.ts new file mode 100644 index 0000000..3850b3b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE.d.ts @@ -0,0 +1,25 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '../RESP/types'; +export interface ZRangeByScoreOptions { + LIMIT?: { + offset: number; + count: number; + }; +} +export declare function transformReply(): Array; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Returns all the elements in the sorted set with a score between min and max. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param min - Minimum score. + * @param max - Maximum score. + * @param options - Optional parameters including LIMIT. + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, min: string | number, max: string | number, options?: ZRangeByScoreOptions) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=ZRANGEBYSCORE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE.d.ts.map new file mode 100644 index 0000000..b8f3522 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZRANGEBYSCORE.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZRANGEBYSCORE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AAGpF,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;;;;IAK7D;;;;;;;OAOG;gDAEO,aAAa,OAChB,aAAa,OACb,MAAM,GAAG,MAAM,OACf,MAAM,GAAG,MAAM,YACV,oBAAoB;mCAac,WAAW,eAAe,CAAC;;AA7B3E,wBA8B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE.js b/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE.js new file mode 100644 index 0000000..36eec71 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Returns all the elements in the sorted set with a score between min and max. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param min - Minimum score. + * @param max - Maximum score. + * @param options - Optional parameters including LIMIT. + */ + parseCommand(parser, key, min, max, options) { + parser.push('ZRANGEBYSCORE'); + parser.pushKey(key); + parser.push((0, generic_transformers_1.transformStringDoubleArgument)(min), (0, generic_transformers_1.transformStringDoubleArgument)(max)); + if (options?.LIMIT) { + parser.push('LIMIT', options.LIMIT.offset.toString(), options.LIMIT.count.toString()); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=ZRANGEBYSCORE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE.js.map new file mode 100644 index 0000000..507ac4a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZRANGEBYSCORE.js","sourceRoot":"","sources":["../../../lib/commands/ZRANGEBYSCORE.ts"],"names":[],"mappings":";;AAEA,iEAAuE;AAWvE,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,GAAoB,EACpB,GAAoB,EACpB,OAA8B;QAE9B,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CACT,IAAA,oDAA6B,EAAC,GAAG,CAAC,EAClC,IAAA,oDAA6B,EAAC,GAAG,CAAC,CACnC,CAAC;QAEF,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE_WITHSCORES.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE_WITHSCORES.d.ts new file mode 100644 index 0000000..318d344 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE_WITHSCORES.d.ts @@ -0,0 +1,21 @@ +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Returns all the elements in the sorted set with a score between min and max, with their scores. + * @param args - Same parameters as the ZRANGEBYSCORE command. + */ + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: string | number, max: string | number, options?: import("./ZRANGEBYSCORE").ZRangeByScoreOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; +}; +export default _default; +//# sourceMappingURL=ZRANGEBYSCORE_WITHSCORES.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE_WITHSCORES.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE_WITHSCORES.d.ts.map new file mode 100644 index 0000000..71c3bf7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE_WITHSCORES.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZRANGEBYSCORE_WITHSCORES.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZRANGEBYSCORE_WITHSCORES.ts"],"names":[],"mappings":";;;IAOE;;;OAGG;;;;;;;;;;;;;AANL,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE_WITHSCORES.js b/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE_WITHSCORES.js new file mode 100644 index 0000000..b483b00 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE_WITHSCORES.js @@ -0,0 +1,22 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +const ZRANGEBYSCORE_1 = __importDefault(require("./ZRANGEBYSCORE")); +exports.default = { + CACHEABLE: ZRANGEBYSCORE_1.default.CACHEABLE, + IS_READ_ONLY: ZRANGEBYSCORE_1.default.IS_READ_ONLY, + /** + * Returns all the elements in the sorted set with a score between min and max, with their scores. + * @param args - Same parameters as the ZRANGEBYSCORE command. + */ + parseCommand(...args) { + const parser = args[0]; + ZRANGEBYSCORE_1.default.parseCommand(...args); + parser.push('WITHSCORES'); + }, + transformReply: generic_transformers_1.transformSortedSetReply +}; +//# sourceMappingURL=ZRANGEBYSCORE_WITHSCORES.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE_WITHSCORES.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE_WITHSCORES.js.map new file mode 100644 index 0000000..7bc18e3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANGEBYSCORE_WITHSCORES.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZRANGEBYSCORE_WITHSCORES.js","sourceRoot":"","sources":["../../../lib/commands/ZRANGEBYSCORE_WITHSCORES.ts"],"names":[],"mappings":";;;;;AACA,iEAAiE;AACjE,oEAA4C;AAE5C,kBAAe;IACb,SAAS,EAAE,uBAAa,CAAC,SAAS;IAClC,YAAY,EAAE,uBAAa,CAAC,YAAY;IACxC;;;OAGG;IACH,YAAY,CAAC,GAAG,IAAmD;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEvB,uBAAa,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IACD,cAAc,EAAE,8CAAuB;CACb,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANGESTORE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZRANGESTORE.d.ts new file mode 100644 index 0000000..f6e181a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANGESTORE.d.ts @@ -0,0 +1,26 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +export interface ZRangeStoreOptions { + BY?: 'SCORE' | 'LEX'; + REV?: true; + LIMIT?: { + offset: number; + count: number; + }; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Stores the result of a range operation on a sorted set into a new sorted set. + * @param parser - The Redis command parser. + * @param destination - Destination key where the result will be stored. + * @param source - Key of the source sorted set. + * @param min - Minimum index, score or lexicographical value. + * @param max - Maximum index, score or lexicographical value. + * @param options - Optional parameters for the range operation (BY, REV, LIMIT). + */ + readonly parseCommand: (this: void, parser: CommandParser, destination: RedisArgument, source: RedisArgument, min: RedisArgument | number, max: RedisArgument | number, options?: ZRangeStoreOptions) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=ZRANGESTORE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANGESTORE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZRANGESTORE.d.ts.map new file mode 100644 index 0000000..9b350a2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANGESTORE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZRANGESTORE.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZRANGESTORE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AAGpE,MAAM,WAAW,kBAAkB;IACjC,EAAE,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACrB,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,KAAK,CAAC,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;;;IAIC;;;;;;;;OAQG;gDAEO,aAAa,eACR,aAAa,UAClB,aAAa,OAChB,aAAa,GAAG,MAAM,OACtB,aAAa,GAAG,MAAM,YACjB,kBAAkB;mCA4BgB,WAAW;;AA7C3D,wBA8C6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANGESTORE.js b/back/node_modules/@redis/client/dist/lib/commands/ZRANGESTORE.js new file mode 100644 index 0000000..1b45c50 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANGESTORE.js @@ -0,0 +1,37 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Stores the result of a range operation on a sorted set into a new sorted set. + * @param parser - The Redis command parser. + * @param destination - Destination key where the result will be stored. + * @param source - Key of the source sorted set. + * @param min - Minimum index, score or lexicographical value. + * @param max - Maximum index, score or lexicographical value. + * @param options - Optional parameters for the range operation (BY, REV, LIMIT). + */ + parseCommand(parser, destination, source, min, max, options) { + parser.push('ZRANGESTORE'); + parser.pushKey(destination); + parser.pushKey(source); + parser.push((0, generic_transformers_1.transformStringDoubleArgument)(min), (0, generic_transformers_1.transformStringDoubleArgument)(max)); + switch (options?.BY) { + case 'SCORE': + parser.push('BYSCORE'); + break; + case 'LEX': + parser.push('BYLEX'); + break; + } + if (options?.REV) { + parser.push('REV'); + } + if (options?.LIMIT) { + parser.push('LIMIT', options.LIMIT.offset.toString(), options.LIMIT.count.toString()); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=ZRANGESTORE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANGESTORE.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZRANGESTORE.js.map new file mode 100644 index 0000000..a4cc744 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANGESTORE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZRANGESTORE.js","sourceRoot":"","sources":["../../../lib/commands/ZRANGESTORE.ts"],"names":[],"mappings":";;AAEA,iEAAuE;AAWvE,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;OAQG;IACH,YAAY,CACV,MAAqB,EACrB,WAA0B,EAC1B,MAAqB,EACrB,GAA2B,EAC3B,GAA2B,EAC3B,OAA4B;QAE5B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvB,MAAM,CAAC,IAAI,CACT,IAAA,oDAA6B,EAAC,GAAG,CAAC,EAClC,IAAA,oDAA6B,EAAC,GAAG,CAAC,CACnC,CAAC;QAEF,QAAQ,OAAO,EAAE,EAAE,EAAE,CAAC;YACpB,KAAK,OAAO;gBACV,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACvB,MAAM;YAER,KAAK,KAAK;gBACR,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrB,MAAM;QACV,CAAC;QAED,IAAI,OAAO,EAAE,GAAG,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAED,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANGE_WITHSCORES.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZRANGE_WITHSCORES.d.ts new file mode 100644 index 0000000..1bb9d89 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANGE_WITHSCORES.d.ts @@ -0,0 +1,21 @@ +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Returns the specified range of elements in the sorted set with their scores. + * @param args - Same parameters as the ZRANGE command. + */ + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: number | import("../RESP/types").RedisArgument, max: number | import("../RESP/types").RedisArgument, options?: import("./ZRANGE").ZRangeOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; +}; +export default _default; +//# sourceMappingURL=ZRANGE_WITHSCORES.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANGE_WITHSCORES.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZRANGE_WITHSCORES.d.ts.map new file mode 100644 index 0000000..0315196 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANGE_WITHSCORES.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZRANGE_WITHSCORES.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZRANGE_WITHSCORES.ts"],"names":[],"mappings":";;;IAOE;;;OAGG;;;;;;;;;;;;;AANL,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANGE_WITHSCORES.js b/back/node_modules/@redis/client/dist/lib/commands/ZRANGE_WITHSCORES.js new file mode 100644 index 0000000..079d663 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANGE_WITHSCORES.js @@ -0,0 +1,22 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +const ZRANGE_1 = __importDefault(require("./ZRANGE")); +exports.default = { + CACHEABLE: ZRANGE_1.default.CACHEABLE, + IS_READ_ONLY: ZRANGE_1.default.IS_READ_ONLY, + /** + * Returns the specified range of elements in the sorted set with their scores. + * @param args - Same parameters as the ZRANGE command. + */ + parseCommand(...args) { + const parser = args[0]; + ZRANGE_1.default.parseCommand(...args); + parser.push('WITHSCORES'); + }, + transformReply: generic_transformers_1.transformSortedSetReply +}; +//# sourceMappingURL=ZRANGE_WITHSCORES.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANGE_WITHSCORES.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZRANGE_WITHSCORES.js.map new file mode 100644 index 0000000..dc35261 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANGE_WITHSCORES.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZRANGE_WITHSCORES.js","sourceRoot":"","sources":["../../../lib/commands/ZRANGE_WITHSCORES.ts"],"names":[],"mappings":";;;;;AACA,iEAAiE;AACjE,sDAA8B;AAE9B,kBAAe;IACb,SAAS,EAAE,gBAAM,CAAC,SAAS;IAC3B,YAAY,EAAE,gBAAM,CAAC,YAAY;IACjC;;;OAGG;IACH,YAAY,CAAC,GAAG,IAA4C;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEvB,gBAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IACD,cAAc,EAAE,8CAAuB;CACb,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANK.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZRANK.d.ts new file mode 100644 index 0000000..ef6ce29 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANK.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply, NullReply } from '../RESP/types'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Returns the rank of a member in the sorted set, with scores ordered from low to high. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param member - Member to get the rank for. + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, member: RedisArgument) => void; + readonly transformReply: () => NumberReply | NullReply; +}; +export default _default; +//# sourceMappingURL=ZRANK.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANK.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZRANK.d.ts.map new file mode 100644 index 0000000..23f6241 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANK.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZRANK.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZRANK.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAW,MAAM,eAAe,CAAC;;;;IAK7E;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,UAAU,aAAa;mCAK/B,WAAW,GAAG,SAAS;;AAdvE,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANK.js b/back/node_modules/@redis/client/dist/lib/commands/ZRANK.js new file mode 100644 index 0000000..5df1bb9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANK.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Returns the rank of a member in the sorted set, with scores ordered from low to high. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param member - Member to get the rank for. + */ + parseCommand(parser, key, member) { + parser.push('ZRANK'); + parser.pushKey(key); + parser.push(member); + }, + transformReply: undefined +}; +//# sourceMappingURL=ZRANK.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANK.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZRANK.js.map new file mode 100644 index 0000000..02bb8a7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANK.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZRANK.js","sourceRoot":"","sources":["../../../lib/commands/ZRANK.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,MAAqB;QAC3E,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANK_WITHSCORE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZRANK_WITHSCORE.d.ts new file mode 100644 index 0000000..182671e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANK_WITHSCORE.d.ts @@ -0,0 +1,22 @@ +import { NullReply, TuplesReply, NumberReply, BlobStringReply, DoubleReply, UnwrapReply } from '../RESP/types'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Returns the rank of a member in the sorted set with its score. + * @param args - Same parameters as the ZRANK command. + */ + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: UnwrapReply>) => { + rank: NumberReply; + score: number; + } | null; + readonly 3: (reply: UnwrapReply>) => { + rank: BlobStringReply; + score: DoubleReply; + } | null; + }; +}; +export default _default; +//# sourceMappingURL=ZRANK_WITHSCORE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANK_WITHSCORE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZRANK_WITHSCORE.d.ts.map new file mode 100644 index 0000000..7985e3a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANK_WITHSCORE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZRANK_WITHSCORE.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZRANK_WITHSCORE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;;IAMtH;;;OAGG;;;4BAQU,YAAY,SAAS,GAAG,YAAY,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;;;;4BAQpE,YAAY,SAAS,GAAG,YAAY,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC;;;;;;AAtBnF,wBA+B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANK_WITHSCORE.js b/back/node_modules/@redis/client/dist/lib/commands/ZRANK_WITHSCORE.js new file mode 100644 index 0000000..ff2c605 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANK_WITHSCORE.js @@ -0,0 +1,38 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const ZRANK_1 = __importDefault(require("./ZRANK")); +exports.default = { + CACHEABLE: ZRANK_1.default.CACHEABLE, + IS_READ_ONLY: ZRANK_1.default.IS_READ_ONLY, + /** + * Returns the rank of a member in the sorted set with its score. + * @param args - Same parameters as the ZRANK command. + */ + parseCommand(...args) { + const parser = args[0]; + ZRANK_1.default.parseCommand(...args); + parser.push('WITHSCORE'); + }, + transformReply: { + 2: (reply) => { + if (reply === null) + return null; + return { + rank: reply[0], + score: Number(reply[1]) + }; + }, + 3: (reply) => { + if (reply === null) + return null; + return { + rank: reply[0], + score: reply[1] + }; + } + } +}; +//# sourceMappingURL=ZRANK_WITHSCORE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZRANK_WITHSCORE.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZRANK_WITHSCORE.js.map new file mode 100644 index 0000000..07d5316 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZRANK_WITHSCORE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZRANK_WITHSCORE.js","sourceRoot":"","sources":["../../../lib/commands/ZRANK_WITHSCORE.ts"],"names":[],"mappings":";;;;;AACA,oDAA4B;AAE5B,kBAAe;IACb,SAAS,EAAE,eAAK,CAAC,SAAS;IAC1B,YAAY,EAAE,eAAK,CAAC,YAAY;IAChC;;;OAGG;IACH,YAAY,CAAC,GAAG,IAA2C;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEvB,eAAK,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3B,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAA2E,EAAE,EAAE;YACjF,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAEhC,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACxB,CAAC;QACJ,CAAC;QACD,CAAC,EAAE,CAAC,KAA2E,EAAE,EAAE;YACjF,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAEhC,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;aAChB,CAAC;QACJ,CAAC;KACF;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZREM.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZREM.d.ts new file mode 100644 index 0000000..5fdc948 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZREM.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +import { RedisVariadicArgument } from './generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Removes the specified members from the sorted set. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param member - One or more members to remove. + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, member: RedisVariadicArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=ZREM.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZREM.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZREM.d.ts.map new file mode 100644 index 0000000..550c554 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZREM.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZREM.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZREM.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;;;IAI7D;;;;;OAKG;gDAEO,aAAa,OAChB,aAAa,UACV,qBAAqB;mCAMe,WAAW;;AAjB3D,wBAkB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZREM.js b/back/node_modules/@redis/client/dist/lib/commands/ZREM.js new file mode 100644 index 0000000..e994b7f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZREM.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Removes the specified members from the sorted set. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param member - One or more members to remove. + */ + parseCommand(parser, key, member) { + parser.push('ZREM'); + parser.pushKey(key); + parser.pushVariadic(member); + }, + transformReply: undefined +}; +//# sourceMappingURL=ZREM.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZREM.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZREM.js.map new file mode 100644 index 0000000..5b5123b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZREM.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZREM.js","sourceRoot":"","sources":["../../../lib/commands/ZREM.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,MAA6B;QAE7B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYLEX.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYLEX.d.ts new file mode 100644 index 0000000..2d20bd4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYLEX.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply, RedisArgument } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Removes all elements in the sorted set with lexicographical values between min and max. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param min - Minimum lexicographical value. + * @param max - Maximum lexicographical value. + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, min: RedisArgument | number, max: RedisArgument | number) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=ZREMRANGEBYLEX.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYLEX.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYLEX.d.ts.map new file mode 100644 index 0000000..9589ff4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYLEX.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZREMRANGEBYLEX.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZREMRANGEBYLEX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAW,aAAa,EAAE,MAAM,eAAe,CAAC;;;IAKlE;;;;;;OAMG;gDAEO,aAAa,OAChB,aAAa,OACb,aAAa,GAAG,MAAM,OACtB,aAAa,GAAG,MAAM;mCASiB,WAAW;;AAtB3D,wBAuB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYLEX.js b/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYLEX.js new file mode 100644 index 0000000..4f65a28 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYLEX.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Removes all elements in the sorted set with lexicographical values between min and max. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param min - Minimum lexicographical value. + * @param max - Maximum lexicographical value. + */ + parseCommand(parser, key, min, max) { + parser.push('ZREMRANGEBYLEX'); + parser.pushKey(key); + parser.push((0, generic_transformers_1.transformStringDoubleArgument)(min), (0, generic_transformers_1.transformStringDoubleArgument)(max)); + }, + transformReply: undefined +}; +//# sourceMappingURL=ZREMRANGEBYLEX.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYLEX.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYLEX.js.map new file mode 100644 index 0000000..f8e0dc0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYLEX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZREMRANGEBYLEX.js","sourceRoot":"","sources":["../../../lib/commands/ZREMRANGEBYLEX.ts"],"names":[],"mappings":";;AAEA,iEAAuE;AAEvE,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;OAMG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,GAA2B,EAC3B,GAA2B;QAE3B,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CACT,IAAA,oDAA6B,EAAC,GAAG,CAAC,EAClC,IAAA,oDAA6B,EAAC,GAAG,CAAC,CACnC,CAAC;IACJ,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYRANK.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYRANK.d.ts new file mode 100644 index 0000000..d1f8419 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYRANK.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Removes all elements in the sorted set with rank between start and stop. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param start - Minimum rank (starting from 0). + * @param stop - Maximum rank. + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, start: number, stop: number) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=ZREMRANGEBYRANK.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYRANK.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYRANK.d.ts.map new file mode 100644 index 0000000..2ee2bc9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYRANK.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZREMRANGEBYRANK.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZREMRANGEBYRANK.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;IAIlE;;;;;;OAMG;gDAEO,aAAa,OAChB,aAAa,SACX,MAAM,QACP,MAAM;mCASgC,WAAW;;AAtB3D,wBAuB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYRANK.js b/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYRANK.js new file mode 100644 index 0000000..5ff1718 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYRANK.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Removes all elements in the sorted set with rank between start and stop. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param start - Minimum rank (starting from 0). + * @param stop - Maximum rank. + */ + parseCommand(parser, key, start, stop) { + parser.push('ZREMRANGEBYRANK'); + parser.pushKey(key); + parser.push(start.toString(), stop.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=ZREMRANGEBYRANK.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYRANK.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYRANK.js.map new file mode 100644 index 0000000..6a81007 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYRANK.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZREMRANGEBYRANK.js","sourceRoot":"","sources":["../../../lib/commands/ZREMRANGEBYRANK.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;OAMG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,KAAa,EACb,IAAY;QAEZ,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC/B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,QAAQ,EAAE,EAChB,IAAI,CAAC,QAAQ,EAAE,CAChB,CAAC;IACJ,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYSCORE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYSCORE.d.ts new file mode 100644 index 0000000..e4dd8c6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYSCORE.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Removes all elements in the sorted set with scores between min and max. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param min - Minimum score. + * @param max - Maximum score. + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, min: RedisArgument | number, max: RedisArgument | number) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=ZREMRANGEBYSCORE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYSCORE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYSCORE.d.ts.map new file mode 100644 index 0000000..742d597 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYSCORE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZREMRANGEBYSCORE.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZREMRANGEBYSCORE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;;;IAKlE;;;;;;OAMG;gDAEO,aAAa,OAChB,aAAa,OACb,aAAa,GAAG,MAAM,OACtB,aAAa,GAAG,MAAM;mCASiB,WAAW;;AAtB3D,wBAuB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYSCORE.js b/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYSCORE.js new file mode 100644 index 0000000..0ed47e9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYSCORE.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Removes all elements in the sorted set with scores between min and max. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param min - Minimum score. + * @param max - Maximum score. + */ + parseCommand(parser, key, min, max) { + parser.push('ZREMRANGEBYSCORE'); + parser.pushKey(key); + parser.push((0, generic_transformers_1.transformStringDoubleArgument)(min), (0, generic_transformers_1.transformStringDoubleArgument)(max)); + }, + transformReply: undefined +}; +//# sourceMappingURL=ZREMRANGEBYSCORE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYSCORE.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYSCORE.js.map new file mode 100644 index 0000000..057771c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZREMRANGEBYSCORE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZREMRANGEBYSCORE.js","sourceRoot":"","sources":["../../../lib/commands/ZREMRANGEBYSCORE.ts"],"names":[],"mappings":";;AAEA,iEAAuE;AAEvE,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;OAMG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,GAA2B,EAC3B,GAA2B;QAE3B,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CACT,IAAA,oDAA6B,EAAC,GAAG,CAAC,EAClC,IAAA,oDAA6B,EAAC,GAAG,CAAC,CACnC,CAAC;IACJ,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZREVRANK.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZREVRANK.d.ts new file mode 100644 index 0000000..3432435 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZREVRANK.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../client/parser'; +import { NumberReply, NullReply, RedisArgument } from '../RESP/types'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Returns the rank of a member in the sorted set, with scores ordered from high to low. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param member - Member to get the rank for. + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, member: RedisArgument) => void; + readonly transformReply: () => NumberReply | NullReply; +}; +export default _default; +//# sourceMappingURL=ZREVRANK.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZREVRANK.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZREVRANK.d.ts.map new file mode 100644 index 0000000..5d2c2bf --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZREVRANK.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZREVRANK.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZREVRANK.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAW,aAAa,EAAE,MAAM,eAAe,CAAC;;;;IAK7E;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,UAAU,aAAa;mCAK/B,WAAW,GAAG,SAAS;;AAdvE,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZREVRANK.js b/back/node_modules/@redis/client/dist/lib/commands/ZREVRANK.js new file mode 100644 index 0000000..16d0bb9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZREVRANK.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Returns the rank of a member in the sorted set, with scores ordered from high to low. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param member - Member to get the rank for. + */ + parseCommand(parser, key, member) { + parser.push('ZREVRANK'); + parser.pushKey(key); + parser.push(member); + }, + transformReply: undefined +}; +//# sourceMappingURL=ZREVRANK.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZREVRANK.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZREVRANK.js.map new file mode 100644 index 0000000..05b4ab3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZREVRANK.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZREVRANK.js","sourceRoot":"","sources":["../../../lib/commands/ZREVRANK.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,MAAqB;QAC3E,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZSCAN.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZSCAN.d.ts new file mode 100644 index 0000000..1f81c80 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZSCAN.d.ts @@ -0,0 +1,27 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '../RESP/types'; +import { ScanCommonOptions } from './SCAN'; +export interface HScanEntry { + field: BlobStringReply; + value: BlobStringReply; +} +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Incrementally iterates over a sorted set. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param cursor - Cursor position to start the scan from. + * @param options - Optional scan parameters (COUNT, MATCH, TYPE). + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, cursor: RedisArgument, options?: ScanCommonOptions) => void; + readonly transformReply: (this: void, [cursor, rawMembers]: [BlobStringReply, ArrayReply]) => { + cursor: BlobStringReply; + members: { + value: BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; +}; +export default _default; +//# sourceMappingURL=ZSCAN.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZSCAN.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZSCAN.d.ts.map new file mode 100644 index 0000000..01ef445 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZSCAN.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZSCAN.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZSCAN.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAsB,MAAM,QAAQ,CAAC;AAG/D,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,eAAe,CAAC;IACvB,KAAK,EAAE,eAAe,CAAC;CACxB;;;IAIC;;;;;;OAMG;gDAEO,aAAa,OAChB,aAAa,UACV,aAAa,YACX,iBAAiB;gEAMQ,CAAC,eAAe,EAAE,WAAW,eAAe,CAAC,CAAC;;;;;;;;AAnBrF,wBAyB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZSCAN.js b/back/node_modules/@redis/client/dist/lib/commands/ZSCAN.js new file mode 100644 index 0000000..5321403 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZSCAN.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const SCAN_1 = require("./SCAN"); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + IS_READ_ONLY: true, + /** + * Incrementally iterates over a sorted set. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param cursor - Cursor position to start the scan from. + * @param options - Optional scan parameters (COUNT, MATCH, TYPE). + */ + parseCommand(parser, key, cursor, options) { + parser.push('ZSCAN'); + parser.pushKey(key); + (0, SCAN_1.parseScanArguments)(parser, cursor, options); + }, + transformReply([cursor, rawMembers]) { + return { + cursor, + members: generic_transformers_1.transformSortedSetReply[2](rawMembers) + }; + } +}; +//# sourceMappingURL=ZSCAN.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZSCAN.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZSCAN.js.map new file mode 100644 index 0000000..c716493 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZSCAN.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZSCAN.js","sourceRoot":"","sources":["../../../lib/commands/ZSCAN.ts"],"names":[],"mappings":";;AAEA,iCAA+D;AAC/D,iEAAiE;AAOjE,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,MAAqB,EACrB,OAA2B;QAE3B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,IAAA,yBAAkB,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IACD,cAAc,CAAC,CAAC,MAAM,EAAE,UAAU,CAAiD;QACjF,OAAO;YACL,MAAM;YACN,OAAO,EAAE,8CAAuB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;SAChD,CAAC;IACJ,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZSCORE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZSCORE.d.ts new file mode 100644 index 0000000..2f6003d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZSCORE.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument } from '../RESP/types'; +declare const _default: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + /** + * Returns the score of a member in a sorted set. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param member - Member to get the score for. + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, member: RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").DoubleReply | null; + 3: () => import("../RESP/types").NullReply | import("../RESP/types").DoubleReply; + }; +}; +export default _default; +//# sourceMappingURL=ZSCORE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZSCORE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZSCORE.d.ts.map new file mode 100644 index 0000000..bc09bfe --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZSCORE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZSCORE.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZSCORE.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAW,MAAM,eAAe,CAAC;;;;IAMrD;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,UAAU,aAAa;;;;;;AAT/E,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZSCORE.js b/back/node_modules/@redis/client/dist/lib/commands/ZSCORE.js new file mode 100644 index 0000000..6b57426 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZSCORE.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + CACHEABLE: true, + IS_READ_ONLY: true, + /** + * Returns the score of a member in a sorted set. + * @param parser - The Redis command parser. + * @param key - Key of the sorted set. + * @param member - Member to get the score for. + */ + parseCommand(parser, key, member) { + parser.push('ZSCORE'); + parser.pushKey(key); + parser.push(member); + }, + transformReply: generic_transformers_1.transformNullableDoubleReply +}; +//# sourceMappingURL=ZSCORE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZSCORE.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZSCORE.js.map new file mode 100644 index 0000000..56ae7e3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZSCORE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZSCORE.js","sourceRoot":"","sources":["../../../lib/commands/ZSCORE.ts"],"names":[],"mappings":";;AAGA,iEAAsE;AAEtE,kBAAe;IACb,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,MAAqB;QAC3E,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,mDAA4B;CAClB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZUNION.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZUNION.d.ts new file mode 100644 index 0000000..07a46a6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZUNION.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '../client/parser'; +import { ArrayReply, BlobStringReply } from '../RESP/types'; +import { ZKeys } from './generic-transformers'; +export interface ZUnionOptions { + AGGREGATE?: 'SUM' | 'MIN' | 'MAX'; +} +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns the union of multiple sorted sets. + * @param parser - The Redis command parser. + * @param keys - Keys of the sorted sets to combine. + * @param options - Optional parameters for the union operation. + */ + readonly parseCommand: (this: void, parser: CommandParser, keys: ZKeys, options?: ZUnionOptions) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=ZUNION.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZUNION.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZUNION.d.ts.map new file mode 100644 index 0000000..af58805 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZUNION.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZUNION.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZUNION.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,KAAK,EAAuB,MAAM,wBAAwB,CAAC;AAEpE,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;CACnC;;;IAIC;;;;;OAKG;gDACkB,aAAa,QAAQ,KAAK,YAAY,aAAa;mCAQ1B,WAAW,eAAe,CAAC;;AAhB3E,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZUNION.js b/back/node_modules/@redis/client/dist/lib/commands/ZUNION.js new file mode 100644 index 0000000..dd49618 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZUNION.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns the union of multiple sorted sets. + * @param parser - The Redis command parser. + * @param keys - Keys of the sorted sets to combine. + * @param options - Optional parameters for the union operation. + */ + parseCommand(parser, keys, options) { + parser.push('ZUNION'); + (0, generic_transformers_1.parseZKeysArguments)(parser, keys); + if (options?.AGGREGATE) { + parser.push('AGGREGATE', options.AGGREGATE); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=ZUNION.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZUNION.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZUNION.js.map new file mode 100644 index 0000000..211ea98 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZUNION.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZUNION.js","sourceRoot":"","sources":["../../../lib/commands/ZUNION.ts"],"names":[],"mappings":";;AAEA,iEAAoE;AAMpE,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,IAAW,EAAE,OAAuB;QACtE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,IAAA,0CAAmB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAElC,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZUNIONSTORE.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZUNIONSTORE.d.ts new file mode 100644 index 0000000..18023d0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZUNIONSTORE.d.ts @@ -0,0 +1,20 @@ +import { CommandParser } from '../client/parser'; +import { RedisArgument, NumberReply } from '../RESP/types'; +import { ZKeys } from './generic-transformers'; +export interface ZUnionOptions { + AGGREGATE?: 'SUM' | 'MIN' | 'MAX'; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Stores the union of multiple sorted sets in a new sorted set. + * @param parser - The Redis command parser. + * @param destination - Destination key where the result will be stored. + * @param keys - Keys of the sorted sets to combine. + * @param options - Optional parameters for the union operation. + */ + readonly parseCommand: (this: void, parser: CommandParser, destination: RedisArgument, keys: ZKeys, options?: ZUnionOptions) => any; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=ZUNIONSTORE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZUNIONSTORE.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZUNIONSTORE.d.ts.map new file mode 100644 index 0000000..1523a93 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZUNIONSTORE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZUNIONSTORE.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZUNIONSTORE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAY,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,KAAK,EAAuB,MAAM,wBAAwB,CAAC;AAEpE,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;CACnC;;;IAIC;;;;;;OAMG;gDAEO,aAAa,eACR,aAAa,QACpB,KAAK,YACD,aAAa,KACtB,GAAG;mCASwC,WAAW;;AAvB3D,wBAwB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZUNIONSTORE.js b/back/node_modules/@redis/client/dist/lib/commands/ZUNIONSTORE.js new file mode 100644 index 0000000..065e4bb --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZUNIONSTORE.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Stores the union of multiple sorted sets in a new sorted set. + * @param parser - The Redis command parser. + * @param destination - Destination key where the result will be stored. + * @param keys - Keys of the sorted sets to combine. + * @param options - Optional parameters for the union operation. + */ + parseCommand(parser, destination, keys, options) { + parser.push('ZUNIONSTORE'); + parser.pushKey(destination); + (0, generic_transformers_1.parseZKeysArguments)(parser, keys); + if (options?.AGGREGATE) { + parser.push('AGGREGATE', options.AGGREGATE); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=ZUNIONSTORE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZUNIONSTORE.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZUNIONSTORE.js.map new file mode 100644 index 0000000..1637539 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZUNIONSTORE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZUNIONSTORE.js","sourceRoot":"","sources":["../../../lib/commands/ZUNIONSTORE.ts"],"names":[],"mappings":";;AAEA,iEAAoE;AAMpE,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;OAMG;IACH,YAAY,CACV,MAAqB,EACrB,WAA0B,EAC1B,IAAW,EACX,OAAuB;QAEvB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAA,0CAAmB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAElC,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZUNION_WITHSCORES.d.ts b/back/node_modules/@redis/client/dist/lib/commands/ZUNION_WITHSCORES.d.ts new file mode 100644 index 0000000..4976006 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZUNION_WITHSCORES.d.ts @@ -0,0 +1,20 @@ +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns the union of multiple sorted sets with their scores. + * @param args - Same parameters as the ZUNION command. + */ + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").ZKeys, options?: import("./ZUNION").ZUnionOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; +}; +export default _default; +//# sourceMappingURL=ZUNION_WITHSCORES.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZUNION_WITHSCORES.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/ZUNION_WITHSCORES.d.ts.map new file mode 100644 index 0000000..ba27704 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZUNION_WITHSCORES.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZUNION_WITHSCORES.d.ts","sourceRoot":"","sources":["../../../lib/commands/ZUNION_WITHSCORES.ts"],"names":[],"mappings":";;IAOE;;;OAGG;;;;;;;;;;;;;AALL,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZUNION_WITHSCORES.js b/back/node_modules/@redis/client/dist/lib/commands/ZUNION_WITHSCORES.js new file mode 100644 index 0000000..bb9ca0c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZUNION_WITHSCORES.js @@ -0,0 +1,21 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("./generic-transformers"); +const ZUNION_1 = __importDefault(require("./ZUNION")); +exports.default = { + IS_READ_ONLY: ZUNION_1.default.IS_READ_ONLY, + /** + * Returns the union of multiple sorted sets with their scores. + * @param args - Same parameters as the ZUNION command. + */ + parseCommand(...args) { + const parser = args[0]; + ZUNION_1.default.parseCommand(...args); + parser.push('WITHSCORES'); + }, + transformReply: generic_transformers_1.transformSortedSetReply +}; +//# sourceMappingURL=ZUNION_WITHSCORES.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/ZUNION_WITHSCORES.js.map b/back/node_modules/@redis/client/dist/lib/commands/ZUNION_WITHSCORES.js.map new file mode 100644 index 0000000..8f6e107 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/ZUNION_WITHSCORES.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZUNION_WITHSCORES.js","sourceRoot":"","sources":["../../../lib/commands/ZUNION_WITHSCORES.ts"],"names":[],"mappings":";;;;;AACA,iEAAiE;AACjE,sDAA8B;AAG9B,kBAAe;IACb,YAAY,EAAE,gBAAM,CAAC,YAAY;IACjC;;;OAGG;IACH,YAAY,CAAC,GAAG,IAA4C;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEvB,gBAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IACD,cAAc,EAAE,8CAAuB;CACb,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/common-stream.types.d.ts b/back/node_modules/@redis/client/dist/lib/commands/common-stream.types.d.ts new file mode 100644 index 0000000..37fed53 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/common-stream.types.d.ts @@ -0,0 +1,24 @@ +/** Common stream deletion policies + * + * Added in Redis 8.2 + */ +export declare const STREAM_DELETION_POLICY: { + /** Preserve references (default) */ + readonly KEEPREF: "KEEPREF"; + /** Delete all references */ + readonly DELREF: "DELREF"; + /** Only acknowledged entries */ + readonly ACKED: "ACKED"; +}; +export type StreamDeletionPolicy = (typeof STREAM_DELETION_POLICY)[keyof typeof STREAM_DELETION_POLICY]; +/** Common reply codes for stream deletion operations */ +export declare const STREAM_DELETION_REPLY_CODES: { + /** ID not found */ + readonly NOT_FOUND: -1; + /** Entry deleted */ + readonly DELETED: 1; + /** Dangling references */ + readonly DANGLING_REFS: 2; +}; +export type StreamDeletionReplyCode = (typeof STREAM_DELETION_REPLY_CODES)[keyof typeof STREAM_DELETION_REPLY_CODES]; +//# sourceMappingURL=common-stream.types.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/common-stream.types.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/common-stream.types.d.ts.map new file mode 100644 index 0000000..bf6f7d6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/common-stream.types.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"common-stream.types.d.ts","sourceRoot":"","sources":["../../../lib/commands/common-stream.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,sBAAsB;IACjC,oCAAoC;;IAEpC,4BAA4B;;IAE5B,gCAAgC;;CAExB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAC9B,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,OAAO,sBAAsB,CAAC,CAAC;AAEvE,wDAAwD;AACxD,eAAO,MAAM,2BAA2B;IACtC,mBAAmB;;IAEnB,oBAAoB;;IAEpB,0BAA0B;;CAElB,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,OAAO,2BAA2B,CAAC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/common-stream.types.js b/back/node_modules/@redis/client/dist/lib/commands/common-stream.types.js new file mode 100644 index 0000000..3b423e3 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/common-stream.types.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.STREAM_DELETION_REPLY_CODES = exports.STREAM_DELETION_POLICY = void 0; +/** Common stream deletion policies + * + * Added in Redis 8.2 + */ +exports.STREAM_DELETION_POLICY = { + /** Preserve references (default) */ + KEEPREF: "KEEPREF", + /** Delete all references */ + DELREF: "DELREF", + /** Only acknowledged entries */ + ACKED: "ACKED", +}; +/** Common reply codes for stream deletion operations */ +exports.STREAM_DELETION_REPLY_CODES = { + /** ID not found */ + NOT_FOUND: -1, + /** Entry deleted */ + DELETED: 1, + /** Dangling references */ + DANGLING_REFS: 2, +}; +//# sourceMappingURL=common-stream.types.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/common-stream.types.js.map b/back/node_modules/@redis/client/dist/lib/commands/common-stream.types.js.map new file mode 100644 index 0000000..946178e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/common-stream.types.js.map @@ -0,0 +1 @@ +{"version":3,"file":"common-stream.types.js","sourceRoot":"","sources":["../../../lib/commands/common-stream.types.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,sBAAsB,GAAG;IACpC,oCAAoC;IACpC,OAAO,EAAE,SAAS;IAClB,4BAA4B;IAC5B,MAAM,EAAE,QAAQ;IAChB,gCAAgC;IAChC,KAAK,EAAE,OAAO;CACN,CAAC;AAKX,wDAAwD;AAC3C,QAAA,2BAA2B,GAAG;IACzC,mBAAmB;IACnB,SAAS,EAAE,CAAC,CAAC;IACb,oBAAoB;IACpB,OAAO,EAAE,CAAC;IACV,0BAA0B;IAC1B,aAAa,EAAE,CAAC;CACR,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/generic-transformers.d.ts b/back/node_modules/@redis/client/dist/lib/commands/generic-transformers.d.ts new file mode 100644 index 0000000..34e6614 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/generic-transformers.d.ts @@ -0,0 +1,213 @@ +import { CommandParser } from '../client/parser'; +import { UnwrapReply, ArrayReply, BlobStringReply, BooleanReply, CommandArguments, DoubleReply, NullReply, NumberReply, RedisArgument, TuplesReply, MapReply, TypeMapping, Command } from '../RESP/types'; +export declare function isNullReply(reply: unknown): reply is NullReply; +export declare function isArrayReply(reply: unknown): reply is ArrayReply; +export declare const transformBooleanReply: { + 2: (reply: NumberReply<0 | 1>) => boolean; + 3: () => BooleanReply; +}; +export declare const transformBooleanArrayReply: { + 2: (reply: ArrayReply>) => boolean[]; + 3: () => ArrayReply; +}; +export type BitValue = 0 | 1; +export declare function transformDoubleArgument(num: number): string; +export declare function transformStringDoubleArgument(num: RedisArgument | number): RedisArgument; +export declare const transformDoubleReply: { + 2: (reply: BlobStringReply, preserve?: any, typeMapping?: TypeMapping) => DoubleReply; + 3: () => DoubleReply; +}; +export declare function createTransformDoubleReplyResp2Func(preserve?: any, typeMapping?: TypeMapping): (reply: BlobStringReply) => DoubleReply; +export declare const transformDoubleArrayReply: { + 2: (reply: Array, preserve?: any, typeMapping?: TypeMapping) => DoubleReply[]; + 3: () => ArrayReply; +}; +export declare function createTransformNullableDoubleReplyResp2Func(preserve?: any, typeMapping?: TypeMapping): (reply: BlobStringReply | NullReply) => DoubleReply | null; +export declare const transformNullableDoubleReply: { + 2: (reply: BlobStringReply | NullReply, preserve?: any, typeMapping?: TypeMapping) => DoubleReply | null; + 3: () => DoubleReply | NullReply; +}; +export interface Stringable { + toString(): string; +} +export declare function transformTuplesToMap(reply: UnwrapReply>, func: (elem: any) => T): any; +export declare function createTransformTuplesReplyFunc(preserve?: any, typeMapping?: TypeMapping): (reply: ArrayReply) => MapReply; +export declare function transformTuplesReply(reply: ArrayReply, preserve?: any, typeMapping?: TypeMapping): MapReply; +export interface SortedSetMember { + value: RedisArgument; + score: number; +} +export type SortedSetSide = 'MIN' | 'MAX'; +export declare const transformSortedSetReply: { + 2: (reply: ArrayReply, preserve?: any, typeMapping?: TypeMapping) => { + value: BlobStringReply; + score: DoubleReply; + }[]; + 3: (reply: ArrayReply>) => { + value: BlobStringReply; + score: DoubleReply; + }[]; +}; +export type ListSide = 'LEFT' | 'RIGHT'; +export declare function transformEXAT(EXAT: number | Date): string; +export declare function transformPXAT(PXAT: number | Date): string; +export interface EvalOptions { + keys?: Array; + arguments?: Array; +} +export declare function evalFirstKeyIndex(options?: EvalOptions): string | undefined; +export declare function pushEvalArguments(args: Array, options?: EvalOptions): Array; +export declare function pushVariadicArguments(args: CommandArguments, value: RedisVariadicArgument): CommandArguments; +export declare function pushVariadicNumberArguments(args: CommandArguments, value: number | Array): CommandArguments; +export type RedisVariadicArgument = RedisArgument | Array; +export declare function pushVariadicArgument(args: Array, value: RedisVariadicArgument): CommandArguments; +export declare function parseOptionalVariadicArgument(parser: CommandParser, name: RedisArgument, value?: RedisVariadicArgument): void; +export declare enum CommandFlags { + WRITE = "write",// command may result in modifications + READONLY = "readonly",// command will never modify keys + DENYOOM = "denyoom",// reject command if currently out of memory + ADMIN = "admin",// server admin command + PUBSUB = "pubsub",// pubsub-related command + NOSCRIPT = "noscript",// deny this command from scripts + RANDOM = "random",// command has random results, dangerous for scripts + SORT_FOR_SCRIPT = "sort_for_script",// if called from script, sort output + LOADING = "loading",// allow command while database is loading + STALE = "stale",// allow command while replica has stale data + SKIP_MONITOR = "skip_monitor",// do not show this command in MONITOR + ASKING = "asking",// cluster related - accept even if importing + FAST = "fast",// command operates in constant or log(N) time. Used for latency monitoring. + MOVABLEKEYS = "movablekeys" +} +export declare enum CommandCategories { + KEYSPACE = "@keyspace", + READ = "@read", + WRITE = "@write", + SET = "@set", + SORTEDSET = "@sortedset", + LIST = "@list", + HASH = "@hash", + STRING = "@string", + BITMAP = "@bitmap", + HYPERLOGLOG = "@hyperloglog", + GEO = "@geo", + STREAM = "@stream", + PUBSUB = "@pubsub", + ADMIN = "@admin", + FAST = "@fast", + SLOW = "@slow", + BLOCKING = "@blocking", + DANGEROUS = "@dangerous", + CONNECTION = "@connection", + TRANSACTION = "@transaction", + SCRIPTING = "@scripting" +} +export type CommandRawReply = [ + name: string, + arity: number, + flags: Array, + firstKeyIndex: number, + lastKeyIndex: number, + step: number, + categories: Array +]; +export type CommandReply = { + name: string; + arity: number; + flags: Set; + firstKeyIndex: number; + lastKeyIndex: number; + step: number; + categories: Set; +}; +export declare function transformCommandReply(this: void, [name, arity, flags, firstKeyIndex, lastKeyIndex, step, categories]: CommandRawReply): CommandReply; +export declare enum RedisFunctionFlags { + NO_WRITES = "no-writes", + ALLOW_OOM = "allow-oom", + ALLOW_STALE = "allow-stale", + NO_CLUSTER = "no-cluster" +} +export type FunctionListRawItemReply = [ + 'library_name', + string, + 'engine', + string, + 'functions', + Array<[ + 'name', + string, + 'description', + string | null, + 'flags', + Array + ]> +]; +export interface FunctionListItemReply { + libraryName: string; + engine: string; + functions: Array<{ + name: string; + description: string | null; + flags: Array; + }>; +} +export declare function transformFunctionListItemReply(reply: FunctionListRawItemReply): FunctionListItemReply; +export interface SlotRange { + start: number; + end: number; +} +export declare function parseSlotRangesArguments(parser: CommandParser, ranges: SlotRange | Array): void; +export type RawRangeReply = [ + start: number, + end: number +]; +export interface RangeReply { + start: number; + end: number; +} +export declare function transformRangeReply([start, end]: RawRangeReply): RangeReply; +export type ZKeyAndWeight = { + key: RedisArgument; + weight: number; +}; +export type ZVariadicKeys = T | [T, ...Array]; +export type ZKeys = ZVariadicKeys | ZVariadicKeys; +export declare function parseZKeysArguments(parser: CommandParser, keys: ZKeys): void; +export type Tail = T extends [infer Head, ...infer Tail] ? Tail : never; +/** + * @deprecated + */ +export declare function parseArgs(command: Command, ...args: Array): CommandArguments; +export type StreamMessageRawReply = TuplesReply<[ + id: BlobStringReply, + message: ArrayReply, + millisElapsedFromDelivery?: NumberReply, + deliveriesCounter?: NumberReply +]>; +export type StreamMessageReply = { + id: BlobStringReply; + message: MapReply; + millisElapsedFromDelivery?: NumberReply; + deliveriesCounter?: NumberReply; +}; +export declare function transformStreamMessageReply(typeMapping: TypeMapping | undefined, reply: StreamMessageRawReply): StreamMessageReply; +export declare function transformStreamMessageNullReply(typeMapping: TypeMapping | undefined, reply: StreamMessageRawReply | NullReply): NullReply | StreamMessageReply; +export type StreamMessagesReply = Array; +export type StreamsMessagesReply = Array<{ + name: BlobStringReply | string; + messages: StreamMessagesReply; +}> | null; +export declare function transformStreamMessagesReply(r: ArrayReply, typeMapping?: TypeMapping): StreamMessagesReply; +type StreamMessagesRawReply = TuplesReply<[name: BlobStringReply, ArrayReply]>; +type StreamsMessagesRawReply2 = ArrayReply; +export declare function transformStreamsMessagesReplyResp2(reply: UnwrapReply, preserve?: any, typeMapping?: TypeMapping): StreamsMessagesReply | NullReply; +type StreamsMessagesRawReply3 = MapReply>; +export declare function transformStreamsMessagesReplyResp3(reply: UnwrapReply): MapReply | NullReply; +export type RedisJSON = null | boolean | number | string | Date | Array | { + [key: string]: RedisJSON; + [key: number]: RedisJSON; +}; +export declare function transformRedisJsonArgument(json: RedisJSON): string; +export declare function transformRedisJsonReply(json: BlobStringReply): RedisJSON; +export declare function transformRedisJsonNullReply(json: NullReply | BlobStringReply): NullReply | RedisJSON; +export {}; +//# sourceMappingURL=generic-transformers.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/generic-transformers.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/generic-transformers.d.ts.map new file mode 100644 index 0000000..9a05f4a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/generic-transformers.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"generic-transformers.d.ts","sourceRoot":"","sources":["../../../lib/commands/generic-transformers.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/generic-transformers.js b/back/node_modules/@redis/client/dist/lib/commands/generic-transformers.js new file mode 100644 index 0000000..2b6b27d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/generic-transformers.js @@ -0,0 +1,489 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.transformRedisJsonNullReply = exports.transformRedisJsonReply = exports.transformRedisJsonArgument = exports.transformStreamsMessagesReplyResp3 = exports.transformStreamsMessagesReplyResp2 = exports.transformStreamMessagesReply = exports.transformStreamMessageNullReply = exports.transformStreamMessageReply = exports.parseArgs = exports.parseZKeysArguments = exports.transformRangeReply = exports.parseSlotRangesArguments = exports.transformFunctionListItemReply = exports.RedisFunctionFlags = exports.transformCommandReply = exports.CommandCategories = exports.CommandFlags = exports.parseOptionalVariadicArgument = exports.pushVariadicArgument = exports.pushVariadicNumberArguments = exports.pushVariadicArguments = exports.pushEvalArguments = exports.evalFirstKeyIndex = exports.transformPXAT = exports.transformEXAT = exports.transformSortedSetReply = exports.transformTuplesReply = exports.createTransformTuplesReplyFunc = exports.transformTuplesToMap = exports.transformNullableDoubleReply = exports.createTransformNullableDoubleReplyResp2Func = exports.transformDoubleArrayReply = exports.createTransformDoubleReplyResp2Func = exports.transformDoubleReply = exports.transformStringDoubleArgument = exports.transformDoubleArgument = exports.transformBooleanArrayReply = exports.transformBooleanReply = exports.isArrayReply = exports.isNullReply = void 0; +const parser_1 = require("../client/parser"); +const decoder_1 = require("../RESP/decoder"); +function isNullReply(reply) { + return reply === null; +} +exports.isNullReply = isNullReply; +function isArrayReply(reply) { + return Array.isArray(reply); +} +exports.isArrayReply = isArrayReply; +exports.transformBooleanReply = { + 2: (reply) => reply === 1, + 3: undefined +}; +exports.transformBooleanArrayReply = { + 2: (reply) => { + return reply.map(exports.transformBooleanReply[2]); + }, + 3: undefined +}; +function transformDoubleArgument(num) { + switch (num) { + case Infinity: + return '+inf'; + case -Infinity: + return '-inf'; + default: + return num.toString(); + } +} +exports.transformDoubleArgument = transformDoubleArgument; +function transformStringDoubleArgument(num) { + if (typeof num !== 'number') + return num; + return transformDoubleArgument(num); +} +exports.transformStringDoubleArgument = transformStringDoubleArgument; +exports.transformDoubleReply = { + 2: (reply, preserve, typeMapping) => { + const double = typeMapping ? typeMapping[decoder_1.RESP_TYPES.DOUBLE] : undefined; + switch (double) { + case String: { + return reply; + } + default: { + let ret; + switch (reply.toString()) { + case 'inf': + case '+inf': + ret = Infinity; + case '-inf': + ret = -Infinity; + case 'nan': + ret = NaN; + default: + ret = Number(reply); + } + return ret; + } + } + }, + 3: undefined +}; +function createTransformDoubleReplyResp2Func(preserve, typeMapping) { + return (reply) => { + return exports.transformDoubleReply[2](reply, preserve, typeMapping); + }; +} +exports.createTransformDoubleReplyResp2Func = createTransformDoubleReplyResp2Func; +exports.transformDoubleArrayReply = { + 2: (reply, preserve, typeMapping) => { + return reply.map(createTransformDoubleReplyResp2Func(preserve, typeMapping)); + }, + 3: undefined +}; +function createTransformNullableDoubleReplyResp2Func(preserve, typeMapping) { + return (reply) => { + return exports.transformNullableDoubleReply[2](reply, preserve, typeMapping); + }; +} +exports.createTransformNullableDoubleReplyResp2Func = createTransformNullableDoubleReplyResp2Func; +exports.transformNullableDoubleReply = { + 2: (reply, preserve, typeMapping) => { + if (reply === null) + return null; + return exports.transformDoubleReply[2](reply, preserve, typeMapping); + }, + 3: undefined +}; +function transformTuplesToMap(reply, func) { + const message = Object.create(null); + for (let i = 0; i < reply.length; i += 2) { + message[reply[i].toString()] = func(reply[i + 1]); + } + return message; +} +exports.transformTuplesToMap = transformTuplesToMap; +function createTransformTuplesReplyFunc(preserve, typeMapping) { + return (reply) => { + return transformTuplesReply(reply, preserve, typeMapping); + }; +} +exports.createTransformTuplesReplyFunc = createTransformTuplesReplyFunc; +function transformTuplesReply(reply, preserve, typeMapping) { + const mapType = typeMapping ? typeMapping[decoder_1.RESP_TYPES.MAP] : undefined; + const inferred = reply; + switch (mapType) { + case Array: { + return reply; + } + case Map: { + const ret = new Map; + for (let i = 0; i < inferred.length; i += 2) { + ret.set(inferred[i].toString(), inferred[i + 1]); + } + return ret; + ; + } + default: { + const ret = Object.create(null); + for (let i = 0; i < inferred.length; i += 2) { + ret[inferred[i].toString()] = inferred[i + 1]; + } + return ret; + ; + } + } +} +exports.transformTuplesReply = transformTuplesReply; +exports.transformSortedSetReply = { + 2: (reply, preserve, typeMapping) => { + const inferred = reply, members = []; + for (let i = 0; i < inferred.length; i += 2) { + members.push({ + value: inferred[i], + score: exports.transformDoubleReply[2](inferred[i + 1], preserve, typeMapping) + }); + } + return members; + }, + 3: (reply) => { + return reply.map(member => { + const [value, score] = member; + return { + value, + score + }; + }); + } +}; +function transformEXAT(EXAT) { + return (typeof EXAT === 'number' ? EXAT : Math.floor(EXAT.getTime() / 1000)).toString(); +} +exports.transformEXAT = transformEXAT; +function transformPXAT(PXAT) { + return (typeof PXAT === 'number' ? PXAT : PXAT.getTime()).toString(); +} +exports.transformPXAT = transformPXAT; +function evalFirstKeyIndex(options) { + return options?.keys?.[0]; +} +exports.evalFirstKeyIndex = evalFirstKeyIndex; +function pushEvalArguments(args, options) { + if (options?.keys) { + args.push(options.keys.length.toString(), ...options.keys); + } + else { + args.push('0'); + } + if (options?.arguments) { + args.push(...options.arguments); + } + return args; +} +exports.pushEvalArguments = pushEvalArguments; +function pushVariadicArguments(args, value) { + if (Array.isArray(value)) { + // https://github.com/redis/node-redis/pull/2160 + args = args.concat(value); + } + else { + args.push(value); + } + return args; +} +exports.pushVariadicArguments = pushVariadicArguments; +function pushVariadicNumberArguments(args, value) { + if (Array.isArray(value)) { + for (const item of value) { + args.push(item.toString()); + } + } + else { + args.push(value.toString()); + } + return args; +} +exports.pushVariadicNumberArguments = pushVariadicNumberArguments; +function pushVariadicArgument(args, value) { + if (Array.isArray(value)) { + args.push(value.length.toString(), ...value); + } + else { + args.push('1', value); + } + return args; +} +exports.pushVariadicArgument = pushVariadicArgument; +function parseOptionalVariadicArgument(parser, name, value) { + if (value === undefined) + return; + parser.push(name); + parser.pushVariadicWithLength(value); +} +exports.parseOptionalVariadicArgument = parseOptionalVariadicArgument; +var CommandFlags; +(function (CommandFlags) { + CommandFlags["WRITE"] = "write"; + CommandFlags["READONLY"] = "readonly"; + CommandFlags["DENYOOM"] = "denyoom"; + CommandFlags["ADMIN"] = "admin"; + CommandFlags["PUBSUB"] = "pubsub"; + CommandFlags["NOSCRIPT"] = "noscript"; + CommandFlags["RANDOM"] = "random"; + CommandFlags["SORT_FOR_SCRIPT"] = "sort_for_script"; + CommandFlags["LOADING"] = "loading"; + CommandFlags["STALE"] = "stale"; + CommandFlags["SKIP_MONITOR"] = "skip_monitor"; + CommandFlags["ASKING"] = "asking"; + CommandFlags["FAST"] = "fast"; + CommandFlags["MOVABLEKEYS"] = "movablekeys"; // keys have no pre-determined position. You must discover keys yourself. +})(CommandFlags || (exports.CommandFlags = CommandFlags = {})); +var CommandCategories; +(function (CommandCategories) { + CommandCategories["KEYSPACE"] = "@keyspace"; + CommandCategories["READ"] = "@read"; + CommandCategories["WRITE"] = "@write"; + CommandCategories["SET"] = "@set"; + CommandCategories["SORTEDSET"] = "@sortedset"; + CommandCategories["LIST"] = "@list"; + CommandCategories["HASH"] = "@hash"; + CommandCategories["STRING"] = "@string"; + CommandCategories["BITMAP"] = "@bitmap"; + CommandCategories["HYPERLOGLOG"] = "@hyperloglog"; + CommandCategories["GEO"] = "@geo"; + CommandCategories["STREAM"] = "@stream"; + CommandCategories["PUBSUB"] = "@pubsub"; + CommandCategories["ADMIN"] = "@admin"; + CommandCategories["FAST"] = "@fast"; + CommandCategories["SLOW"] = "@slow"; + CommandCategories["BLOCKING"] = "@blocking"; + CommandCategories["DANGEROUS"] = "@dangerous"; + CommandCategories["CONNECTION"] = "@connection"; + CommandCategories["TRANSACTION"] = "@transaction"; + CommandCategories["SCRIPTING"] = "@scripting"; +})(CommandCategories || (exports.CommandCategories = CommandCategories = {})); +function transformCommandReply([name, arity, flags, firstKeyIndex, lastKeyIndex, step, categories]) { + return { + name, + arity, + flags: new Set(flags), + firstKeyIndex, + lastKeyIndex, + step, + categories: new Set(categories) + }; +} +exports.transformCommandReply = transformCommandReply; +var RedisFunctionFlags; +(function (RedisFunctionFlags) { + RedisFunctionFlags["NO_WRITES"] = "no-writes"; + RedisFunctionFlags["ALLOW_OOM"] = "allow-oom"; + RedisFunctionFlags["ALLOW_STALE"] = "allow-stale"; + RedisFunctionFlags["NO_CLUSTER"] = "no-cluster"; +})(RedisFunctionFlags || (exports.RedisFunctionFlags = RedisFunctionFlags = {})); +function transformFunctionListItemReply(reply) { + return { + libraryName: reply[1], + engine: reply[3], + functions: reply[5].map(fn => ({ + name: fn[1], + description: fn[3], + flags: fn[5] + })) + }; +} +exports.transformFunctionListItemReply = transformFunctionListItemReply; +function parseSlotRangeArguments(parser, range) { + parser.push(range.start.toString(), range.end.toString()); +} +function parseSlotRangesArguments(parser, ranges) { + if (Array.isArray(ranges)) { + for (const range of ranges) { + parseSlotRangeArguments(parser, range); + } + } + else { + parseSlotRangeArguments(parser, ranges); + } +} +exports.parseSlotRangesArguments = parseSlotRangesArguments; +function transformRangeReply([start, end]) { + return { + start, + end + }; +} +exports.transformRangeReply = transformRangeReply; +function parseZKeysArguments(parser, keys) { + if (Array.isArray(keys)) { + parser.push(keys.length.toString()); + if (keys.length) { + if (isPlainKeys(keys)) { + parser.pushKeys(keys); + } + else { + for (let i = 0; i < keys.length; i++) { + parser.pushKey(keys[i].key); + } + parser.push('WEIGHTS'); + for (let i = 0; i < keys.length; i++) { + parser.push(transformDoubleArgument(keys[i].weight)); + } + } + } + } + else { + parser.push('1'); + if (isPlainKey(keys)) { + parser.pushKey(keys); + } + else { + parser.pushKey(keys.key); + parser.push('WEIGHTS', transformDoubleArgument(keys.weight)); + } + } +} +exports.parseZKeysArguments = parseZKeysArguments; +function isPlainKey(key) { + return typeof key === 'string' || key instanceof Buffer; +} +function isPlainKeys(keys) { + return isPlainKey(keys[0]); +} +/** + * @deprecated + */ +function parseArgs(command, ...args) { + const parser = new parser_1.BasicCommandParser(); + command.parseCommand(parser, ...args); + const redisArgs = parser.redisArgs; + if (parser.preserve) { + redisArgs.preserve = parser.preserve; + } + return redisArgs; +} +exports.parseArgs = parseArgs; +function transformStreamMessageReply(typeMapping, reply) { + const [id, message, millisElapsedFromDelivery, deliveriesCounter] = reply; + return { + id: id, + message: transformTuplesReply(message, undefined, typeMapping), + ...(millisElapsedFromDelivery !== undefined ? { millisElapsedFromDelivery } : {}), + ...(deliveriesCounter !== undefined ? { deliveriesCounter } : {}) + }; +} +exports.transformStreamMessageReply = transformStreamMessageReply; +function transformStreamMessageNullReply(typeMapping, reply) { + return isNullReply(reply) ? reply : transformStreamMessageReply(typeMapping, reply); +} +exports.transformStreamMessageNullReply = transformStreamMessageNullReply; +function transformStreamMessagesReply(r, typeMapping) { + const reply = r; + return reply.map(transformStreamMessageReply.bind(undefined, typeMapping)); +} +exports.transformStreamMessagesReply = transformStreamMessagesReply; +function transformStreamsMessagesReplyResp2(reply, preserve, typeMapping) { + // FUTURE: resposne type if resp3 was working, reverting to old v4 for now + //: MapReply | NullReply { + if (reply === null) + return null; + switch (typeMapping ? typeMapping[decoder_1.RESP_TYPES.MAP] : undefined) { + /* FUTURE: a response type for when resp3 is working properly + case Map: { + const ret = new Map(); + + for (let i=0; i < reply.length; i++) { + const stream = reply[i] as unknown as UnwrapReply; + + const name = stream[0]; + const rawMessages = stream[1]; + + ret.set(name.toString(), transformStreamMessagesReply(rawMessages, typeMapping)); + } + + return ret as unknown as MapReply; + } + case Array: { + const ret: Array = []; + + for (let i=0; i < reply.length; i++) { + const stream = reply[i] as unknown as UnwrapReply; + + const name = stream[0]; + const rawMessages = stream[1]; + + ret.push(name); + ret.push(transformStreamMessagesReply(rawMessages, typeMapping)); + } + + return ret as unknown as MapReply; + } + default: { + const ret: Record = Object.create(null); + + for (let i=0; i < reply.length; i++) { + const stream = reply[i] as unknown as UnwrapReply; + + const name = stream[0] as unknown as UnwrapReply; + const rawMessages = stream[1]; + + ret[name.toString()] = transformStreamMessagesReply(rawMessages); + } + + return ret as unknown as MapReply; + } + */ + // V4 compatible response type + default: { + const ret = []; + for (let i = 0; i < reply.length; i++) { + const stream = reply[i]; + ret.push({ + name: stream[0], + messages: transformStreamMessagesReply(stream[1]) + }); + } + return ret; + } + } +} +exports.transformStreamsMessagesReplyResp2 = transformStreamsMessagesReplyResp2; +function transformStreamsMessagesReplyResp3(reply) { + if (reply === null) + return null; + if (reply instanceof Map) { + const ret = new Map(); + for (const [n, rawMessages] of reply) { + const name = n; + ret.set(name.toString(), transformStreamMessagesReply(rawMessages)); + } + return ret; + } + else if (reply instanceof Array) { + const ret = []; + for (let i = 0; i < reply.length; i += 2) { + const name = reply[i]; + const rawMessages = reply[i + 1]; + ret.push(name); + ret.push(transformStreamMessagesReply(rawMessages)); + } + return ret; + } + else { + const ret = Object.create(null); + for (const [name, rawMessages] of Object.entries(reply)) { + ret[name] = transformStreamMessagesReply(rawMessages); + } + return ret; + } +} +exports.transformStreamsMessagesReplyResp3 = transformStreamsMessagesReplyResp3; +function transformRedisJsonArgument(json) { + return JSON.stringify(json); +} +exports.transformRedisJsonArgument = transformRedisJsonArgument; +function transformRedisJsonReply(json) { + const res = JSON.parse(json.toString()); + return res; +} +exports.transformRedisJsonReply = transformRedisJsonReply; +function transformRedisJsonNullReply(json) { + return isNullReply(json) ? json : transformRedisJsonReply(json); +} +exports.transformRedisJsonNullReply = transformRedisJsonNullReply; +//# sourceMappingURL=generic-transformers.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/generic-transformers.js.map b/back/node_modules/@redis/client/dist/lib/commands/generic-transformers.js.map new file mode 100644 index 0000000..0825a01 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/generic-transformers.js.map @@ -0,0 +1 @@ +{"version":3,"file":"generic-transformers.js","sourceRoot":"","sources":["../../../lib/commands/generic-transformers.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/index.d.ts b/back/node_modules/@redis/client/dist/lib/commands/index.d.ts new file mode 100644 index 0000000..c93e60b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/index.d.ts @@ -0,0 +1,9997 @@ +import { CLIENT_KILL_FILTERS } from './CLIENT_KILL'; +import { FAILOVER_MODES } from './CLUSTER_FAILOVER'; +import { CLUSTER_SLOT_STATES } from './CLUSTER_SETSLOT'; +import { COMMAND_LIST_FILTER_BY } from './COMMAND_LIST'; +import { REDIS_FLUSH_MODES } from './FLUSHALL'; +export { CLIENT_KILL_FILTERS, FAILOVER_MODES, CLUSTER_SLOT_STATES, COMMAND_LIST_FILTER_BY, REDIS_FLUSH_MODES }; +export { SetOptions } from './SET'; +declare const _default: { + readonly ACL_CAT: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, categoryName?: import("../RESP/types").RedisArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly aclCat: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, categoryName?: import("../RESP/types").RedisArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly ACL_DELUSER: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, username: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly aclDelUser: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, username: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly ACL_DRYRUN: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, username: import("../RESP/types").RedisArgument, command: import("../RESP/types").RedisArgument[]) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply | import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly aclDryRun: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, username: import("../RESP/types").RedisArgument, command: import("../RESP/types").RedisArgument[]) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply | import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly ACL_GENPASS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, bits?: number | undefined) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly aclGenPass: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, bits?: number | undefined) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly ACL_GETUSER: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, username: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: [import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>, import("../RESP/types").BlobStringReply<"passwords">, import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>, import("../RESP/types").BlobStringReply<"commands">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"keys">, import("../RESP/types").BlobStringReply | import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>, import("../RESP/types").BlobStringReply<"channels">, import("../RESP/types").BlobStringReply | import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>, import("../RESP/types").BlobStringReply<"selectors">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"commands">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"keys">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"channels">, import("../RESP/types").BlobStringReply], never, [import("../RESP/types").BlobStringReply<"commands">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"keys">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"channels">, import("../RESP/types").BlobStringReply]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"commands">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"keys">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"channels">, import("../RESP/types").BlobStringReply], never, [import("../RESP/types").BlobStringReply<"commands">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"keys">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"channels">, import("../RESP/types").BlobStringReply]>[]>]) => { + flags: import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + passwords: import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + commands: import("../RESP/types").BlobStringReply; + keys: import("../RESP/types").BlobStringReply | import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + channels: import("../RESP/types").BlobStringReply | import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + selectors: { + commands: import("../RESP/types").BlobStringReply; + keys: import("../RESP/types").BlobStringReply; + channels: import("../RESP/types").BlobStringReply; + }[]; + }; + readonly 3: () => import("../RESP/types").TuplesToMapReply<[[import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").ArrayReply>], [import("../RESP/types").BlobStringReply<"passwords">, import("../RESP/types").ArrayReply>], [import("../RESP/types").BlobStringReply<"commands">, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"keys">, import("../RESP/types").ArrayReply> | import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"channels">, import("../RESP/types").ArrayReply> | import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"selectors">, import("../RESP/types").ArrayReply, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"keys">, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"channels">, import("../RESP/types").BlobStringReply]]>>]]>; + }; + }; + readonly aclGetUser: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, username: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: [import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>, import("../RESP/types").BlobStringReply<"passwords">, import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>, import("../RESP/types").BlobStringReply<"commands">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"keys">, import("../RESP/types").BlobStringReply | import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>, import("../RESP/types").BlobStringReply<"channels">, import("../RESP/types").BlobStringReply | import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>, import("../RESP/types").BlobStringReply<"selectors">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"commands">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"keys">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"channels">, import("../RESP/types").BlobStringReply], never, [import("../RESP/types").BlobStringReply<"commands">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"keys">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"channels">, import("../RESP/types").BlobStringReply]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"commands">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"keys">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"channels">, import("../RESP/types").BlobStringReply], never, [import("../RESP/types").BlobStringReply<"commands">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"keys">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"channels">, import("../RESP/types").BlobStringReply]>[]>]) => { + flags: import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + passwords: import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + commands: import("../RESP/types").BlobStringReply; + keys: import("../RESP/types").BlobStringReply | import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + channels: import("../RESP/types").BlobStringReply | import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + selectors: { + commands: import("../RESP/types").BlobStringReply; + keys: import("../RESP/types").BlobStringReply; + channels: import("../RESP/types").BlobStringReply; + }[]; + }; + readonly 3: () => import("../RESP/types").TuplesToMapReply<[[import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").ArrayReply>], [import("../RESP/types").BlobStringReply<"passwords">, import("../RESP/types").ArrayReply>], [import("../RESP/types").BlobStringReply<"commands">, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"keys">, import("../RESP/types").ArrayReply> | import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"channels">, import("../RESP/types").ArrayReply> | import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"selectors">, import("../RESP/types").ArrayReply, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"keys">, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"channels">, import("../RESP/types").BlobStringReply]]>>]]>; + }; + }; + readonly ACL_LIST: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly aclList: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly ACL_LOAD: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly aclLoad: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly ACL_LOG_RESET: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly aclLogReset: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly ACL_LOG: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, count?: number | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"count">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"reason">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"context">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"object">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"username">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"age-seconds">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"client-info">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"entry-id">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"timestamp-created">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"timestamp-last-updated">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"count">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"reason">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"context">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"object">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"username">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"age-seconds">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"client-info">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"entry-id">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"timestamp-created">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"timestamp-last-updated">, import("../RESP/types").NumberReply]>[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + count: import("../RESP/types").NumberReply; + reason: import("../RESP/types").BlobStringReply; + context: import("../RESP/types").BlobStringReply; + object: import("../RESP/types").BlobStringReply; + username: import("../RESP/types").BlobStringReply; + 'age-seconds': import("../RESP/types").DoubleReply; + 'client-info': import("../RESP/types").BlobStringReply; + 'entry-id': import("../RESP/types").NumberReply; + 'timestamp-created': import("../RESP/types").NumberReply; + 'timestamp-last-updated': import("../RESP/types").NumberReply; + }[]; + readonly 3: () => import("./ACL_LOG").AclLogReply; + }; + }; + readonly aclLog: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, count?: number | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"count">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"reason">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"context">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"object">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"username">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"age-seconds">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"client-info">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"entry-id">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"timestamp-created">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"timestamp-last-updated">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"count">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"reason">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"context">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"object">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"username">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"age-seconds">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"client-info">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"entry-id">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"timestamp-created">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"timestamp-last-updated">, import("../RESP/types").NumberReply]>[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + count: import("../RESP/types").NumberReply; + reason: import("../RESP/types").BlobStringReply; + context: import("../RESP/types").BlobStringReply; + object: import("../RESP/types").BlobStringReply; + username: import("../RESP/types").BlobStringReply; + 'age-seconds': import("../RESP/types").DoubleReply; + 'client-info': import("../RESP/types").BlobStringReply; + 'entry-id': import("../RESP/types").NumberReply; + 'timestamp-created': import("../RESP/types").NumberReply; + 'timestamp-last-updated': import("../RESP/types").NumberReply; + }[]; + readonly 3: () => import("./ACL_LOG").AclLogReply; + }; + }; + readonly ACL_SAVE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly aclSave: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly ACL_SETUSER: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, username: import("../RESP/types").RedisArgument, rule: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly aclSetUser: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, username: import("../RESP/types").RedisArgument, rule: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly ACL_USERS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly aclUsers: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly ACL_WHOAMI: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly aclWhoAmI: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly APPEND: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, value: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly append: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, value: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly ASKING: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly asking: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly AUTH: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, { username, password }: import("./AUTH").AuthOptions) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly auth: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, { username, password }: import("./AUTH").AuthOptions) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly BGREWRITEAOF: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly bgRewriteAof: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly BGSAVE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, options?: import("./BGSAVE").BgSaveOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly bgSave: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, options?: import("./BGSAVE").BgSaveOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly BITCOUNT: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, range?: import("./BITCOUNT").BitCountRange | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly bitCount: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, range?: import("./BITCOUNT").BitCountRange | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly BITFIELD_RO: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, operations: import("./BITFIELD_RO").BitFieldRoOperations) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly bitFieldRo: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, operations: import("./BITFIELD_RO").BitFieldRoOperations) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly BITFIELD: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, operations: import("./BITFIELD").BitFieldOperations) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly bitField: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, operations: import("./BITFIELD").BitFieldOperations) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly BITOP: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, operation: import("./BITOP").BitOperations, destKey: import("../RESP/types").RedisArgument, key: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly bitOp: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, operation: import("./BITOP").BitOperations, destKey: import("../RESP/types").RedisArgument, key: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly BITPOS: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, bit: import("./generic-transformers").BitValue, start?: number | undefined, end?: number | undefined, mode?: "BYTE" | "BIT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly bitPos: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, bit: import("./generic-transformers").BitValue, start?: number | undefined, end?: number | undefined, mode?: "BYTE" | "BIT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly BLMOVE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, source: import("../RESP/types").RedisArgument, destination: import("../RESP/types").RedisArgument, sourceSide: import("./generic-transformers").ListSide, destinationSide: import("./generic-transformers").ListSide, timeout: number) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly blMove: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, source: import("../RESP/types").RedisArgument, destination: import("../RESP/types").RedisArgument, sourceSide: import("./generic-transformers").ListSide, destinationSide: import("./generic-transformers").ListSide, timeout: number) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly BLMPOP: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, timeout: number, keys: import("./generic-transformers").RedisVariadicArgument, side: import("./generic-transformers").ListSide, options?: import("./LMPOP").LMPopOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").TuplesReply<[key: import("../RESP/types").BlobStringReply, elements: import("../RESP/types").BlobStringReply[]]>; + }; + readonly blmPop: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, timeout: number, keys: import("./generic-transformers").RedisVariadicArgument, side: import("./generic-transformers").ListSide, options?: import("./LMPOP").LMPopOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").TuplesReply<[key: import("../RESP/types").BlobStringReply, elements: import("../RESP/types").BlobStringReply[]]>; + }; + readonly BLPOP: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("./generic-transformers").RedisVariadicArgument, timeout: number) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply]>>) => { + key: import("../RESP/types").BlobStringReply; + element: import("../RESP/types").BlobStringReply; + } | null; + }; + readonly blPop: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("./generic-transformers").RedisVariadicArgument, timeout: number) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply]>>) => { + key: import("../RESP/types").BlobStringReply; + element: import("../RESP/types").BlobStringReply; + } | null; + }; + readonly BRPOP: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("./generic-transformers").RedisVariadicArgument, timeout: number) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply]>>) => { + key: import("../RESP/types").BlobStringReply; + element: import("../RESP/types").BlobStringReply; + } | null; + }; + readonly brPop: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("./generic-transformers").RedisVariadicArgument, timeout: number) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply]>>) => { + key: import("../RESP/types").BlobStringReply; + element: import("../RESP/types").BlobStringReply; + } | null; + }; + readonly BRPOPLPUSH: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, source: import("../RESP/types").RedisArgument, destination: import("../RESP/types").RedisArgument, timeout: number) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly brPopLPush: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, source: import("../RESP/types").RedisArgument, destination: import("../RESP/types").RedisArgument, timeout: number) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly BZMPOP: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, timeout: number, keys: import("./generic-transformers").RedisVariadicArgument, side: import("./generic-transformers").SortedSetSide, options?: import("./ZMPOP").ZMPopOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("../RESP/types").UnwrapReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + key: import("../RESP/types").BlobStringReply; + members: { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + } | null; + readonly 3: (this: void, reply: import("../RESP/types").UnwrapReply) => { + key: import("../RESP/types").BlobStringReply; + members: { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + } | null; + }; + }; + readonly bzmPop: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, timeout: number, keys: import("./generic-transformers").RedisVariadicArgument, side: import("./generic-transformers").SortedSetSide, options?: import("./ZMPOP").ZMPopOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("../RESP/types").UnwrapReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + key: import("../RESP/types").BlobStringReply; + members: { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + } | null; + readonly 3: (this: void, reply: import("../RESP/types").UnwrapReply) => { + key: import("../RESP/types").BlobStringReply; + members: { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + } | null; + }; + }; + readonly BZPOPMAX: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument, timeout: number) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply]>>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + key: import("../RESP/types").BlobStringReply; + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + readonly 3: (this: void, reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply, import("../RESP/types").DoubleReply]>>) => { + key: import("../RESP/types").BlobStringReply; + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + }; + }; + readonly bzPopMax: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument, timeout: number) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply]>>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + key: import("../RESP/types").BlobStringReply; + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + readonly 3: (this: void, reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply, import("../RESP/types").DoubleReply]>>) => { + key: import("../RESP/types").BlobStringReply; + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + }; + }; + readonly BZPOPMIN: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument, timeout: number) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply]>>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + key: import("../RESP/types").BlobStringReply; + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + readonly 3: (this: void, reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply, import("../RESP/types").DoubleReply]>>) => { + key: import("../RESP/types").BlobStringReply; + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + }; + }; + readonly bzPopMin: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument, timeout: number) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply]>>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + key: import("../RESP/types").BlobStringReply; + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + readonly 3: (this: void, reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply, import("../RESP/types").DoubleReply]>>) => { + key: import("../RESP/types").BlobStringReply; + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + }; + }; + readonly CLIENT_CACHING: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, value: boolean) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly clientCaching: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, value: boolean) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly CLIENT_GETNAME: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly clientGetName: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly CLIENT_GETREDIR: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly clientGetRedir: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly CLIENT_ID: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly clientId: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly CLIENT_INFO: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: (this: void, rawReply: import("../RESP/types").VerbatimStringReply) => import("./CLIENT_INFO").ClientInfoReply; + }; + readonly clientInfo: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: (this: void, rawReply: import("../RESP/types").VerbatimStringReply) => import("./CLIENT_INFO").ClientInfoReply; + }; + readonly CLIENT_KILL: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, filters: import("./CLIENT_KILL").ClientKillFilter | import("./CLIENT_KILL").ClientKillFilter[]) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly clientKill: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, filters: import("./CLIENT_KILL").ClientKillFilter | import("./CLIENT_KILL").ClientKillFilter[]) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly CLIENT_LIST: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, filter?: import("./CLIENT_LIST").ListFilter | undefined) => void; + readonly transformReply: (this: void, rawReply: import("../RESP/types").VerbatimStringReply) => import("./CLIENT_INFO").ClientInfoReply[]; + }; + readonly clientList: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, filter?: import("./CLIENT_LIST").ListFilter | undefined) => void; + readonly transformReply: (this: void, rawReply: import("../RESP/types").VerbatimStringReply) => import("./CLIENT_INFO").ClientInfoReply[]; + }; + readonly 'CLIENT_NO-EVICT': { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, value: boolean) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly clientNoEvict: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, value: boolean) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly 'CLIENT_NO-TOUCH': { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, value: boolean) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly clientNoTouch: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, value: boolean) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly CLIENT_PAUSE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, timeout: number, mode?: "WRITE" | "ALL" | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly clientPause: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, timeout: number, mode?: "WRITE" | "ALL" | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly CLIENT_SETNAME: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, name: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly clientSetName: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, name: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly CLIENT_TRACKING: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("../..").CommandParser, mode: M, options?: (M extends true ? import("./CLIENT_TRACKING").ClientTrackingOptions : never) | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly clientTracking: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("../..").CommandParser, mode: M, options?: (M extends true ? import("./CLIENT_TRACKING").ClientTrackingOptions : never) | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly CLIENT_TRACKINGINFO: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: { + readonly 2: (reply: [import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>, import("../RESP/types").BlobStringReply<"redirect">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"prefixes">, import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]) => { + flags: import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + redirect: import("../RESP/types").NumberReply; + prefixes: import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + }; + readonly 3: () => import("../RESP/types").TuplesToMapReply<[[import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").SetReply>], [import("../RESP/types").BlobStringReply<"redirect">, import("../RESP/types").NumberReply], [import("../RESP/types").BlobStringReply<"prefixes">, import("../RESP/types").ArrayReply>]]>; + }; + }; + readonly clientTrackingInfo: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: { + readonly 2: (reply: [import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>, import("../RESP/types").BlobStringReply<"redirect">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"prefixes">, import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]) => { + flags: import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + redirect: import("../RESP/types").NumberReply; + prefixes: import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + }; + readonly 3: () => import("../RESP/types").TuplesToMapReply<[[import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").SetReply>], [import("../RESP/types").BlobStringReply<"redirect">, import("../RESP/types").NumberReply], [import("../RESP/types").BlobStringReply<"prefixes">, import("../RESP/types").ArrayReply>]]>; + }; + }; + readonly CLIENT_UNPAUSE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly clientUnpause: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly CLUSTER_ADDSLOTS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, slots: number | number[]) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly clusterAddSlots: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, slots: number | number[]) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly CLUSTER_ADDSLOTSRANGE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, ranges: import("./generic-transformers").SlotRange | import("./generic-transformers").SlotRange[]) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly clusterAddSlotsRange: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, ranges: import("./generic-transformers").SlotRange | import("./generic-transformers").SlotRange[]) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly CLUSTER_BUMPEPOCH: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"BUMPED" | "STILL">; + }; + readonly clusterBumpEpoch: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"BUMPED" | "STILL">; + }; + readonly 'CLUSTER_COUNT-FAILURE-REPORTS': { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, nodeId: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly clusterCountFailureReports: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, nodeId: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly CLUSTER_COUNTKEYSINSLOT: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, slot: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly clusterCountKeysInSlot: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, slot: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly CLUSTER_DELSLOTS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, slots: number | number[]) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly clusterDelSlots: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, slots: number | number[]) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly CLUSTER_DELSLOTSRANGE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, ranges: import("./generic-transformers").SlotRange | import("./generic-transformers").SlotRange[]) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly clusterDelSlotsRange: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, ranges: import("./generic-transformers").SlotRange | import("./generic-transformers").SlotRange[]) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly CLUSTER_FAILOVER: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, options?: import("./CLUSTER_FAILOVER").ClusterFailoverOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly clusterFailover: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, options?: import("./CLUSTER_FAILOVER").ClusterFailoverOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly CLUSTER_FLUSHSLOTS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly clusterFlushSlots: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly CLUSTER_FORGET: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, nodeId: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly clusterForget: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, nodeId: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly CLUSTER_GETKEYSINSLOT: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, slot: number, count: number) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly clusterGetKeysInSlot: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, slot: number, count: number) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly CLUSTER_INFO: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").VerbatimStringReply; + }; + readonly clusterInfo: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").VerbatimStringReply; + }; + readonly CLUSTER_KEYSLOT: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly clusterKeySlot: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly CLUSTER_LINKS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"direction">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"node">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"create-time">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"events">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"send-buffer-allocated">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"send-buffer-used">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"direction">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"node">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"create-time">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"events">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"send-buffer-allocated">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"send-buffer-used">, import("../RESP/types").NumberReply]>[]) => { + direction: import("../RESP/types").BlobStringReply; + node: import("../RESP/types").BlobStringReply; + 'create-time': import("../RESP/types").NumberReply; + events: import("../RESP/types").BlobStringReply; + 'send-buffer-allocated': import("../RESP/types").NumberReply; + 'send-buffer-used': import("../RESP/types").NumberReply; + }[]; + readonly 3: () => import("../RESP/types").ArrayReply, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"node">, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"create-time">, import("../RESP/types").NumberReply], [import("../RESP/types").BlobStringReply<"events">, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"send-buffer-allocated">, import("../RESP/types").NumberReply], [import("../RESP/types").BlobStringReply<"send-buffer-used">, import("../RESP/types").NumberReply]]>>; + }; + }; + readonly clusterLinks: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"direction">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"node">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"create-time">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"events">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"send-buffer-allocated">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"send-buffer-used">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"direction">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"node">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"create-time">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"events">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"send-buffer-allocated">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"send-buffer-used">, import("../RESP/types").NumberReply]>[]) => { + direction: import("../RESP/types").BlobStringReply; + node: import("../RESP/types").BlobStringReply; + 'create-time': import("../RESP/types").NumberReply; + events: import("../RESP/types").BlobStringReply; + 'send-buffer-allocated': import("../RESP/types").NumberReply; + 'send-buffer-used': import("../RESP/types").NumberReply; + }[]; + readonly 3: () => import("../RESP/types").ArrayReply, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"node">, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"create-time">, import("../RESP/types").NumberReply], [import("../RESP/types").BlobStringReply<"events">, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"send-buffer-allocated">, import("../RESP/types").NumberReply], [import("../RESP/types").BlobStringReply<"send-buffer-used">, import("../RESP/types").NumberReply]]>>; + }; + }; + readonly CLUSTER_MEET: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, host: string, port: number) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly clusterMeet: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, host: string, port: number) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly CLUSTER_MYID: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly clusterMyId: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly CLUSTER_MYSHARDID: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly clusterMyShardId: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly CLUSTER_NODES: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").VerbatimStringReply; + }; + readonly clusterNodes: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").VerbatimStringReply; + }; + readonly CLUSTER_REPLICAS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, nodeId: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly clusterReplicas: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, nodeId: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly CLUSTER_REPLICATE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, nodeId: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly clusterReplicate: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, nodeId: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly CLUSTER_RESET: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, options?: import("./CLUSTER_RESET").ClusterResetOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly clusterReset: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, options?: import("./CLUSTER_RESET").ClusterResetOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly CLUSTER_SAVECONFIG: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly clusterSaveConfig: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly 'CLUSTER_SET-CONFIG-EPOCH': { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, configEpoch: number) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly clusterSetConfigEpoch: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, configEpoch: number) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly CLUSTER_SETSLOT: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, slot: number, state: import("./CLUSTER_SETSLOT").ClusterSlotState, nodeId?: import("../RESP/types").RedisArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly clusterSetSlot: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, slot: number, state: import("./CLUSTER_SETSLOT").ClusterSlotState, nodeId?: import("../RESP/types").RedisArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly CLUSTER_SLOTS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: (this: void, reply: [from: import("../RESP/types").NumberReply, to: import("../RESP/types").NumberReply, master: import("../RESP/types").TuplesReply<[host: import("../RESP/types").BlobStringReply, port: import("../RESP/types").NumberReply, id: import("../RESP/types").BlobStringReply]>, ...replicas: import("../RESP/types").TuplesReply<[host: import("../RESP/types").BlobStringReply, port: import("../RESP/types").NumberReply, id: import("../RESP/types").BlobStringReply]>[]][]) => { + from: import("../RESP/types").NumberReply; + to: import("../RESP/types").NumberReply; + master: { + host: import("../RESP/types").BlobStringReply; + port: import("../RESP/types").NumberReply; + id: import("../RESP/types").BlobStringReply; + }; + replicas: { + host: import("../RESP/types").BlobStringReply; + port: import("../RESP/types").NumberReply; + id: import("../RESP/types").BlobStringReply; + }[]; + }[]; + }; + readonly clusterSlots: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: (this: void, reply: [from: import("../RESP/types").NumberReply, to: import("../RESP/types").NumberReply, master: import("../RESP/types").TuplesReply<[host: import("../RESP/types").BlobStringReply, port: import("../RESP/types").NumberReply, id: import("../RESP/types").BlobStringReply]>, ...replicas: import("../RESP/types").TuplesReply<[host: import("../RESP/types").BlobStringReply, port: import("../RESP/types").NumberReply, id: import("../RESP/types").BlobStringReply]>[]][]) => { + from: import("../RESP/types").NumberReply; + to: import("../RESP/types").NumberReply; + master: { + host: import("../RESP/types").BlobStringReply; + port: import("../RESP/types").NumberReply; + id: import("../RESP/types").BlobStringReply; + }; + replicas: { + host: import("../RESP/types").BlobStringReply; + port: import("../RESP/types").NumberReply; + id: import("../RESP/types").BlobStringReply; + }[]; + }[]; + }; + readonly COMMAND_COUNT: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly commandCount: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly COMMAND_GETKEYS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, args: import("../RESP/types").RedisArgument[]) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly commandGetKeys: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, args: import("../RESP/types").RedisArgument[]) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly COMMAND_GETKEYSANDFLAGS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, args: import("../RESP/types").RedisArgument[]) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[key: import("../RESP/types").BlobStringReply, flags: import("../RESP/types").SetReply>]>[]) => { + key: import("../RESP/types").BlobStringReply; + flags: import("../RESP/types").SetReply>; + }[]; + }; + readonly commandGetKeysAndFlags: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, args: import("../RESP/types").RedisArgument[]) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[key: import("../RESP/types").BlobStringReply, flags: import("../RESP/types").SetReply>]>[]) => { + key: import("../RESP/types").BlobStringReply; + flags: import("../RESP/types").SetReply>; + }[]; + }; + readonly COMMAND_INFO: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, commands: string[]) => void; + readonly transformReply: (this: void, reply: import("./generic-transformers").CommandRawReply[]) => (import("./generic-transformers").CommandReply | null)[]; + }; + readonly commandInfo: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, commands: string[]) => void; + readonly transformReply: (this: void, reply: import("./generic-transformers").CommandRawReply[]) => (import("./generic-transformers").CommandReply | null)[]; + }; + readonly COMMAND_LIST: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, options?: import("./COMMAND_LIST").CommandListOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly commandList: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, options?: import("./COMMAND_LIST").CommandListOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly COMMAND: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: (this: void, reply: import("./generic-transformers").CommandRawReply[]) => import("./generic-transformers").CommandReply[]; + }; + readonly command: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: (this: void, reply: import("./generic-transformers").CommandRawReply[]) => import("./generic-transformers").CommandReply[]; + }; + readonly CONFIG_GET: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, parameters: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>; + readonly 3: () => import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>; + }; + }; + readonly configGet: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, parameters: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>; + readonly 3: () => import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>; + }; + }; + readonly CONFIG_RESETASTAT: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly configResetStat: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly CONFIG_REWRITE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly configRewrite: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly CONFIG_SET: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, ...[parameterOrConfig, value]: [parameter: import("../RESP/types").RedisArgument, value: import("../RESP/types").RedisArgument] | [config: Record]) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly configSet: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, ...[parameterOrConfig, value]: [parameter: import("../RESP/types").RedisArgument, value: import("../RESP/types").RedisArgument] | [config: Record]) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly COPY: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, source: import("../RESP/types").RedisArgument, destination: import("../RESP/types").RedisArgument, options?: import("./COPY").CopyCommandOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly copy: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, source: import("../RESP/types").RedisArgument, destination: import("../RESP/types").RedisArgument, options?: import("./COPY").CopyCommandOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly DBSIZE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly dbSize: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly DECR: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly decr: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly DECRBY: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, decrement: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly decrBy: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, decrement: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly DEL: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly del: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly DELEX: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, options?: { + condition: "IFEQ" | "IFNE" | "IFDEQ" | "IFDNE"; + matchValue: import("../RESP/types").RedisArgument; + } | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply<0 | 1>; + }; + readonly delEx: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, options?: { + condition: "IFEQ" | "IFNE" | "IFDEQ" | "IFDNE"; + matchValue: import("../RESP/types").RedisArgument; + } | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply<0 | 1>; + }; + readonly DIGEST: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly digest: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly DUMP: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly dump: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly ECHO: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, message: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly echo: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, message: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly EVAL_RO: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; + }; + readonly evalRo: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; + }; + readonly EVAL: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; + }; + readonly eval: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; + }; + readonly EVALSHA_RO: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; + }; + readonly evalShaRo: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; + }; + readonly EVALSHA: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; + }; + readonly evalSha: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; + }; + readonly EXISTS: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly exists: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly EXPIRE: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, seconds: number, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly expire: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, seconds: number, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly EXPIREAT: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, timestamp: number | Date, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly expireAt: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, timestamp: number | Date, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly EXPIRETIME: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly expireTime: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly FLUSHALL: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, mode?: import("./FLUSHALL").RedisFlushMode | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly flushAll: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, mode?: import("./FLUSHALL").RedisFlushMode | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly FLUSHDB: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, mode?: import("./FLUSHALL").RedisFlushMode | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly flushDb: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, mode?: import("./FLUSHALL").RedisFlushMode | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly FCALL: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; + }; + readonly fCall: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; + }; + readonly FCALL_RO: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; + }; + readonly fCallRo: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; + }; + readonly FUNCTION_DELETE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, library: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly functionDelete: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, library: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly FUNCTION_DUMP: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly functionDump: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly FUNCTION_FLUSH: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, mode?: import("./FLUSHALL").RedisFlushMode | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly functionFlush: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, mode?: import("./FLUSHALL").RedisFlushMode | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly FUNCTION_KILL: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly functionKill: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly FUNCTION_LIST_WITHCODE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, options?: import("./FUNCTION_LIST").FunctionListOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"library_name">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"engine">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"functions">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[]>, import("../RESP/types").BlobStringReply<"library_code">, import("../RESP/types").BlobStringReply], never, [import("../RESP/types").BlobStringReply<"library_name">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"engine">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"functions">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[]>, import("../RESP/types").BlobStringReply<"library_code">, import("../RESP/types").BlobStringReply]>[]) => { + library_name: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + engine: import("../RESP/types").BlobStringReply; + functions: { + name: import("../RESP/types").BlobStringReply; + description: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + flags: import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + }[]; + library_code: import("../RESP/types").BlobStringReply; + }[]; + readonly 3: () => import("./FUNCTION_LIST_WITHCODE").FunctionListWithCodeReply; + }; + }; + readonly functionListWithCode: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, options?: import("./FUNCTION_LIST").FunctionListOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"library_name">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"engine">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"functions">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[]>, import("../RESP/types").BlobStringReply<"library_code">, import("../RESP/types").BlobStringReply], never, [import("../RESP/types").BlobStringReply<"library_name">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"engine">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"functions">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[]>, import("../RESP/types").BlobStringReply<"library_code">, import("../RESP/types").BlobStringReply]>[]) => { + library_name: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + engine: import("../RESP/types").BlobStringReply; + functions: { + name: import("../RESP/types").BlobStringReply; + description: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + flags: import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + }[]; + library_code: import("../RESP/types").BlobStringReply; + }[]; + readonly 3: () => import("./FUNCTION_LIST_WITHCODE").FunctionListWithCodeReply; + }; + }; + readonly FUNCTION_LIST: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, options?: import("./FUNCTION_LIST").FunctionListOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"library_name">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"engine">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"functions">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[]>], never, [import("../RESP/types").BlobStringReply<"library_name">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"engine">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"functions">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[]>]>[]) => { + library_name: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + engine: import("../RESP/types").BlobStringReply; + functions: { + name: import("../RESP/types").BlobStringReply; + description: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + flags: import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + }[]; + }[]; + readonly 3: () => import("./FUNCTION_LIST").FunctionListReply; + }; + }; + readonly functionList: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, options?: import("./FUNCTION_LIST").FunctionListOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"library_name">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"engine">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"functions">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[]>], never, [import("../RESP/types").BlobStringReply<"library_name">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"engine">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"functions">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[]>]>[]) => { + library_name: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + engine: import("../RESP/types").BlobStringReply; + functions: { + name: import("../RESP/types").BlobStringReply; + description: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + flags: import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + }[]; + }[]; + readonly 3: () => import("./FUNCTION_LIST").FunctionListReply; + }; + }; + readonly FUNCTION_LOAD: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, code: import("../RESP/types").RedisArgument, options?: import("./FUNCTION_LOAD").FunctionLoadOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly functionLoad: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, code: import("../RESP/types").RedisArgument, options?: import("./FUNCTION_LOAD").FunctionLoadOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly FUNCTION_RESTORE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, dump: import("../RESP/types").RedisArgument, options?: import("./FUNCTION_RESTORE").FunctionRestoreOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly functionRestore: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, dump: import("../RESP/types").RedisArgument, options?: import("./FUNCTION_RESTORE").FunctionRestoreOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly FUNCTION_STATS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: { + readonly 2: (reply: [import("../RESP/types").BlobStringReply<"running_script">, import("../RESP/types").NullReply | import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"command">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"duration_ms">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"command">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"duration_ms">, import("../RESP/types").NumberReply]>, import("../RESP/types").BlobStringReply<"engines">, import("../RESP/types").RespType<42, (import("../RESP/types").BlobStringReply | import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"libraries_count">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"functions_count">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"libraries_count">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"functions_count">, import("../RESP/types").NumberReply]>)[], never, (import("../RESP/types").BlobStringReply | import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"libraries_count">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"functions_count">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"libraries_count">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"functions_count">, import("../RESP/types").NumberReply]>)[]>]) => { + running_script: { + name: import("../RESP/types").BlobStringReply; + command: import("../RESP/types").BlobStringReply; + duration_ms: import("../RESP/types").NumberReply; + } | null; + engines: Record; + functions_count: import("../RESP/types").NumberReply; + }>; + }; + readonly 3: () => import("../RESP/types").TuplesToMapReply<[[import("../RESP/types").BlobStringReply<"running_script">, import("../RESP/types").NullReply | import("../RESP/types").TuplesToMapReply<[[import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"command">, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"duration_ms">, import("../RESP/types").NumberReply]]>], [import("../RESP/types").BlobStringReply<"engines">, import("../RESP/types").MapReply, import("../RESP/types").TuplesToMapReply<[[import("../RESP/types").BlobStringReply<"libraries_count">, import("../RESP/types").NumberReply], [import("../RESP/types").BlobStringReply<"functions_count">, import("../RESP/types").NumberReply]]>>]]>; + }; + }; + readonly functionStats: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: { + readonly 2: (reply: [import("../RESP/types").BlobStringReply<"running_script">, import("../RESP/types").NullReply | import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"command">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"duration_ms">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"command">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"duration_ms">, import("../RESP/types").NumberReply]>, import("../RESP/types").BlobStringReply<"engines">, import("../RESP/types").RespType<42, (import("../RESP/types").BlobStringReply | import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"libraries_count">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"functions_count">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"libraries_count">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"functions_count">, import("../RESP/types").NumberReply]>)[], never, (import("../RESP/types").BlobStringReply | import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"libraries_count">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"functions_count">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"libraries_count">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"functions_count">, import("../RESP/types").NumberReply]>)[]>]) => { + running_script: { + name: import("../RESP/types").BlobStringReply; + command: import("../RESP/types").BlobStringReply; + duration_ms: import("../RESP/types").NumberReply; + } | null; + engines: Record; + functions_count: import("../RESP/types").NumberReply; + }>; + }; + readonly 3: () => import("../RESP/types").TuplesToMapReply<[[import("../RESP/types").BlobStringReply<"running_script">, import("../RESP/types").NullReply | import("../RESP/types").TuplesToMapReply<[[import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"command">, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"duration_ms">, import("../RESP/types").NumberReply]]>], [import("../RESP/types").BlobStringReply<"engines">, import("../RESP/types").MapReply, import("../RESP/types").TuplesToMapReply<[[import("../RESP/types").BlobStringReply<"libraries_count">, import("../RESP/types").NumberReply], [import("../RESP/types").BlobStringReply<"functions_count">, import("../RESP/types").NumberReply]]>>]]>; + }; + }; + readonly GEOADD: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, toAdd: import("./GEOADD").GeoMember | import("./GEOADD").GeoMember[], options?: import("./GEOADD").GeoAddOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly geoAdd: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, toAdd: import("./GEOADD").GeoMember | import("./GEOADD").GeoMember[], options?: import("./GEOADD").GeoAddOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly GEODIST: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member1: import("../RESP/types").RedisArgument, member2: import("../RESP/types").RedisArgument, unit?: import("./GEOSEARCH").GeoUnits | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply) => number | null; + }; + readonly geoDist: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member1: import("../RESP/types").RedisArgument, member2: import("../RESP/types").RedisArgument, unit?: import("./GEOSEARCH").GeoUnits | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply) => number | null; + }; + readonly GEOHASH: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly geoHash: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly GEOPOS: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: (this: void, reply: (import("../RESP/types").NullReply | import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply]>)[]) => ({ + longitude: import("../RESP/types").BlobStringReply; + latitude: import("../RESP/types").BlobStringReply; + } | null)[]; + }; + readonly geoPos: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: (this: void, reply: (import("../RESP/types").NullReply | import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply]>)[]) => ({ + longitude: import("../RESP/types").BlobStringReply; + latitude: import("../RESP/types").BlobStringReply; + } | null)[]; + }; + readonly GEORADIUS_RO_WITH: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoCoordinates, radius: number, unit: import("./GEOSEARCH").GeoUnits, replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[], options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, ...any[]]>[], replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[]) => import("./GEOSEARCH_WITH").GeoReplyWithMember[]; + }; + readonly geoRadiusRoWith: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoCoordinates, radius: number, unit: import("./GEOSEARCH").GeoUnits, replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[], options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, ...any[]]>[], replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[]) => import("./GEOSEARCH_WITH").GeoReplyWithMember[]; + }; + readonly GEORADIUS_RO: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoCoordinates, radius: number, unit: import("./GEOSEARCH").GeoUnits, options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly geoRadiusRo: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoCoordinates, radius: number, unit: import("./GEOSEARCH").GeoUnits, options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly GEORADIUS_STORE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoCoordinates, radius: number, unit: import("./GEOSEARCH").GeoUnits, destination: import("../RESP/types").RedisArgument, options?: import("./GEORADIUS_STORE").GeoRadiusStoreOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly geoRadiusStore: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoCoordinates, radius: number, unit: import("./GEOSEARCH").GeoUnits, destination: import("../RESP/types").RedisArgument, options?: import("./GEORADIUS_STORE").GeoRadiusStoreOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly GEORADIUS_WITH: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoCoordinates, radius: number, unit: import("./GEOSEARCH").GeoUnits, replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[], options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, ...any[]]>[], replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[]) => import("./GEOSEARCH_WITH").GeoReplyWithMember[]; + }; + readonly geoRadiusWith: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoCoordinates, radius: number, unit: import("./GEOSEARCH").GeoUnits, replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[], options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, ...any[]]>[], replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[]) => import("./GEOSEARCH_WITH").GeoReplyWithMember[]; + }; + readonly GEORADIUS: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoCoordinates, radius: number, unit: import("./GEOSEARCH").GeoUnits, options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly geoRadius: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoCoordinates, radius: number, unit: import("./GEOSEARCH").GeoUnits, options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly GEORADIUSBYMEMBER_RO_WITH: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("../RESP/types").RedisArgument, radius: number, unit: import("./GEOSEARCH").GeoUnits, replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[], options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, ...any[]]>[], replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[]) => import("./GEOSEARCH_WITH").GeoReplyWithMember[]; + }; + readonly geoRadiusByMemberRoWith: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("../RESP/types").RedisArgument, radius: number, unit: import("./GEOSEARCH").GeoUnits, replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[], options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, ...any[]]>[], replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[]) => import("./GEOSEARCH_WITH").GeoReplyWithMember[]; + }; + readonly GEORADIUSBYMEMBER_RO: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("../RESP/types").RedisArgument, radius: number, unit: import("./GEOSEARCH").GeoUnits, options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly geoRadiusByMemberRo: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("../RESP/types").RedisArgument, radius: number, unit: import("./GEOSEARCH").GeoUnits, options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly GEORADIUSBYMEMBER_STORE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("../RESP/types").RedisArgument, radius: number, unit: import("./GEOSEARCH").GeoUnits, destination: import("../RESP/types").RedisArgument, options?: import("./GEORADIUSBYMEMBER_STORE").GeoRadiusStoreOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly geoRadiusByMemberStore: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("../RESP/types").RedisArgument, radius: number, unit: import("./GEOSEARCH").GeoUnits, destination: import("../RESP/types").RedisArgument, options?: import("./GEORADIUSBYMEMBER_STORE").GeoRadiusStoreOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly GEORADIUSBYMEMBER_WITH: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("../RESP/types").RedisArgument, radius: number, unit: import("./GEOSEARCH").GeoUnits, replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[], options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, ...any[]]>[], replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[]) => import("./GEOSEARCH_WITH").GeoReplyWithMember[]; + }; + readonly geoRadiusByMemberWith: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("../RESP/types").RedisArgument, radius: number, unit: import("./GEOSEARCH").GeoUnits, replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[], options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, ...any[]]>[], replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[]) => import("./GEOSEARCH_WITH").GeoReplyWithMember[]; + }; + readonly GEORADIUSBYMEMBER: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("../RESP/types").RedisArgument, radius: number, unit: import("./GEOSEARCH").GeoUnits, options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly geoRadiusByMember: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("../RESP/types").RedisArgument, radius: number, unit: import("./GEOSEARCH").GeoUnits, options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly GEOSEARCH_WITH: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoSearchFrom, by: import("./GEOSEARCH").GeoSearchBy, replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[], options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, ...any[]]>[], replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[]) => import("./GEOSEARCH_WITH").GeoReplyWithMember[]; + }; + readonly geoSearchWith: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoSearchFrom, by: import("./GEOSEARCH").GeoSearchBy, replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[], options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, ...any[]]>[], replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[]) => import("./GEOSEARCH_WITH").GeoReplyWithMember[]; + }; + readonly GEOSEARCH: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoSearchFrom, by: import("./GEOSEARCH").GeoSearchBy, options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly geoSearch: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoSearchFrom, by: import("./GEOSEARCH").GeoSearchBy, options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly GEOSEARCHSTORE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, source: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoSearchFrom, by: import("./GEOSEARCH").GeoSearchBy, options?: import("./GEOSEARCHSTORE").GeoSearchStoreOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly geoSearchStore: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, source: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoSearchFrom, by: import("./GEOSEARCH").GeoSearchBy, options?: import("./GEOSEARCHSTORE").GeoSearchStoreOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly GET: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly get: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly GETBIT: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, offset: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly getBit: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, offset: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly GETDEL: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly getDel: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly GETEX: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, options: import("./GETEX").GetExOptions) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly getEx: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, options: import("./GETEX").GetExOptions) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly GETRANGE: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, start: number, end: number) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly getRange: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, start: number, end: number) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly GETSET: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, value: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly getSet: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, value: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly HDEL: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, field: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly hDel: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, field: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly HELLO: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, protover?: import("../RESP/types").RespVersions | undefined, options?: import("./HELLO").HelloOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [import("../RESP/types").BlobStringReply<"server">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"version">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"proto">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"id">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"mode">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"role">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"modules">, import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]) => { + server: import("../RESP/types").BlobStringReply; + version: import("../RESP/types").BlobStringReply; + proto: import("../RESP/types").NumberReply; + id: import("../RESP/types").NumberReply; + mode: import("../RESP/types").BlobStringReply; + role: import("../RESP/types").BlobStringReply; + modules: import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + }; + readonly 3: () => import("./HELLO").HelloReply; + }; + }; + readonly hello: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, protover?: import("../RESP/types").RespVersions | undefined, options?: import("./HELLO").HelloOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [import("../RESP/types").BlobStringReply<"server">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"version">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"proto">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"id">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"mode">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"role">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"modules">, import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]) => { + server: import("../RESP/types").BlobStringReply; + version: import("../RESP/types").BlobStringReply; + proto: import("../RESP/types").NumberReply; + id: import("../RESP/types").NumberReply; + mode: import("../RESP/types").BlobStringReply; + role: import("../RESP/types").BlobStringReply; + modules: import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + }; + readonly 3: () => import("./HELLO").HelloReply; + }; + }; + readonly HEXISTS: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, field: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply<0 | 1>; + }; + readonly hExists: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, field: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply<0 | 1>; + }; + readonly HEXPIRE: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument, seconds: number, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply; + }; + readonly hExpire: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument, seconds: number, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply; + }; + readonly HEXPIREAT: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument, timestamp: number | Date, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly hExpireAt: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument, timestamp: number | Date, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly HEXPIRETIME: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly hExpireTime: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly HGET: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, field: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly hGet: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, field: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly HGETALL: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly TRANSFORM_LEGACY_REPLY: true; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>; + readonly 3: () => import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>; + }; + }; + readonly hGetAll: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly TRANSFORM_LEGACY_REPLY: true; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>; + readonly 3: () => import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>; + }; + }; + readonly HGETDEL: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly hGetDel: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly HGETEX: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument, options?: import("./HGETEX").HGetExOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly hGetEx: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument, options?: import("./HGETEX").HGetExOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly HINCRBY: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, field: import("../RESP/types").RedisArgument, increment: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly hIncrBy: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, field: import("../RESP/types").RedisArgument, increment: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly HINCRBYFLOAT: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, field: import("../RESP/types").RedisArgument, increment: number) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly hIncrByFloat: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, field: import("../RESP/types").RedisArgument, increment: number) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly HKEYS: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly hKeys: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly HLEN: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly hLen: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly HMGET: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly hmGet: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly HPERSIST: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply>; + }; + readonly hPersist: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply>; + }; + readonly HPEXPIRE: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument, ms: number, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply; + }; + readonly hpExpire: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument, ms: number, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply; + }; + readonly HPEXPIREAT: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument, timestamp: number | Date, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply; + }; + readonly hpExpireAt: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument, timestamp: number | Date, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply; + }; + readonly HPEXPIRETIME: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply>; + }; + readonly hpExpireTime: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply>; + }; + readonly HPTTL: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply>; + }; + readonly hpTTL: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply>; + }; + readonly HRANDFIELD_COUNT_WITHVALUES: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: { + readonly 2: (rawReply: import("../RESP/types").BlobStringReply[]) => import("./HRANDFIELD_COUNT_WITHVALUES").HRandFieldCountWithValuesReply; + readonly 3: (reply: import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply]>[]) => { + field: import("../RESP/types").BlobStringReply; + value: import("../RESP/types").BlobStringReply; + }[]; + }; + }; + readonly hRandFieldCountWithValues: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: { + readonly 2: (rawReply: import("../RESP/types").BlobStringReply[]) => import("./HRANDFIELD_COUNT_WITHVALUES").HRandFieldCountWithValuesReply; + readonly 3: (reply: import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply]>[]) => { + field: import("../RESP/types").BlobStringReply; + value: import("../RESP/types").BlobStringReply; + }[]; + }; + }; + readonly HRANDFIELD_COUNT: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly hRandFieldCount: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly HRANDFIELD: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly hRandField: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly HSCAN: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, cursor: import("../RESP/types").RedisArgument, options?: import("./SCAN").ScanCommonOptions | undefined) => void; + readonly transformReply: (this: void, [cursor, rawEntries]: [import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply[]]) => { + cursor: import("../RESP/types").BlobStringReply; + entries: { + field: import("../RESP/types").BlobStringReply; + value: import("../RESP/types").BlobStringReply; + }[]; + }; + }; + readonly hScan: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, cursor: import("../RESP/types").RedisArgument, options?: import("./SCAN").ScanCommonOptions | undefined) => void; + readonly transformReply: (this: void, [cursor, rawEntries]: [import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply[]]) => { + cursor: import("../RESP/types").BlobStringReply; + entries: { + field: import("../RESP/types").BlobStringReply; + value: import("../RESP/types").BlobStringReply; + }[]; + }; + }; + readonly HSCAN_NOVALUES: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, cursor: import("../RESP/types").RedisArgument, options?: import("./SCAN").ScanCommonOptions | undefined) => void; + readonly transformReply: (this: void, [cursor, fields]: [import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply[]]) => { + cursor: import("../RESP/types").BlobStringReply; + fields: import("../RESP/types").BlobStringReply[]; + }; + }; + readonly hScanNoValues: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, cursor: import("../RESP/types").RedisArgument, options?: import("./SCAN").ScanCommonOptions | undefined) => void; + readonly transformReply: (this: void, [cursor, fields]: [import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply[]]) => { + cursor: import("../RESP/types").BlobStringReply; + fields: import("../RESP/types").BlobStringReply[]; + }; + }; + readonly HSET: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, ...[key, value, fieldValue]: [key: import("../RESP/types").RedisArgument, field: import("./HSET").HashTypes, value: import("./HSET").HashTypes] | [key: import("../RESP/types").RedisArgument, value: { + [x: string]: import("./HSET").HashTypes; + [x: number]: import("./HSET").HashTypes; + } | Map | ([import("./HSET").HashTypes, import("./HSET").HashTypes][] | import("./HSET").HashTypes[])]) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly hSet: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, ...[key, value, fieldValue]: [key: import("../RESP/types").RedisArgument, field: import("./HSET").HashTypes, value: import("./HSET").HashTypes] | [key: import("../RESP/types").RedisArgument, value: { + [x: string]: import("./HSET").HashTypes; + [x: number]: import("./HSET").HashTypes; + } | Map | ([import("./HSET").HashTypes, import("./HSET").HashTypes][] | import("./HSET").HashTypes[])]) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly HSETEX: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: { + [x: string]: import("./HSETEX").HashTypes; + [x: number]: import("./HSETEX").HashTypes; + } | Map | ([import("./HSETEX").HashTypes, import("./HSETEX").HashTypes][] | import("./HSETEX").HashTypes[]), options?: import("./HSETEX").HSetExOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply<0 | 1>; + }; + readonly hSetEx: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: { + [x: string]: import("./HSETEX").HashTypes; + [x: number]: import("./HSETEX").HashTypes; + } | Map | ([import("./HSETEX").HashTypes, import("./HSETEX").HashTypes][] | import("./HSETEX").HashTypes[]), options?: import("./HSETEX").HSetExOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply<0 | 1>; + }; + readonly HSETNX: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, field: import("../RESP/types").RedisArgument, value: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply<0 | 1>; + }; + readonly hSetNX: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, field: import("../RESP/types").RedisArgument, value: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply<0 | 1>; + }; + readonly HSTRLEN: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, field: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly hStrLen: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, field: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly HTTL: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply>; + }; + readonly hTTL: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply>; + }; + readonly HVALS: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly hVals: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly HOTKEYS_GET: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").ArrayReply | import("../RESP/types").NumberReply | import("../RESP/types").ArrayReply | import("../RESP/types").NumberReply>>[] | null) => import("./HOTKEYS_GET").HotkeysGetReply | null; + readonly 3: () => import("../RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + readonly hotkeysGet: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").ArrayReply | import("../RESP/types").NumberReply | import("../RESP/types").ArrayReply | import("../RESP/types").NumberReply>>[] | null) => import("./HOTKEYS_GET").HotkeysGetReply | null; + readonly 3: () => import("../RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + readonly HOTKEYS_RESET: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly hotkeysReset: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly HOTKEYS_START: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, options: import("./HOTKEYS_START").HotkeysStartOptions) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly hotkeysStart: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, options: import("./HOTKEYS_START").HotkeysStartOptions) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly HOTKEYS_STOP: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly hotkeysStop: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly INCR: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly incr: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly INCRBY: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, increment: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly incrBy: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, increment: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly INCRBYFLOAT: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, increment: number) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly incrByFloat: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, increment: number) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly INFO: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, section?: import("../RESP/types").RedisArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").VerbatimStringReply; + }; + readonly info: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, section?: import("../RESP/types").RedisArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").VerbatimStringReply; + }; + readonly KEYS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, pattern: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly keys: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, pattern: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly LASTSAVE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly lastSave: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly LATENCY_DOCTOR: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly latencyDoctor: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly LATENCY_GRAPH: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, event: import("./LATENCY_GRAPH").LatencyEvent) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly latencyGraph: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, event: import("./LATENCY_GRAPH").LatencyEvent) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly LATENCY_HISTORY: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, event: import("./LATENCY_HISTORY").LatencyEventType) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply, latency: import("../RESP/types").NumberReply]>>; + }; + readonly latencyHistory: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, event: import("./LATENCY_HISTORY").LatencyEventType) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply, latency: import("../RESP/types").NumberReply]>>; + }; + readonly LATENCY_HISTOGRAM: { + readonly CACHEABLE: false; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, ...commands: string[]) => void; + readonly transformReply: { + readonly 2: (reply: (string | [string, number, string, number[]])[]) => { + [x: string]: { + calls: number; + histogram_usec: Record; + }; + }; + readonly 3: () => { + [x: string]: { + calls: number; + histogram_usec: Record; + }; + }; + }; + }; + readonly latencyHistogram: { + readonly CACHEABLE: false; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, ...commands: string[]) => void; + readonly transformReply: { + readonly 2: (reply: (string | [string, number, string, number[]])[]) => { + [x: string]: { + calls: number; + histogram_usec: Record; + }; + }; + readonly 3: () => { + [x: string]: { + calls: number; + histogram_usec: Record; + }; + }; + }; + }; + readonly LATENCY_LATEST: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply<[name: import("../RESP/types").BlobStringReply, timestamp: import("../RESP/types").NumberReply, latestLatency: import("../RESP/types").NumberReply, allTimeLatency: import("../RESP/types").NumberReply]>; + }; + readonly latencyLatest: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply<[name: import("../RESP/types").BlobStringReply, timestamp: import("../RESP/types").NumberReply, latestLatency: import("../RESP/types").NumberReply, allTimeLatency: import("../RESP/types").NumberReply]>; + }; + readonly LATENCY_RESET: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, ...events: import("./LATENCY_GRAPH").LatencyEvent[]) => void; + readonly transformReply: () => number; + }; + readonly latencyReset: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, ...events: import("./LATENCY_GRAPH").LatencyEvent[]) => void; + readonly transformReply: () => number; + }; + readonly LCS_IDX_WITHMATCHLEN: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key1: import("../RESP/types").RedisArgument, key2: import("../RESP/types").RedisArgument, options?: import("./LCS_IDX").LcsIdxOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [import("../RESP/types").BlobStringReply<"matches">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply]>[]>, import("../RESP/types").BlobStringReply<"len">, import("../RESP/types").NumberReply]) => { + matches: import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply]>[]>; + len: import("../RESP/types").NumberReply; + }; + readonly 3: () => import("./LCS_IDX_WITHMATCHLEN").LcsIdxWithMatchLenReply; + }; + }; + readonly lcsIdxWithMatchLen: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key1: import("../RESP/types").RedisArgument, key2: import("../RESP/types").RedisArgument, options?: import("./LCS_IDX").LcsIdxOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [import("../RESP/types").BlobStringReply<"matches">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply]>[]>, import("../RESP/types").BlobStringReply<"len">, import("../RESP/types").NumberReply]) => { + matches: import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply]>[]>; + len: import("../RESP/types").NumberReply; + }; + readonly 3: () => import("./LCS_IDX_WITHMATCHLEN").LcsIdxWithMatchLenReply; + }; + }; + readonly LCS_IDX: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key1: import("../RESP/types").RedisArgument, key2: import("../RESP/types").RedisArgument, options?: import("./LCS_IDX").LcsIdxOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [import("../RESP/types").BlobStringReply<"matches">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>]>[]>, import("../RESP/types").BlobStringReply<"len">, import("../RESP/types").NumberReply]) => { + matches: import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>]>[]>; + len: import("../RESP/types").NumberReply; + }; + readonly 3: () => import("./LCS_IDX").LcsIdxReply; + }; + }; + readonly lcsIdx: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key1: import("../RESP/types").RedisArgument, key2: import("../RESP/types").RedisArgument, options?: import("./LCS_IDX").LcsIdxOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [import("../RESP/types").BlobStringReply<"matches">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>]>[]>, import("../RESP/types").BlobStringReply<"len">, import("../RESP/types").NumberReply]) => { + matches: import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>]>[]>; + len: import("../RESP/types").NumberReply; + }; + readonly 3: () => import("./LCS_IDX").LcsIdxReply; + }; + }; + readonly LCS_LEN: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key1: import("../RESP/types").RedisArgument, key2: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly lcsLen: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key1: import("../RESP/types").RedisArgument, key2: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly LCS: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key1: import("../RESP/types").RedisArgument, key2: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly lcs: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key1: import("../RESP/types").RedisArgument, key2: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly LINDEX: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, index: number) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly lIndex: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, index: number) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly LINSERT: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, position: "BEFORE" | "AFTER", pivot: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly lInsert: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, position: "BEFORE" | "AFTER", pivot: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly LLEN: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly lLen: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly LMOVE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, source: import("../RESP/types").RedisArgument, destination: import("../RESP/types").RedisArgument, sourceSide: import("./generic-transformers").ListSide, destinationSide: import("./generic-transformers").ListSide) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly lMove: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, source: import("../RESP/types").RedisArgument, destination: import("../RESP/types").RedisArgument, sourceSide: import("./generic-transformers").ListSide, destinationSide: import("./generic-transformers").ListSide) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly LMPOP: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument, side: import("./generic-transformers").ListSide, options?: import("./LMPOP").LMPopOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").TuplesReply<[key: import("../RESP/types").BlobStringReply, elements: import("../RESP/types").BlobStringReply[]]>; + }; + readonly lmPop: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument, side: import("./generic-transformers").ListSide, options?: import("./LMPOP").LMPopOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").TuplesReply<[key: import("../RESP/types").BlobStringReply, elements: import("../RESP/types").BlobStringReply[]]>; + }; + readonly LOLWUT: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, version?: number | undefined, ...optionalArguments: number[]) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly LPOP_COUNT: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply>; + }; + readonly lPopCount: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply>; + }; + readonly LPOP: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly lPop: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly LPOS_COUNT: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument, count: number, options?: import("./LPOS").LPosOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly lPosCount: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument, count: number, options?: import("./LPOS").LPosOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly LPOS: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument, options?: import("./LPOS").LPosOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + }; + readonly lPos: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument, options?: import("./LPOS").LPosOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + }; + readonly LPUSH: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, elements: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly lPush: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, elements: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly LPUSHX: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, elements: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly lPushX: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, elements: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly LRANGE: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, start: number, stop: number) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly lRange: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, start: number, stop: number) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly LREM: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly lRem: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly LSET: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, index: number, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly lSet: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, index: number, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly LTRIM: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, start: number, stop: number) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly lTrim: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, start: number, stop: number) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly MEMORY_DOCTOR: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly memoryDoctor: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly 'MEMORY_MALLOC-STATS': { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly memoryMallocStats: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly MEMORY_PURGE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly memoryPurge: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly MEMORY_STATS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: { + readonly 2: (rawReply: (import("../RESP/types").BlobStringReply | import("../RESP/types").NumberReply)[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("./MEMORY_STATS").MemoryStatsReply; + readonly 3: () => import("./MEMORY_STATS").MemoryStatsReply; + }; + }; + readonly memoryStats: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: { + readonly 2: (rawReply: (import("../RESP/types").BlobStringReply | import("../RESP/types").NumberReply)[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("./MEMORY_STATS").MemoryStatsReply; + readonly 3: () => import("./MEMORY_STATS").MemoryStatsReply; + }; + }; + readonly MEMORY_USAGE: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, options?: import("./MEMORY_USAGE").MemoryUsageOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + }; + readonly memoryUsage: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, options?: import("./MEMORY_USAGE").MemoryUsageOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + }; + readonly MGET: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("../RESP/types").RedisArgument[]) => void; + readonly transformReply: () => (import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply)[]; + }; + readonly mGet: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("../RESP/types").RedisArgument[]) => void; + readonly transformReply: () => (import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply)[]; + }; + readonly MIGRATE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, host: import("../RESP/types").RedisArgument, port: number, key: import("../RESP/types").RedisArgument | import("../RESP/types").RedisArgument[], destinationDb: number, timeout: number, options?: import("./MIGRATE").MigrateOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly migrate: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, host: import("../RESP/types").RedisArgument, port: number, key: import("../RESP/types").RedisArgument | import("../RESP/types").RedisArgument[], destinationDb: number, timeout: number, options?: import("./MIGRATE").MigrateOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly MODULE_LIST: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"ver">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"ver">, import("../RESP/types").NumberReply]>[]) => { + name: import("../RESP/types").BlobStringReply; + ver: import("../RESP/types").NumberReply; + }[]; + readonly 3: () => import("./MODULE_LIST").ModuleListReply; + }; + }; + readonly moduleList: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"ver">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"ver">, import("../RESP/types").NumberReply]>[]) => { + name: import("../RESP/types").BlobStringReply; + ver: import("../RESP/types").NumberReply; + }[]; + readonly 3: () => import("./MODULE_LIST").ModuleListReply; + }; + }; + readonly MODULE_LOAD: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, path: import("../RESP/types").RedisArgument, moduleArguments?: import("../RESP/types").RedisArgument[] | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly moduleLoad: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, path: import("../RESP/types").RedisArgument, moduleArguments?: import("../RESP/types").RedisArgument[] | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly MODULE_UNLOAD: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, name: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly moduleUnload: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, name: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly MOVE: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, db: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly move: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, db: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly MSET: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, toSet: import("./MSET").MSetArguments) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly mSet: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, toSet: import("./MSET").MSetArguments) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly MSETEX: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keyValuePairs: import("./MSET").MSetArguments, options?: { + expiration?: ({ + type: "EX"; + value: number; + } | { + type: "PX"; + value: number; + } | { + type: "EXAT"; + value: number | Date; + } | { + type: "PXAT"; + value: number | Date; + } | { + type: "KEEPTTL"; + }) | undefined; + mode?: ("NX" | "XX") | undefined; + } | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply<0 | 1>; + }; + readonly mSetEx: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keyValuePairs: import("./MSET").MSetArguments, options?: { + expiration?: ({ + type: "EX"; + value: number; + } | { + type: "PX"; + value: number; + } | { + type: "EXAT"; + value: number | Date; + } | { + type: "PXAT"; + value: number | Date; + } | { + type: "KEEPTTL"; + }) | undefined; + mode?: ("NX" | "XX") | undefined; + } | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply<0 | 1>; + }; + readonly MSETNX: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, toSet: import("./MSET").MSetArguments) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly mSetNX: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, toSet: import("./MSET").MSetArguments) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly OBJECT_ENCODING: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly objectEncoding: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly OBJECT_FREQ: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + }; + readonly objectFreq: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + }; + readonly OBJECT_IDLETIME: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + }; + readonly objectIdleTime: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + }; + readonly OBJECT_REFCOUNT: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + }; + readonly objectRefCount: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + }; + readonly PERSIST: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly persist: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly PEXPIRE: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, ms: number, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly pExpire: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, ms: number, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly PEXPIREAT: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, msTimestamp: number | Date, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly pExpireAt: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, msTimestamp: number | Date, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly PEXPIRETIME: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly pExpireTime: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly PFADD: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element?: import("./generic-transformers").RedisVariadicArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly pfAdd: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element?: import("./generic-transformers").RedisVariadicArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly PFCOUNT: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly pfCount: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly PFMERGE: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, sources?: import("./generic-transformers").RedisVariadicArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly pfMerge: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, sources?: import("./generic-transformers").RedisVariadicArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly PING: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, message?: import("../RESP/types").RedisArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply | import("../RESP/types").SimpleStringReply; + }; + /** + * ping jsdoc + */ + readonly ping: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, message?: import("../RESP/types").RedisArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply | import("../RESP/types").SimpleStringReply; + }; + readonly PSETEX: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, ms: number, value: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly pSetEx: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, ms: number, value: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly PTTL: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly pTTL: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly PUBLISH: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly IS_FORWARD_COMMAND: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, channel: import("../RESP/types").RedisArgument, message: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly publish: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly IS_FORWARD_COMMAND: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, channel: import("../RESP/types").RedisArgument, message: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly PUBSUB_CHANNELS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, pattern?: import("../RESP/types").RedisArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly pubSubChannels: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, pattern?: import("../RESP/types").RedisArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly PUBSUB_NUMPAT: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly pubSubNumPat: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly PUBSUB_NUMSUB: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, channels?: import("./generic-transformers").RedisVariadicArgument | undefined) => void; + readonly transformReply: (this: void, rawReply: (import("../RESP/types").BlobStringReply | import("../RESP/types").NumberReply)[]) => Record>; + }; + readonly pubSubNumSub: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, channels?: import("./generic-transformers").RedisVariadicArgument | undefined) => void; + readonly transformReply: (this: void, rawReply: (import("../RESP/types").BlobStringReply | import("../RESP/types").NumberReply)[]) => Record>; + }; + readonly PUBSUB_SHARDNUMSUB: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, channels?: import("./generic-transformers").RedisVariadicArgument | undefined) => void; + readonly transformReply: (this: void, reply: (import("../RESP/types").BlobStringReply | import("../RESP/types").NumberReply)[]) => Record>; + }; + readonly pubSubShardNumSub: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, channels?: import("./generic-transformers").RedisVariadicArgument | undefined) => void; + readonly transformReply: (this: void, reply: (import("../RESP/types").BlobStringReply | import("../RESP/types").NumberReply)[]) => Record>; + }; + readonly PUBSUB_SHARDCHANNELS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, pattern?: import("../RESP/types").RedisArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly pubSubShardChannels: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, pattern?: import("../RESP/types").RedisArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly RANDOMKEY: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly randomKey: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly READONLY: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly readonly: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly RENAME: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, newKey: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly rename: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, newKey: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly RENAMENX: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, newKey: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly renameNX: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, newKey: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly REPLICAOF: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, host: string, port: number) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly replicaOf: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, host: string, port: number) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly 'RESTORE-ASKING': { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly restoreAsking: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly RESTORE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, ttl: number, serializedValue: import("../RESP/types").RedisArgument, options?: import("./RESTORE").RestoreOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly restore: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, ttl: number, serializedValue: import("../RESP/types").RedisArgument, options?: import("./RESTORE").RestoreOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly RPOP_COUNT: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply>; + }; + readonly rPopCount: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply>; + }; + readonly ROLE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").UnwrapReply, replicationOffest: import("../RESP/types").NumberReply, replicas: import("../RESP/types").ArrayReply, port: import("../RESP/types").BlobStringReply, replicationOffest: import("../RESP/types").BlobStringReply]>>] | [role: import("../RESP/types").BlobStringReply<"slave">, masterHost: import("../RESP/types").BlobStringReply, masterPort: import("../RESP/types").NumberReply, state: import("../RESP/types").BlobStringReply<"connect" | "connecting" | "sync" | "connected">, dataReceived: import("../RESP/types").NumberReply] | [role: import("../RESP/types").BlobStringReply<"sentinel">, masterNames: import("../RESP/types").ArrayReply>]>>) => { + role: import("../RESP/types").BlobStringReply<"master">; + replicationOffest: import("../RESP/types").NumberReply; + replicas: { + host: import("../RESP/types").BlobStringReply; + port: number; + replicationOffest: number; + }[]; + master?: undefined; + state?: undefined; + dataReceived?: undefined; + masterNames?: undefined; + } | { + role: import("../RESP/types").BlobStringReply<"slave">; + master: { + host: import("../RESP/types").BlobStringReply; + port: import("../RESP/types").NumberReply; + }; + state: import("../RESP/types").BlobStringReply<"connect" | "connecting" | "sync" | "connected">; + dataReceived: import("../RESP/types").NumberReply; + replicationOffest?: undefined; + replicas?: undefined; + masterNames?: undefined; + } | { + role: import("../RESP/types").BlobStringReply<"sentinel">; + masterNames: import("../RESP/types").ArrayReply>; + replicationOffest?: undefined; + replicas?: undefined; + master?: undefined; + state?: undefined; + dataReceived?: undefined; + } | undefined; + }; + readonly role: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").UnwrapReply, replicationOffest: import("../RESP/types").NumberReply, replicas: import("../RESP/types").ArrayReply, port: import("../RESP/types").BlobStringReply, replicationOffest: import("../RESP/types").BlobStringReply]>>] | [role: import("../RESP/types").BlobStringReply<"slave">, masterHost: import("../RESP/types").BlobStringReply, masterPort: import("../RESP/types").NumberReply, state: import("../RESP/types").BlobStringReply<"connect" | "connecting" | "sync" | "connected">, dataReceived: import("../RESP/types").NumberReply] | [role: import("../RESP/types").BlobStringReply<"sentinel">, masterNames: import("../RESP/types").ArrayReply>]>>) => { + role: import("../RESP/types").BlobStringReply<"master">; + replicationOffest: import("../RESP/types").NumberReply; + replicas: { + host: import("../RESP/types").BlobStringReply; + port: number; + replicationOffest: number; + }[]; + master?: undefined; + state?: undefined; + dataReceived?: undefined; + masterNames?: undefined; + } | { + role: import("../RESP/types").BlobStringReply<"slave">; + master: { + host: import("../RESP/types").BlobStringReply; + port: import("../RESP/types").NumberReply; + }; + state: import("../RESP/types").BlobStringReply<"connect" | "connecting" | "sync" | "connected">; + dataReceived: import("../RESP/types").NumberReply; + replicationOffest?: undefined; + replicas?: undefined; + masterNames?: undefined; + } | { + role: import("../RESP/types").BlobStringReply<"sentinel">; + masterNames: import("../RESP/types").ArrayReply>; + replicationOffest?: undefined; + replicas?: undefined; + master?: undefined; + state?: undefined; + dataReceived?: undefined; + } | undefined; + }; + readonly RPOP: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly rPop: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly RPOPLPUSH: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, source: import("../RESP/types").RedisArgument, destination: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly rPopLPush: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, source: import("../RESP/types").RedisArgument, destination: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly RPUSH: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly rPush: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly RPUSHX: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly rPushX: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly SADD: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, members: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly sAdd: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, members: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly SCAN: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, cursor: import("../RESP/types").RedisArgument, options?: import("./SCAN").ScanOptions | undefined) => void; + readonly transformReply: (this: void, [cursor, keys]: [import("../RESP/types").BlobStringReply, import("../RESP/types").ArrayReply>]) => { + cursor: import("../RESP/types").BlobStringReply; + keys: import("../RESP/types").ArrayReply>; + }; + }; + readonly scan: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, cursor: import("../RESP/types").RedisArgument, options?: import("./SCAN").ScanOptions | undefined) => void; + readonly transformReply: (this: void, [cursor, keys]: [import("../RESP/types").BlobStringReply, import("../RESP/types").ArrayReply>]) => { + cursor: import("../RESP/types").BlobStringReply; + keys: import("../RESP/types").ArrayReply>; + }; + }; + readonly SCARD: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly sCard: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly SCRIPT_DEBUG: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, mode: "YES" | "NO" | "SYNC") => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly scriptDebug: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, mode: "YES" | "NO" | "SYNC") => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly SCRIPT_EXISTS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, sha1: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly scriptExists: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, sha1: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly SCRIPT_FLUSH: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, mode?: "ASYNC" | "SYNC" | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly scriptFlush: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, mode?: "ASYNC" | "SYNC" | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly SCRIPT_KILL: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly scriptKill: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly SCRIPT_LOAD: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly scriptLoad: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly SDIFF: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly sDiff: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly SDIFFSTORE: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly sDiffStore: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly SET: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, value: number | import("../RESP/types").RedisArgument, options?: import("./SET").SetOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply | import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly set: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, value: number | import("../RESP/types").RedisArgument, options?: import("./SET").SetOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply | import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly SETBIT: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, offset: number, value: import("./generic-transformers").BitValue) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly setBit: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, offset: number, value: import("./generic-transformers").BitValue) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly SETEX: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, seconds: number, value: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly setEx: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, seconds: number, value: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly SETNX: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, value: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly setNX: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, value: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly SETRANGE: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, offset: number, value: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly setRange: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, offset: number, value: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly SINTER: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly sInter: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly SINTERCARD: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument, options?: number | import("./SINTERCARD").SInterCardOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly sInterCard: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument, options?: number | import("./SINTERCARD").SInterCardOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly SINTERSTORE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly sInterStore: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly SISMEMBER: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly sIsMember: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly SMEMBERS: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: () => import("../RESP/types").ArrayReply>; + readonly 3: () => import("../RESP/types").SetReply>; + }; + }; + readonly sMembers: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: () => import("../RESP/types").ArrayReply>; + readonly 3: () => import("../RESP/types").SetReply>; + }; + }; + readonly SMISMEMBER: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, members: import("../RESP/types").RedisArgument[]) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly smIsMember: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, members: import("../RESP/types").RedisArgument[]) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly SMOVE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, source: import("../RESP/types").RedisArgument, destination: import("../RESP/types").RedisArgument, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly sMove: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, source: import("../RESP/types").RedisArgument, destination: import("../RESP/types").RedisArgument, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly SORT_RO: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, options?: import("./SORT").SortOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly sortRo: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, options?: import("./SORT").SortOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly SORT_STORE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, source: import("../RESP/types").RedisArgument, destination: import("../RESP/types").RedisArgument, options?: import("./SORT").SortOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly sortStore: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, source: import("../RESP/types").RedisArgument, destination: import("../RESP/types").RedisArgument, options?: import("./SORT").SortOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly SORT: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, options?: import("./SORT").SortOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly sort: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, options?: import("./SORT").SortOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly SPOP_COUNT: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply; + }; + readonly sPopCount: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply; + }; + readonly SPOP: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly sPop: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly SPUBLISH: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, channel: import("../RESP/types").RedisArgument, message: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly sPublish: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, channel: import("../RESP/types").RedisArgument, message: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly SRANDMEMBER_COUNT: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly sRandMemberCount: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly SRANDMEMBER: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly sRandMember: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly SREM: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, members: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly sRem: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, members: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly SSCAN: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, cursor: import("../RESP/types").RedisArgument, options?: import("./SCAN").ScanCommonOptions | undefined) => void; + readonly transformReply: (this: void, [cursor, members]: [import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply[]]) => { + cursor: import("../RESP/types").BlobStringReply; + members: import("../RESP/types").BlobStringReply[]; + }; + }; + readonly sScan: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, cursor: import("../RESP/types").RedisArgument, options?: import("./SCAN").ScanCommonOptions | undefined) => void; + readonly transformReply: (this: void, [cursor, members]: [import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply[]]) => { + cursor: import("../RESP/types").BlobStringReply; + members: import("../RESP/types").BlobStringReply[]; + }; + }; + readonly STRLEN: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly strLen: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly SUNION: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly sUnion: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly SUNIONSTORE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly sUnionStore: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly SWAPDB: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, index1: number, index2: number) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly swapDb: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, index1: number, index2: number) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly TIME: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => [unixTimestamp: import("../RESP/types").BlobStringReply<`${number}`>, microseconds: import("../RESP/types").BlobStringReply<`${number}`>]; + }; + readonly time: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => [unixTimestamp: import("../RESP/types").BlobStringReply<`${number}`>, microseconds: import("../RESP/types").BlobStringReply<`${number}`>]; + }; + readonly TOUCH: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly touch: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly TTL: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly ttl: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly TYPE: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly type: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly UNLINK: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly unlink: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly WAIT: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, numberOfReplicas: number, timeout: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly wait: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, numberOfReplicas: number, timeout: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly XACK: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, id: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly xAck: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, id: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly XACKDEL: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, id: import("./generic-transformers").RedisVariadicArgument, policy?: import("./common-stream.types").StreamDeletionPolicy | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply; + }; + readonly xAckDel: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, id: import("./generic-transformers").RedisVariadicArgument, policy?: import("./common-stream.types").StreamDeletionPolicy | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply; + }; + readonly XADD_NOMKSTREAM: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, id: import("../RESP/types").RedisArgument, message: Record, options?: import("./XADD").XAddOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly xAddNoMkStream: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, id: import("../RESP/types").RedisArgument, message: Record, options?: import("./XADD").XAddOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly XADD: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, id: import("../RESP/types").RedisArgument, message: Record, options?: import("./XADD").XAddOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly xAdd: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, id: import("../RESP/types").RedisArgument, message: Record, options?: import("./XADD").XAddOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + readonly XAUTOCLAIM_JUSTID: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument, minIdleTime: number, start: import("../RESP/types").RedisArgument, options?: import("./XAUTOCLAIM").XAutoClaimOptions | undefined) => void; + readonly transformReply: (this: void, reply: [nextId: import("../RESP/types").BlobStringReply, messages: import("../RESP/types").ArrayReply>, deletedMessages: import("../RESP/types").ArrayReply>]) => { + nextId: import("../RESP/types").BlobStringReply; + messages: import("../RESP/types").ArrayReply>; + deletedMessages: import("../RESP/types").ArrayReply>; + }; + }; + readonly xAutoClaimJustId: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument, minIdleTime: number, start: import("../RESP/types").RedisArgument, options?: import("./XAUTOCLAIM").XAutoClaimOptions | undefined) => void; + readonly transformReply: (this: void, reply: [nextId: import("../RESP/types").BlobStringReply, messages: import("../RESP/types").ArrayReply>, deletedMessages: import("../RESP/types").ArrayReply>]) => { + nextId: import("../RESP/types").BlobStringReply; + messages: import("../RESP/types").ArrayReply>; + deletedMessages: import("../RESP/types").ArrayReply>; + }; + }; + readonly XAUTOCLAIM: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument, minIdleTime: number, start: import("../RESP/types").RedisArgument, options?: import("./XAUTOCLAIM").XAutoClaimOptions | undefined) => void; + readonly transformReply: (this: void, reply: [nextId: import("../RESP/types").BlobStringReply, messages: import("../RESP/types").ArrayReply, deletedMessages: import("../RESP/types").ArrayReply>], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + nextId: import("../RESP/types").BlobStringReply; + messages: (import("../RESP/types").NullReply | import("./generic-transformers").StreamMessageReply)[]; + deletedMessages: import("../RESP/types").ArrayReply>; + }; + }; + readonly xAutoClaim: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument, minIdleTime: number, start: import("../RESP/types").RedisArgument, options?: import("./XAUTOCLAIM").XAutoClaimOptions | undefined) => void; + readonly transformReply: (this: void, reply: [nextId: import("../RESP/types").BlobStringReply, messages: import("../RESP/types").ArrayReply, deletedMessages: import("../RESP/types").ArrayReply>], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + nextId: import("../RESP/types").BlobStringReply; + messages: (import("../RESP/types").NullReply | import("./generic-transformers").StreamMessageReply)[]; + deletedMessages: import("../RESP/types").ArrayReply>; + }; + }; + readonly XCLAIM_JUSTID: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument, minIdleTime: number, id: import("./generic-transformers").RedisVariadicArgument, options?: import("./XCLAIM").XClaimOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly xClaimJustId: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument, minIdleTime: number, id: import("./generic-transformers").RedisVariadicArgument, options?: import("./XCLAIM").XClaimOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly XCLAIM: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument, minIdleTime: number, id: import("./generic-transformers").RedisVariadicArgument, options?: import("./XCLAIM").XClaimOptions | undefined) => void; + readonly transformReply: (this: void, reply: (import("../RESP/types").NullReply | import("./generic-transformers").StreamMessageRawReply)[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => (import("../RESP/types").NullReply | import("./generic-transformers").StreamMessageReply)[]; + }; + readonly xClaim: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument, minIdleTime: number, id: import("./generic-transformers").RedisVariadicArgument, options?: import("./XCLAIM").XClaimOptions | undefined) => void; + readonly transformReply: (this: void, reply: (import("../RESP/types").NullReply | import("./generic-transformers").StreamMessageRawReply)[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => (import("../RESP/types").NullReply | import("./generic-transformers").StreamMessageReply)[]; + }; + readonly XCFGSET: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, options?: import("./XCFGSET").XCfgSetOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly xCfgSet: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, options?: import("./XCFGSET").XCfgSetOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly XDEL: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, id: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly xDel: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, id: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly XDELEX: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, id: import("./generic-transformers").RedisVariadicArgument, policy?: import("./common-stream.types").StreamDeletionPolicy | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply; + }; + readonly xDelEx: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, id: import("./generic-transformers").RedisVariadicArgument, policy?: import("./common-stream.types").StreamDeletionPolicy | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply; + }; + readonly XGROUP_CREATE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, id: import("../RESP/types").RedisArgument, options?: import("./XGROUP_CREATE").XGroupCreateOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly xGroupCreate: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, id: import("../RESP/types").RedisArgument, options?: import("./XGROUP_CREATE").XGroupCreateOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly XGROUP_CREATECONSUMER: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly xGroupCreateConsumer: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly XGROUP_DELCONSUMER: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly xGroupDelConsumer: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly XGROUP_DESTROY: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly xGroupDestroy: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly XGROUP_SETID: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, id: import("../RESP/types").RedisArgument, options?: import("./XGROUP_SETID").XGroupSetIdOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly xGroupSetId: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, id: import("../RESP/types").RedisArgument, options?: import("./XGROUP_SETID").XGroupSetIdOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly XINFO_CONSUMERS: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"pending">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"idle">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"inactive">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"pending">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"idle">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"inactive">, import("../RESP/types").NumberReply]>[]) => { + name: import("../RESP/types").BlobStringReply; + pending: import("../RESP/types").NumberReply; + idle: import("../RESP/types").NumberReply; + inactive: import("../RESP/types").NumberReply; + }[]; + readonly 3: () => import("./XINFO_CONSUMERS").XInfoConsumersReply; + }; + }; + readonly xInfoConsumers: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"pending">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"idle">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"inactive">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"pending">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"idle">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"inactive">, import("../RESP/types").NumberReply]>[]) => { + name: import("../RESP/types").BlobStringReply; + pending: import("../RESP/types").NumberReply; + idle: import("../RESP/types").NumberReply; + inactive: import("../RESP/types").NumberReply; + }[]; + readonly 3: () => import("./XINFO_CONSUMERS").XInfoConsumersReply; + }; + }; + readonly XINFO_GROUPS: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"consumers">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"pending">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"last-delivered-id">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"entries-read">, import("../RESP/types").NullReply | import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"lag">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"consumers">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"pending">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"last-delivered-id">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"entries-read">, import("../RESP/types").NullReply | import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"lag">, import("../RESP/types").NumberReply]>[]) => { + name: import("../RESP/types").BlobStringReply; + consumers: import("../RESP/types").NumberReply; + pending: import("../RESP/types").NumberReply; + 'last-delivered-id': import("../RESP/types").NumberReply; + 'entries-read': import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + lag: import("../RESP/types").NumberReply; + }[]; + readonly 3: () => import("./XINFO_GROUPS").XInfoGroupsReply; + }; + }; + readonly xInfoGroups: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"consumers">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"pending">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"last-delivered-id">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"entries-read">, import("../RESP/types").NullReply | import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"lag">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"consumers">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"pending">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"last-delivered-id">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"entries-read">, import("../RESP/types").NullReply | import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"lag">, import("../RESP/types").NumberReply]>[]) => { + name: import("../RESP/types").BlobStringReply; + consumers: import("../RESP/types").NumberReply; + pending: import("../RESP/types").NumberReply; + 'last-delivered-id': import("../RESP/types").NumberReply; + 'entries-read': import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + lag: import("../RESP/types").NumberReply; + }[]; + readonly 3: () => import("./XINFO_GROUPS").XInfoGroupsReply; + }; + }; + readonly XINFO_STREAM: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: any) => { + length: import("../RESP/types").NumberReply; + "radix-tree-keys": import("../RESP/types").NumberReply; + "radix-tree-nodes": import("../RESP/types").NumberReply; + "last-generated-id": import("../RESP/types").BlobStringReply; + "max-deleted-entry-id": import("../RESP/types").BlobStringReply; + "entries-added": import("../RESP/types").NumberReply; + "recorded-first-entry-id": import("../RESP/types").BlobStringReply; + "idmp-duration": import("../RESP/types").NumberReply; + "idmp-maxsize": import("../RESP/types").NumberReply; + "pids-tracked": import("../RESP/types").NumberReply; + "iids-tracked": import("../RESP/types").NumberReply; + "iids-added": import("../RESP/types").NumberReply; + "iids-duplicates": import("../RESP/types").NumberReply; + groups: import("../RESP/types").NumberReply; + "first-entry": import("../RESP/types").NullReply | { + id: import("../RESP/types").BlobStringReply; + message: import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>; + }; + "last-entry": import("../RESP/types").NullReply | { + id: import("../RESP/types").BlobStringReply; + message: import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>; + }; + }; + readonly 3: (this: void, reply: any) => import("./XINFO_STREAM").XInfoStreamReply; + }; + }; + readonly xInfoStream: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: any) => { + length: import("../RESP/types").NumberReply; + "radix-tree-keys": import("../RESP/types").NumberReply; + "radix-tree-nodes": import("../RESP/types").NumberReply; + "last-generated-id": import("../RESP/types").BlobStringReply; + "max-deleted-entry-id": import("../RESP/types").BlobStringReply; + "entries-added": import("../RESP/types").NumberReply; + "recorded-first-entry-id": import("../RESP/types").BlobStringReply; + "idmp-duration": import("../RESP/types").NumberReply; + "idmp-maxsize": import("../RESP/types").NumberReply; + "pids-tracked": import("../RESP/types").NumberReply; + "iids-tracked": import("../RESP/types").NumberReply; + "iids-added": import("../RESP/types").NumberReply; + "iids-duplicates": import("../RESP/types").NumberReply; + groups: import("../RESP/types").NumberReply; + "first-entry": import("../RESP/types").NullReply | { + id: import("../RESP/types").BlobStringReply; + message: import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>; + }; + "last-entry": import("../RESP/types").NullReply | { + id: import("../RESP/types").BlobStringReply; + message: import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>; + }; + }; + readonly 3: (this: void, reply: any) => import("./XINFO_STREAM").XInfoStreamReply; + }; + }; + readonly XLEN: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly xLen: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly XPENDING_RANGE: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, start: import("../RESP/types").RedisArgument, end: import("../RESP/types").RedisArgument, count: number, options?: import("./XPENDING_RANGE").XPendingRangeOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[id: import("../RESP/types").BlobStringReply, consumer: import("../RESP/types").BlobStringReply, millisecondsSinceLastDelivery: import("../RESP/types").NumberReply, deliveriesCounter: import("../RESP/types").NumberReply]>[]) => { + id: import("../RESP/types").BlobStringReply; + consumer: import("../RESP/types").BlobStringReply; + millisecondsSinceLastDelivery: import("../RESP/types").NumberReply; + deliveriesCounter: import("../RESP/types").NumberReply; + }[]; + }; + readonly xPendingRange: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, start: import("../RESP/types").RedisArgument, end: import("../RESP/types").RedisArgument, count: number, options?: import("./XPENDING_RANGE").XPendingRangeOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[id: import("../RESP/types").BlobStringReply, consumer: import("../RESP/types").BlobStringReply, millisecondsSinceLastDelivery: import("../RESP/types").NumberReply, deliveriesCounter: import("../RESP/types").NumberReply]>[]) => { + id: import("../RESP/types").BlobStringReply; + consumer: import("../RESP/types").BlobStringReply; + millisecondsSinceLastDelivery: import("../RESP/types").NumberReply; + deliveriesCounter: import("../RESP/types").NumberReply; + }[]; + }; + readonly XPENDING: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument) => void; + readonly transformReply: (this: void, reply: [pending: import("../RESP/types").NumberReply, firstId: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, lastId: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, consumers: import("../RESP/types").NullReply | import("../RESP/types").ArrayReply, deliveriesCounter: import("../RESP/types").BlobStringReply]>>]) => { + pending: import("../RESP/types").NumberReply; + firstId: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + lastId: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + consumers: { + name: import("../RESP/types").BlobStringReply; + deliveriesCounter: number; + }[] | null; + }; + }; + readonly xPending: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument) => void; + readonly transformReply: (this: void, reply: [pending: import("../RESP/types").NumberReply, firstId: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, lastId: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, consumers: import("../RESP/types").NullReply | import("../RESP/types").ArrayReply, deliveriesCounter: import("../RESP/types").BlobStringReply]>>]) => { + pending: import("../RESP/types").NumberReply; + firstId: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + lastId: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + consumers: { + name: import("../RESP/types").BlobStringReply; + deliveriesCounter: number; + }[] | null; + }; + }; + readonly XRANGE: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, start: import("../RESP/types").RedisArgument, end: import("../RESP/types").RedisArgument, options?: import("./XRANGE").XRangeOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("./generic-transformers").StreamMessageRawReply[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("./generic-transformers").StreamMessageReply[]; + }; + readonly xRange: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, start: import("../RESP/types").RedisArgument, end: import("../RESP/types").RedisArgument, options?: import("./XRANGE").XRangeOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("./generic-transformers").StreamMessageRawReply[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("./generic-transformers").StreamMessageReply[]; + }; + readonly XREAD: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, streams: import("./XREAD").XReadStreams, options?: import("./XREAD").XReadOptions | undefined) => void; + readonly transformReply: { + readonly 2: typeof import("./generic-transformers").transformStreamsMessagesReplyResp2; + readonly 3: () => import("../RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + readonly xRead: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, streams: import("./XREAD").XReadStreams, options?: import("./XREAD").XReadOptions | undefined) => void; + readonly transformReply: { + readonly 2: typeof import("./generic-transformers").transformStreamsMessagesReplyResp2; + readonly 3: () => import("../RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + readonly XREADGROUP: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument, streams: import("./XREAD").XReadStreams, options?: import("./XREADGROUP").XReadGroupOptions | undefined) => void; + readonly transformReply: { + readonly 2: typeof import("./generic-transformers").transformStreamsMessagesReplyResp2; + readonly 3: () => import("../RESP/types").ReplyUnion; + }; + }; + readonly xReadGroup: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument, streams: import("./XREAD").XReadStreams, options?: import("./XREADGROUP").XReadGroupOptions | undefined) => void; + readonly transformReply: { + readonly 2: typeof import("./generic-transformers").transformStreamsMessagesReplyResp2; + readonly 3: () => import("../RESP/types").ReplyUnion; + }; + }; + readonly XREVRANGE: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, start: import("../RESP/types").RedisArgument, end: import("../RESP/types").RedisArgument, options?: import("./XRANGE").XRangeOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("./generic-transformers").StreamMessageRawReply[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("./generic-transformers").StreamMessageReply[]; + }; + readonly xRevRange: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, start: import("../RESP/types").RedisArgument, end: import("../RESP/types").RedisArgument, options?: import("./XRANGE").XRangeOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("./generic-transformers").StreamMessageRawReply[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("./generic-transformers").StreamMessageReply[]; + }; + readonly XSETID: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, lastId: import("../RESP/types").RedisArgument, options?: import("./XSETID").XSetIdOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly xSetId: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, lastId: import("../RESP/types").RedisArgument, options?: import("./XSETID").XSetIdOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly XTRIM: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, strategy: "MAXLEN" | "MINID", threshold: string | number, options?: import("./XTRIM").XTrimOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly xTrim: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, strategy: "MAXLEN" | "MINID", threshold: string | number, options?: import("./XTRIM").XTrimOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly ZADD_INCR: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, members: import("./generic-transformers").SortedSetMember | import("./generic-transformers").SortedSetMember[], options?: import("./ZADD_INCR").ZAddOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").DoubleReply | null; + 3: () => import("../RESP/types").NullReply | import("../RESP/types").DoubleReply; + }; + }; + readonly zAddIncr: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, members: import("./generic-transformers").SortedSetMember | import("./generic-transformers").SortedSetMember[], options?: import("./ZADD_INCR").ZAddOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").DoubleReply | null; + 3: () => import("../RESP/types").NullReply | import("../RESP/types").DoubleReply; + }; + }; + readonly ZADD: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, members: import("./generic-transformers").SortedSetMember | import("./generic-transformers").SortedSetMember[], options?: import("./ZADD").ZAddOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").DoubleReply; + 3: () => import("../RESP/types").DoubleReply; + }; + }; + readonly zAdd: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, members: import("./generic-transformers").SortedSetMember | import("./generic-transformers").SortedSetMember[], options?: import("./ZADD").ZAddOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").DoubleReply; + 3: () => import("../RESP/types").DoubleReply; + }; + }; + readonly ZCARD: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly zCard: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly ZCOUNT: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: number | import("../RESP/types").RedisArgument, max: number | import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly zCount: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: number | import("../RESP/types").RedisArgument, max: number | import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly ZDIFF_WITHSCORES: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + readonly zDiffWithScores: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + readonly ZDIFF: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly zDiff: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly ZDIFFSTORE: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, inputKeys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly zDiffStore: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, inputKeys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly ZINCRBY: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, increment: number, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").DoubleReply; + 3: () => import("../RESP/types").DoubleReply; + }; + }; + readonly zIncrBy: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, increment: number, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").DoubleReply; + 3: () => import("../RESP/types").DoubleReply; + }; + }; + readonly ZINTER_WITHSCORES: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./ZINTER").ZInterKeysType, options?: import("./ZINTER").ZInterOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + readonly zInterWithScores: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./ZINTER").ZInterKeysType, options?: import("./ZINTER").ZInterOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + readonly ZINTER: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./ZINTER").ZInterKeysType, options?: import("./ZINTER").ZInterOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly zInter: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./ZINTER").ZInterKeysType, options?: import("./ZINTER").ZInterOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly ZINTERCARD: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument, options?: number | import("./ZINTERCARD").ZInterCardOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly zInterCard: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument, options?: number | import("./ZINTERCARD").ZInterCardOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly ZINTERSTORE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, keys: import("./generic-transformers").ZKeys, options?: import("./ZINTER").ZInterOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly zInterStore: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, keys: import("./generic-transformers").ZKeys, options?: import("./ZINTER").ZInterOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly ZLEXCOUNT: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: import("../RESP/types").RedisArgument, max: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly zLexCount: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: import("../RESP/types").RedisArgument, max: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly ZMPOP: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument, side: import("./generic-transformers").SortedSetSide, options?: import("./ZMPOP").ZMPopOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("../RESP/types").UnwrapReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + key: import("../RESP/types").BlobStringReply; + members: { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + } | null; + readonly 3: (this: void, reply: import("../RESP/types").UnwrapReply) => { + key: import("../RESP/types").BlobStringReply; + members: { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + } | null; + }; + }; + readonly zmPop: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument, side: import("./generic-transformers").SortedSetSide, options?: import("./ZMPOP").ZMPopOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("../RESP/types").UnwrapReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + key: import("../RESP/types").BlobStringReply; + members: { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + } | null; + readonly 3: (this: void, reply: import("../RESP/types").UnwrapReply) => { + key: import("../RESP/types").BlobStringReply; + members: { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + } | null; + }; + }; + readonly ZMSCORE: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + readonly 2: (reply: (import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply)[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => (import("../RESP/types").DoubleReply | null)[]; + readonly 3: () => import("../RESP/types").ArrayReply>; + }; + }; + readonly zmScore: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + readonly 2: (reply: (import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply)[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => (import("../RESP/types").DoubleReply | null)[]; + readonly 3: () => import("../RESP/types").ArrayReply>; + }; + }; + readonly ZPOPMAX_COUNT: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + readonly zPopMaxCount: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + readonly ZPOPMAX: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply]>>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + readonly 3: (reply: import("../RESP/types").UnwrapReply, import("../RESP/types").DoubleReply] | []>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + }; + }; + readonly zPopMax: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply]>>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + readonly 3: (reply: import("../RESP/types").UnwrapReply, import("../RESP/types").DoubleReply] | []>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + }; + }; + readonly ZPOPMIN_COUNT: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + readonly zPopMinCount: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + readonly ZPOPMIN: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply]>>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + readonly 3: (reply: import("../RESP/types").UnwrapReply, import("../RESP/types").DoubleReply] | []>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + }; + }; + readonly zPopMin: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply]>>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + readonly 3: (reply: import("../RESP/types").UnwrapReply, import("../RESP/types").DoubleReply] | []>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + }; + }; + readonly ZRANDMEMBER_COUNT_WITHSCORES: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + readonly zRandMemberCountWithScores: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + readonly ZRANDMEMBER_COUNT: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly zRandMemberCount: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly ZRANDMEMBER: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly zRandMember: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + readonly ZRANGE_WITHSCORES: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: number | import("../RESP/types").RedisArgument, max: number | import("../RESP/types").RedisArgument, options?: import("./ZRANGE").ZRangeOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + readonly zRangeWithScores: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: number | import("../RESP/types").RedisArgument, max: number | import("../RESP/types").RedisArgument, options?: import("./ZRANGE").ZRangeOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + readonly ZRANGE: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: number | import("../RESP/types").RedisArgument, max: number | import("../RESP/types").RedisArgument, options?: import("./ZRANGE").ZRangeOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly zRange: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: number | import("../RESP/types").RedisArgument, max: number | import("../RESP/types").RedisArgument, options?: import("./ZRANGE").ZRangeOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly ZRANGEBYLEX: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: import("../RESP/types").RedisArgument, max: import("../RESP/types").RedisArgument, options?: import("./ZRANGEBYLEX").ZRangeByLexOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly zRangeByLex: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: import("../RESP/types").RedisArgument, max: import("../RESP/types").RedisArgument, options?: import("./ZRANGEBYLEX").ZRangeByLexOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly ZRANGEBYSCORE_WITHSCORES: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: string | number, max: string | number, options?: import("./ZRANGEBYSCORE").ZRangeByScoreOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + readonly zRangeByScoreWithScores: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: string | number, max: string | number, options?: import("./ZRANGEBYSCORE").ZRangeByScoreOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + readonly ZRANGEBYSCORE: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: string | number, max: string | number, options?: import("./ZRANGEBYSCORE").ZRangeByScoreOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly zRangeByScore: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: string | number, max: string | number, options?: import("./ZRANGEBYSCORE").ZRangeByScoreOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly ZRANGESTORE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, source: import("../RESP/types").RedisArgument, min: number | import("../RESP/types").RedisArgument, max: number | import("../RESP/types").RedisArgument, options?: import("./ZRANGESTORE").ZRangeStoreOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly zRangeStore: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, source: import("../RESP/types").RedisArgument, min: number | import("../RESP/types").RedisArgument, max: number | import("../RESP/types").RedisArgument, options?: import("./ZRANGESTORE").ZRangeStoreOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly ZRANK_WITHSCORE: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply]>>) => { + rank: import("../RESP/types").NumberReply; + score: number; + } | null; + readonly 3: (reply: import("../RESP/types").UnwrapReply, import("../RESP/types").DoubleReply]>>) => { + rank: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + }; + }; + readonly zRankWithScore: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply]>>) => { + rank: import("../RESP/types").NumberReply; + score: number; + } | null; + readonly 3: (reply: import("../RESP/types").UnwrapReply, import("../RESP/types").DoubleReply]>>) => { + rank: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + }; + }; + readonly ZRANK: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + }; + readonly zRank: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + }; + readonly ZREM: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly zRem: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly ZREMRANGEBYLEX: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: number | import("../RESP/types").RedisArgument, max: number | import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly zRemRangeByLex: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: number | import("../RESP/types").RedisArgument, max: number | import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly ZREMRANGEBYRANK: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, start: number, stop: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly zRemRangeByRank: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, start: number, stop: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly ZREMRANGEBYSCORE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: number | import("../RESP/types").RedisArgument, max: number | import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly zRemRangeByScore: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: number | import("../RESP/types").RedisArgument, max: number | import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly ZREVRANK: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + }; + readonly zRevRank: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + }; + readonly ZSCAN: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, cursor: import("../RESP/types").RedisArgument, options?: import("./SCAN").ScanCommonOptions | undefined) => void; + readonly transformReply: (this: void, [cursor, rawMembers]: [import("../RESP/types").BlobStringReply, import("../RESP/types").ArrayReply>]) => { + cursor: import("../RESP/types").BlobStringReply; + members: { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + readonly zScan: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, cursor: import("../RESP/types").RedisArgument, options?: import("./SCAN").ScanCommonOptions | undefined) => void; + readonly transformReply: (this: void, [cursor, rawMembers]: [import("../RESP/types").BlobStringReply, import("../RESP/types").ArrayReply>]) => { + cursor: import("../RESP/types").BlobStringReply; + members: { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + readonly ZSCORE: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").DoubleReply | null; + 3: () => import("../RESP/types").NullReply | import("../RESP/types").DoubleReply; + }; + }; + readonly zScore: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").DoubleReply | null; + 3: () => import("../RESP/types").NullReply | import("../RESP/types").DoubleReply; + }; + }; + readonly ZUNION_WITHSCORES: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").ZKeys, options?: import("./ZUNION").ZUnionOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + readonly zUnionWithScores: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").ZKeys, options?: import("./ZUNION").ZUnionOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + readonly ZUNION: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").ZKeys, options?: import("./ZUNION").ZUnionOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly zUnion: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").ZKeys, options?: import("./ZUNION").ZUnionOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly ZUNIONSTORE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, keys: import("./generic-transformers").ZKeys, options?: import("./ZUNIONSTORE").ZUnionOptions | undefined) => any; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly zUnionStore: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, keys: import("./generic-transformers").ZKeys, options?: import("./ZUNIONSTORE").ZUnionOptions | undefined) => any; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly VADD: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, vector: number[], element: import("../RESP/types").RedisArgument, options?: import("./VADD").VAddOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("../RESP/types").BooleanReply; + }; + }; + readonly vAdd: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, vector: number[], element: import("../RESP/types").RedisArgument, options?: import("./VADD").VAddOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("../RESP/types").BooleanReply; + }; + }; + readonly VCARD: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly vCard: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly VDIM: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly vDim: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + readonly VEMB: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").DoubleReply[]; + 3: () => import("../RESP/types").ArrayReply>; + }; + }; + readonly vEmb: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").DoubleReply[]; + 3: () => import("../RESP/types").ArrayReply>; + }; + }; + readonly VEMB_RAW: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: any[]) => { + quantization: import("../RESP/types").SimpleStringReply; + raw: import("../RESP/types").BlobStringReply; + l2Norm: import("../RESP/types").DoubleReply; + quantizationRange?: import("../RESP/types").DoubleReply | undefined; + }; + 3: (reply: any[]) => { + quantization: import("../RESP/types").SimpleStringReply; + raw: import("../RESP/types").BlobStringReply; + l2Norm: import("../RESP/types").DoubleReply; + quantizationRange?: import("../RESP/types").DoubleReply | undefined; + }; + }; + }; + readonly vEmbRaw: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: any[]) => { + quantization: import("../RESP/types").SimpleStringReply; + raw: import("../RESP/types").BlobStringReply; + l2Norm: import("../RESP/types").DoubleReply; + quantizationRange?: import("../RESP/types").DoubleReply | undefined; + }; + 3: (reply: any[]) => { + quantization: import("../RESP/types").SimpleStringReply; + raw: import("../RESP/types").BlobStringReply; + l2Norm: import("../RESP/types").DoubleReply; + quantizationRange?: import("../RESP/types").DoubleReply | undefined; + }; + }; + }; + readonly VGETATTR: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: typeof import("./generic-transformers").transformRedisJsonNullReply; + }; + readonly vGetAttr: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: typeof import("./generic-transformers").transformRedisJsonNullReply; + }; + readonly VINFO: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: [import("../RESP/types").SimpleStringReply<"quant-type">, import("../RESP/types").SimpleStringReply, import("../RESP/types").SimpleStringReply<"vector-dim">, import("../RESP/types").NumberReply, import("../RESP/types").SimpleStringReply<"size">, import("../RESP/types").NumberReply, import("../RESP/types").SimpleStringReply<"max-level">, import("../RESP/types").NumberReply, import("../RESP/types").SimpleStringReply<"vset-uid">, import("../RESP/types").NumberReply, import("../RESP/types").SimpleStringReply<"hnsw-max-node-uid">, import("../RESP/types").NumberReply]) => import("./VINFO").VInfoReplyMap; + readonly 3: () => import("./VINFO").VInfoReplyMap; + }; + }; + readonly vInfo: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: [import("../RESP/types").SimpleStringReply<"quant-type">, import("../RESP/types").SimpleStringReply, import("../RESP/types").SimpleStringReply<"vector-dim">, import("../RESP/types").NumberReply, import("../RESP/types").SimpleStringReply<"size">, import("../RESP/types").NumberReply, import("../RESP/types").SimpleStringReply<"max-level">, import("../RESP/types").NumberReply, import("../RESP/types").SimpleStringReply<"vset-uid">, import("../RESP/types").NumberReply, import("../RESP/types").SimpleStringReply<"hnsw-max-node-uid">, import("../RESP/types").NumberReply]) => import("./VINFO").VInfoReplyMap; + readonly 3: () => import("./VINFO").VInfoReplyMap; + }; + }; + readonly VLINKS: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>>; + }; + readonly vLinks: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>>; + }; + readonly VLINKS_WITHSCORES: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: any) => Record>[]; + readonly 3: () => import("../RESP/types").MapReply, import("../RESP/types").DoubleReply>[]; + }; + }; + readonly vLinksWithScores: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: any) => Record>[]; + readonly 3: () => import("../RESP/types").MapReply, import("../RESP/types").DoubleReply>[]; + }; + }; + readonly VRANDMEMBER: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count?: number | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply | import("../RESP/types").ArrayReply>; + }; + readonly vRandMember: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count?: number | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply | import("../RESP/types").ArrayReply>; + }; + readonly VRANGE: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, start: import("../RESP/types").RedisArgument, end: import("../RESP/types").RedisArgument, count?: number | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly vRange: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, start: import("../RESP/types").RedisArgument, end: import("../RESP/types").RedisArgument, count?: number | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly VREM: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("../RESP/types").BooleanReply; + }; + }; + readonly vRem: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("../RESP/types").BooleanReply; + }; + }; + readonly VSETATTR: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument, attributes: import("../RESP/types").RedisArgument | Record) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("../RESP/types").BooleanReply; + }; + }; + readonly vSetAttr: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument, attributes: import("../RESP/types").RedisArgument | Record) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("../RESP/types").BooleanReply; + }; + }; + readonly VSIM: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, query: number[] | import("../RESP/types").RedisArgument, options?: import("./VSIM").VSimOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly vSim: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, query: number[] | import("../RESP/types").RedisArgument, options?: import("./VSIM").VSimOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + readonly VSIM_WITHSCORES: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, query: number[] | import("../RESP/types").RedisArgument, options?: import("./VSIM").VSimOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").ArrayReply>) => Record>; + readonly 3: () => import("../RESP/types").MapReply, import("../RESP/types").DoubleReply>; + }; + }; + readonly vSimWithScores: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, query: number[] | import("../RESP/types").RedisArgument, options?: import("./VSIM").VSimOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").ArrayReply>) => Record>; + readonly 3: () => import("../RESP/types").MapReply, import("../RESP/types").DoubleReply>; + }; + }; +}; +export default _default; +declare const NON_STICKY_COMMANDS: { + ACL_CAT: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, categoryName?: import("../RESP/types").RedisArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + aclCat: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, categoryName?: import("../RESP/types").RedisArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + ACL_DELUSER: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, username: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + aclDelUser: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, username: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + ACL_DRYRUN: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, username: import("../RESP/types").RedisArgument, command: import("../RESP/types").RedisArgument[]) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply | import("../RESP/types").SimpleStringReply<"OK">; + }; + aclDryRun: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, username: import("../RESP/types").RedisArgument, command: import("../RESP/types").RedisArgument[]) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply | import("../RESP/types").SimpleStringReply<"OK">; + }; + ACL_GENPASS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, bits?: number | undefined) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + aclGenPass: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, bits?: number | undefined) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + ACL_GETUSER: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, username: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: [import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>, import("../RESP/types").BlobStringReply<"passwords">, import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>, import("../RESP/types").BlobStringReply<"commands">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"keys">, import("../RESP/types").BlobStringReply | import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>, import("../RESP/types").BlobStringReply<"channels">, import("../RESP/types").BlobStringReply | import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>, import("../RESP/types").BlobStringReply<"selectors">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"commands">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"keys">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"channels">, import("../RESP/types").BlobStringReply], never, [import("../RESP/types").BlobStringReply<"commands">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"keys">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"channels">, import("../RESP/types").BlobStringReply]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"commands">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"keys">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"channels">, import("../RESP/types").BlobStringReply], never, [import("../RESP/types").BlobStringReply<"commands">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"keys">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"channels">, import("../RESP/types").BlobStringReply]>[]>]) => { + flags: import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + passwords: import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + commands: import("../RESP/types").BlobStringReply; + keys: import("../RESP/types").BlobStringReply | import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + channels: import("../RESP/types").BlobStringReply | import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + selectors: { + commands: import("../RESP/types").BlobStringReply; + keys: import("../RESP/types").BlobStringReply; + channels: import("../RESP/types").BlobStringReply; + }[]; + }; + readonly 3: () => import("../RESP/types").TuplesToMapReply<[[import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").ArrayReply>], [import("../RESP/types").BlobStringReply<"passwords">, import("../RESP/types").ArrayReply>], [import("../RESP/types").BlobStringReply<"commands">, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"keys">, import("../RESP/types").ArrayReply> | import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"channels">, import("../RESP/types").ArrayReply> | import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"selectors">, import("../RESP/types").ArrayReply, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"keys">, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"channels">, import("../RESP/types").BlobStringReply]]>>]]>; + }; + }; + aclGetUser: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, username: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: [import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>, import("../RESP/types").BlobStringReply<"passwords">, import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>, import("../RESP/types").BlobStringReply<"commands">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"keys">, import("../RESP/types").BlobStringReply | import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>, import("../RESP/types").BlobStringReply<"channels">, import("../RESP/types").BlobStringReply | import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>, import("../RESP/types").BlobStringReply<"selectors">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"commands">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"keys">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"channels">, import("../RESP/types").BlobStringReply], never, [import("../RESP/types").BlobStringReply<"commands">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"keys">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"channels">, import("../RESP/types").BlobStringReply]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"commands">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"keys">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"channels">, import("../RESP/types").BlobStringReply], never, [import("../RESP/types").BlobStringReply<"commands">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"keys">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"channels">, import("../RESP/types").BlobStringReply]>[]>]) => { + flags: import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + passwords: import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + commands: import("../RESP/types").BlobStringReply; + keys: import("../RESP/types").BlobStringReply | import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + channels: import("../RESP/types").BlobStringReply | import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + selectors: { + commands: import("../RESP/types").BlobStringReply; + keys: import("../RESP/types").BlobStringReply; + channels: import("../RESP/types").BlobStringReply; + }[]; + }; + readonly 3: () => import("../RESP/types").TuplesToMapReply<[[import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").ArrayReply>], [import("../RESP/types").BlobStringReply<"passwords">, import("../RESP/types").ArrayReply>], [import("../RESP/types").BlobStringReply<"commands">, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"keys">, import("../RESP/types").ArrayReply> | import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"channels">, import("../RESP/types").ArrayReply> | import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"selectors">, import("../RESP/types").ArrayReply, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"keys">, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"channels">, import("../RESP/types").BlobStringReply]]>>]]>; + }; + }; + ACL_LIST: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + aclList: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + ACL_LOAD: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + aclLoad: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + ACL_LOG_RESET: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + aclLogReset: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + ACL_LOG: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, count?: number | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"count">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"reason">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"context">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"object">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"username">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"age-seconds">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"client-info">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"entry-id">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"timestamp-created">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"timestamp-last-updated">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"count">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"reason">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"context">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"object">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"username">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"age-seconds">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"client-info">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"entry-id">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"timestamp-created">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"timestamp-last-updated">, import("../RESP/types").NumberReply]>[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + count: import("../RESP/types").NumberReply; + reason: import("../RESP/types").BlobStringReply; + context: import("../RESP/types").BlobStringReply; + object: import("../RESP/types").BlobStringReply; + username: import("../RESP/types").BlobStringReply; + 'age-seconds': import("../RESP/types").DoubleReply; + 'client-info': import("../RESP/types").BlobStringReply; + 'entry-id': import("../RESP/types").NumberReply; + 'timestamp-created': import("../RESP/types").NumberReply; + 'timestamp-last-updated': import("../RESP/types").NumberReply; + }[]; + readonly 3: () => import("./ACL_LOG").AclLogReply; + }; + }; + aclLog: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, count?: number | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"count">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"reason">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"context">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"object">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"username">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"age-seconds">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"client-info">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"entry-id">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"timestamp-created">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"timestamp-last-updated">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"count">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"reason">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"context">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"object">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"username">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"age-seconds">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"client-info">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"entry-id">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"timestamp-created">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"timestamp-last-updated">, import("../RESP/types").NumberReply]>[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + count: import("../RESP/types").NumberReply; + reason: import("../RESP/types").BlobStringReply; + context: import("../RESP/types").BlobStringReply; + object: import("../RESP/types").BlobStringReply; + username: import("../RESP/types").BlobStringReply; + 'age-seconds': import("../RESP/types").DoubleReply; + 'client-info': import("../RESP/types").BlobStringReply; + 'entry-id': import("../RESP/types").NumberReply; + 'timestamp-created': import("../RESP/types").NumberReply; + 'timestamp-last-updated': import("../RESP/types").NumberReply; + }[]; + readonly 3: () => import("./ACL_LOG").AclLogReply; + }; + }; + ACL_SAVE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + aclSave: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + ACL_SETUSER: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, username: import("../RESP/types").RedisArgument, rule: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + aclSetUser: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, username: import("../RESP/types").RedisArgument, rule: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + ACL_USERS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + aclUsers: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + ACL_WHOAMI: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + aclWhoAmI: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + APPEND: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, value: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + append: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, value: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + ASKING: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + asking: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + AUTH: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, { username, password }: import("./AUTH").AuthOptions) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + auth: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, { username, password }: import("./AUTH").AuthOptions) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + BGREWRITEAOF: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + bgRewriteAof: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + BGSAVE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, options?: import("./BGSAVE").BgSaveOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + bgSave: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, options?: import("./BGSAVE").BgSaveOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + BITCOUNT: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, range?: import("./BITCOUNT").BitCountRange | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + bitCount: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, range?: import("./BITCOUNT").BitCountRange | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + BITFIELD_RO: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, operations: import("./BITFIELD_RO").BitFieldRoOperations) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + bitFieldRo: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, operations: import("./BITFIELD_RO").BitFieldRoOperations) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + BITFIELD: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, operations: import("./BITFIELD").BitFieldOperations) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + bitField: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, operations: import("./BITFIELD").BitFieldOperations) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + BITOP: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, operation: import("./BITOP").BitOperations, destKey: import("../RESP/types").RedisArgument, key: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + bitOp: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, operation: import("./BITOP").BitOperations, destKey: import("../RESP/types").RedisArgument, key: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + BITPOS: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, bit: import("./generic-transformers").BitValue, start?: number | undefined, end?: number | undefined, mode?: "BYTE" | "BIT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + bitPos: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, bit: import("./generic-transformers").BitValue, start?: number | undefined, end?: number | undefined, mode?: "BYTE" | "BIT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + BLMOVE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, source: import("../RESP/types").RedisArgument, destination: import("../RESP/types").RedisArgument, sourceSide: import("./generic-transformers").ListSide, destinationSide: import("./generic-transformers").ListSide, timeout: number) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + blMove: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, source: import("../RESP/types").RedisArgument, destination: import("../RESP/types").RedisArgument, sourceSide: import("./generic-transformers").ListSide, destinationSide: import("./generic-transformers").ListSide, timeout: number) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + BLMPOP: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, timeout: number, keys: import("./generic-transformers").RedisVariadicArgument, side: import("./generic-transformers").ListSide, options?: import("./LMPOP").LMPopOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").TuplesReply<[key: import("../RESP/types").BlobStringReply, elements: import("../RESP/types").BlobStringReply[]]>; + }; + blmPop: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, timeout: number, keys: import("./generic-transformers").RedisVariadicArgument, side: import("./generic-transformers").ListSide, options?: import("./LMPOP").LMPopOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").TuplesReply<[key: import("../RESP/types").BlobStringReply, elements: import("../RESP/types").BlobStringReply[]]>; + }; + BLPOP: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("./generic-transformers").RedisVariadicArgument, timeout: number) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply]>>) => { + key: import("../RESP/types").BlobStringReply; + element: import("../RESP/types").BlobStringReply; + } | null; + }; + blPop: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("./generic-transformers").RedisVariadicArgument, timeout: number) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply]>>) => { + key: import("../RESP/types").BlobStringReply; + element: import("../RESP/types").BlobStringReply; + } | null; + }; + BRPOP: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("./generic-transformers").RedisVariadicArgument, timeout: number) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply]>>) => { + key: import("../RESP/types").BlobStringReply; + element: import("../RESP/types").BlobStringReply; + } | null; + }; + brPop: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("./generic-transformers").RedisVariadicArgument, timeout: number) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply]>>) => { + key: import("../RESP/types").BlobStringReply; + element: import("../RESP/types").BlobStringReply; + } | null; + }; + BRPOPLPUSH: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, source: import("../RESP/types").RedisArgument, destination: import("../RESP/types").RedisArgument, timeout: number) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + brPopLPush: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, source: import("../RESP/types").RedisArgument, destination: import("../RESP/types").RedisArgument, timeout: number) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + BZMPOP: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, timeout: number, keys: import("./generic-transformers").RedisVariadicArgument, side: import("./generic-transformers").SortedSetSide, options?: import("./ZMPOP").ZMPopOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("../RESP/types").UnwrapReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + key: import("../RESP/types").BlobStringReply; + members: { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + } | null; + readonly 3: (this: void, reply: import("../RESP/types").UnwrapReply) => { + key: import("../RESP/types").BlobStringReply; + members: { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + } | null; + }; + }; + bzmPop: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, timeout: number, keys: import("./generic-transformers").RedisVariadicArgument, side: import("./generic-transformers").SortedSetSide, options?: import("./ZMPOP").ZMPopOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("../RESP/types").UnwrapReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + key: import("../RESP/types").BlobStringReply; + members: { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + } | null; + readonly 3: (this: void, reply: import("../RESP/types").UnwrapReply) => { + key: import("../RESP/types").BlobStringReply; + members: { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + } | null; + }; + }; + BZPOPMAX: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument, timeout: number) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply]>>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + key: import("../RESP/types").BlobStringReply; + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + readonly 3: (this: void, reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply, import("../RESP/types").DoubleReply]>>) => { + key: import("../RESP/types").BlobStringReply; + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + }; + }; + bzPopMax: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument, timeout: number) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply]>>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + key: import("../RESP/types").BlobStringReply; + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + readonly 3: (this: void, reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply, import("../RESP/types").DoubleReply]>>) => { + key: import("../RESP/types").BlobStringReply; + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + }; + }; + BZPOPMIN: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument, timeout: number) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply]>>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + key: import("../RESP/types").BlobStringReply; + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + readonly 3: (this: void, reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply, import("../RESP/types").DoubleReply]>>) => { + key: import("../RESP/types").BlobStringReply; + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + }; + }; + bzPopMin: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument, timeout: number) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply]>>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + key: import("../RESP/types").BlobStringReply; + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + readonly 3: (this: void, reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply, import("../RESP/types").DoubleReply]>>) => { + key: import("../RESP/types").BlobStringReply; + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + }; + }; + CLIENT_CACHING: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, value: boolean) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + clientCaching: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, value: boolean) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + CLIENT_GETNAME: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + clientGetName: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + CLIENT_GETREDIR: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + clientGetRedir: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + CLIENT_ID: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + clientId: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + CLIENT_INFO: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: (this: void, rawReply: import("../RESP/types").VerbatimStringReply) => import("./CLIENT_INFO").ClientInfoReply; + }; + clientInfo: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: (this: void, rawReply: import("../RESP/types").VerbatimStringReply) => import("./CLIENT_INFO").ClientInfoReply; + }; + CLIENT_KILL: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, filters: import("./CLIENT_KILL").ClientKillFilter | import("./CLIENT_KILL").ClientKillFilter[]) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + clientKill: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, filters: import("./CLIENT_KILL").ClientKillFilter | import("./CLIENT_KILL").ClientKillFilter[]) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + CLIENT_LIST: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, filter?: import("./CLIENT_LIST").ListFilter | undefined) => void; + readonly transformReply: (this: void, rawReply: import("../RESP/types").VerbatimStringReply) => import("./CLIENT_INFO").ClientInfoReply[]; + }; + clientList: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, filter?: import("./CLIENT_LIST").ListFilter | undefined) => void; + readonly transformReply: (this: void, rawReply: import("../RESP/types").VerbatimStringReply) => import("./CLIENT_INFO").ClientInfoReply[]; + }; + 'CLIENT_NO-EVICT': { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, value: boolean) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + clientNoEvict: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, value: boolean) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + 'CLIENT_NO-TOUCH': { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, value: boolean) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + clientNoTouch: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, value: boolean) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + CLIENT_PAUSE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, timeout: number, mode?: "WRITE" | "ALL" | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + clientPause: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, timeout: number, mode?: "WRITE" | "ALL" | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + CLIENT_SETNAME: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, name: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + clientSetName: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, name: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + CLIENT_TRACKING: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("../..").CommandParser, mode: M, options?: (M extends true ? import("./CLIENT_TRACKING").ClientTrackingOptions : never) | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + clientTracking: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("../..").CommandParser, mode: M, options?: (M extends true ? import("./CLIENT_TRACKING").ClientTrackingOptions : never) | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + CLIENT_TRACKINGINFO: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: { + readonly 2: (reply: [import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>, import("../RESP/types").BlobStringReply<"redirect">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"prefixes">, import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]) => { + flags: import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + redirect: import("../RESP/types").NumberReply; + prefixes: import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + }; + readonly 3: () => import("../RESP/types").TuplesToMapReply<[[import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").SetReply>], [import("../RESP/types").BlobStringReply<"redirect">, import("../RESP/types").NumberReply], [import("../RESP/types").BlobStringReply<"prefixes">, import("../RESP/types").ArrayReply>]]>; + }; + }; + clientTrackingInfo: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: { + readonly 2: (reply: [import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>, import("../RESP/types").BlobStringReply<"redirect">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"prefixes">, import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]) => { + flags: import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + redirect: import("../RESP/types").NumberReply; + prefixes: import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + }; + readonly 3: () => import("../RESP/types").TuplesToMapReply<[[import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").SetReply>], [import("../RESP/types").BlobStringReply<"redirect">, import("../RESP/types").NumberReply], [import("../RESP/types").BlobStringReply<"prefixes">, import("../RESP/types").ArrayReply>]]>; + }; + }; + CLIENT_UNPAUSE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + clientUnpause: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + CLUSTER_ADDSLOTS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, slots: number | number[]) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + clusterAddSlots: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, slots: number | number[]) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + CLUSTER_ADDSLOTSRANGE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, ranges: import("./generic-transformers").SlotRange | import("./generic-transformers").SlotRange[]) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + clusterAddSlotsRange: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, ranges: import("./generic-transformers").SlotRange | import("./generic-transformers").SlotRange[]) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + CLUSTER_BUMPEPOCH: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"BUMPED" | "STILL">; + }; + clusterBumpEpoch: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"BUMPED" | "STILL">; + }; + 'CLUSTER_COUNT-FAILURE-REPORTS': { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, nodeId: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + clusterCountFailureReports: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, nodeId: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + CLUSTER_COUNTKEYSINSLOT: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, slot: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + clusterCountKeysInSlot: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, slot: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + CLUSTER_DELSLOTS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, slots: number | number[]) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + clusterDelSlots: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, slots: number | number[]) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + CLUSTER_DELSLOTSRANGE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, ranges: import("./generic-transformers").SlotRange | import("./generic-transformers").SlotRange[]) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + clusterDelSlotsRange: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, ranges: import("./generic-transformers").SlotRange | import("./generic-transformers").SlotRange[]) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + CLUSTER_FAILOVER: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, options?: import("./CLUSTER_FAILOVER").ClusterFailoverOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + clusterFailover: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, options?: import("./CLUSTER_FAILOVER").ClusterFailoverOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + CLUSTER_FLUSHSLOTS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + clusterFlushSlots: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + CLUSTER_FORGET: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, nodeId: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + clusterForget: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, nodeId: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + CLUSTER_GETKEYSINSLOT: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, slot: number, count: number) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + clusterGetKeysInSlot: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, slot: number, count: number) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + CLUSTER_INFO: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").VerbatimStringReply; + }; + clusterInfo: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").VerbatimStringReply; + }; + CLUSTER_KEYSLOT: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + clusterKeySlot: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + CLUSTER_LINKS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"direction">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"node">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"create-time">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"events">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"send-buffer-allocated">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"send-buffer-used">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"direction">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"node">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"create-time">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"events">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"send-buffer-allocated">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"send-buffer-used">, import("../RESP/types").NumberReply]>[]) => { + direction: import("../RESP/types").BlobStringReply; + node: import("../RESP/types").BlobStringReply; + 'create-time': import("../RESP/types").NumberReply; + events: import("../RESP/types").BlobStringReply; + 'send-buffer-allocated': import("../RESP/types").NumberReply; + 'send-buffer-used': import("../RESP/types").NumberReply; + }[]; + readonly 3: () => import("../RESP/types").ArrayReply, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"node">, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"create-time">, import("../RESP/types").NumberReply], [import("../RESP/types").BlobStringReply<"events">, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"send-buffer-allocated">, import("../RESP/types").NumberReply], [import("../RESP/types").BlobStringReply<"send-buffer-used">, import("../RESP/types").NumberReply]]>>; + }; + }; + clusterLinks: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"direction">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"node">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"create-time">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"events">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"send-buffer-allocated">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"send-buffer-used">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"direction">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"node">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"create-time">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"events">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"send-buffer-allocated">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"send-buffer-used">, import("../RESP/types").NumberReply]>[]) => { + direction: import("../RESP/types").BlobStringReply; + node: import("../RESP/types").BlobStringReply; + 'create-time': import("../RESP/types").NumberReply; + events: import("../RESP/types").BlobStringReply; + 'send-buffer-allocated': import("../RESP/types").NumberReply; + 'send-buffer-used': import("../RESP/types").NumberReply; + }[]; + readonly 3: () => import("../RESP/types").ArrayReply, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"node">, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"create-time">, import("../RESP/types").NumberReply], [import("../RESP/types").BlobStringReply<"events">, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"send-buffer-allocated">, import("../RESP/types").NumberReply], [import("../RESP/types").BlobStringReply<"send-buffer-used">, import("../RESP/types").NumberReply]]>>; + }; + }; + CLUSTER_MEET: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, host: string, port: number) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + clusterMeet: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, host: string, port: number) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + CLUSTER_MYID: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + clusterMyId: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + CLUSTER_MYSHARDID: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + clusterMyShardId: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + CLUSTER_NODES: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").VerbatimStringReply; + }; + clusterNodes: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").VerbatimStringReply; + }; + CLUSTER_REPLICAS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, nodeId: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + clusterReplicas: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, nodeId: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + CLUSTER_REPLICATE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, nodeId: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + clusterReplicate: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, nodeId: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + CLUSTER_RESET: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, options?: import("./CLUSTER_RESET").ClusterResetOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + clusterReset: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, options?: import("./CLUSTER_RESET").ClusterResetOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + CLUSTER_SAVECONFIG: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + clusterSaveConfig: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + 'CLUSTER_SET-CONFIG-EPOCH': { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, configEpoch: number) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + clusterSetConfigEpoch: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, configEpoch: number) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + CLUSTER_SETSLOT: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, slot: number, state: import("./CLUSTER_SETSLOT").ClusterSlotState, nodeId?: import("../RESP/types").RedisArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + clusterSetSlot: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, slot: number, state: import("./CLUSTER_SETSLOT").ClusterSlotState, nodeId?: import("../RESP/types").RedisArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + CLUSTER_SLOTS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: (this: void, reply: [from: import("../RESP/types").NumberReply, to: import("../RESP/types").NumberReply, master: import("../RESP/types").TuplesReply<[host: import("../RESP/types").BlobStringReply, port: import("../RESP/types").NumberReply, id: import("../RESP/types").BlobStringReply]>, ...replicas: import("../RESP/types").TuplesReply<[host: import("../RESP/types").BlobStringReply, port: import("../RESP/types").NumberReply, id: import("../RESP/types").BlobStringReply]>[]][]) => { + from: import("../RESP/types").NumberReply; + to: import("../RESP/types").NumberReply; + master: { + host: import("../RESP/types").BlobStringReply; + port: import("../RESP/types").NumberReply; + id: import("../RESP/types").BlobStringReply; + }; + replicas: { + host: import("../RESP/types").BlobStringReply; + port: import("../RESP/types").NumberReply; + id: import("../RESP/types").BlobStringReply; + }[]; + }[]; + }; + clusterSlots: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: (this: void, reply: [from: import("../RESP/types").NumberReply, to: import("../RESP/types").NumberReply, master: import("../RESP/types").TuplesReply<[host: import("../RESP/types").BlobStringReply, port: import("../RESP/types").NumberReply, id: import("../RESP/types").BlobStringReply]>, ...replicas: import("../RESP/types").TuplesReply<[host: import("../RESP/types").BlobStringReply, port: import("../RESP/types").NumberReply, id: import("../RESP/types").BlobStringReply]>[]][]) => { + from: import("../RESP/types").NumberReply; + to: import("../RESP/types").NumberReply; + master: { + host: import("../RESP/types").BlobStringReply; + port: import("../RESP/types").NumberReply; + id: import("../RESP/types").BlobStringReply; + }; + replicas: { + host: import("../RESP/types").BlobStringReply; + port: import("../RESP/types").NumberReply; + id: import("../RESP/types").BlobStringReply; + }[]; + }[]; + }; + COMMAND_COUNT: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + commandCount: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + COMMAND_GETKEYS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, args: import("../RESP/types").RedisArgument[]) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + commandGetKeys: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, args: import("../RESP/types").RedisArgument[]) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + COMMAND_GETKEYSANDFLAGS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, args: import("../RESP/types").RedisArgument[]) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[key: import("../RESP/types").BlobStringReply, flags: import("../RESP/types").SetReply>]>[]) => { + key: import("../RESP/types").BlobStringReply; + flags: import("../RESP/types").SetReply>; + }[]; + }; + commandGetKeysAndFlags: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, args: import("../RESP/types").RedisArgument[]) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[key: import("../RESP/types").BlobStringReply, flags: import("../RESP/types").SetReply>]>[]) => { + key: import("../RESP/types").BlobStringReply; + flags: import("../RESP/types").SetReply>; + }[]; + }; + COMMAND_INFO: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, commands: string[]) => void; + readonly transformReply: (this: void, reply: import("./generic-transformers").CommandRawReply[]) => (import("./generic-transformers").CommandReply | null)[]; + }; + commandInfo: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, commands: string[]) => void; + readonly transformReply: (this: void, reply: import("./generic-transformers").CommandRawReply[]) => (import("./generic-transformers").CommandReply | null)[]; + }; + COMMAND_LIST: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, options?: import("./COMMAND_LIST").CommandListOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + commandList: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, options?: import("./COMMAND_LIST").CommandListOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + COMMAND: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: (this: void, reply: import("./generic-transformers").CommandRawReply[]) => import("./generic-transformers").CommandReply[]; + }; + command: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: (this: void, reply: import("./generic-transformers").CommandRawReply[]) => import("./generic-transformers").CommandReply[]; + }; + CONFIG_GET: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, parameters: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>; + readonly 3: () => import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>; + }; + }; + configGet: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, parameters: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>; + readonly 3: () => import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>; + }; + }; + CONFIG_RESETASTAT: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + configResetStat: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + CONFIG_REWRITE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + configRewrite: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + CONFIG_SET: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, ...[parameterOrConfig, value]: [parameter: import("../RESP/types").RedisArgument, value: import("../RESP/types").RedisArgument] | [config: Record]) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + configSet: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, ...[parameterOrConfig, value]: [parameter: import("../RESP/types").RedisArgument, value: import("../RESP/types").RedisArgument] | [config: Record]) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + COPY: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, source: import("../RESP/types").RedisArgument, destination: import("../RESP/types").RedisArgument, options?: import("./COPY").CopyCommandOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + copy: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, source: import("../RESP/types").RedisArgument, destination: import("../RESP/types").RedisArgument, options?: import("./COPY").CopyCommandOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + DBSIZE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + dbSize: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + DECR: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + decr: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + DECRBY: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, decrement: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + decrBy: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, decrement: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + DEL: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + del: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + DELEX: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, options?: { + condition: "IFEQ" | "IFNE" | "IFDEQ" | "IFDNE"; + matchValue: import("../RESP/types").RedisArgument; + } | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply<0 | 1>; + }; + delEx: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, options?: { + condition: "IFEQ" | "IFNE" | "IFDEQ" | "IFDNE"; + matchValue: import("../RESP/types").RedisArgument; + } | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply<0 | 1>; + }; + DIGEST: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + digest: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + DUMP: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + dump: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + ECHO: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, message: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + echo: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, message: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + EVAL_RO: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; + }; + evalRo: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; + }; + EVAL: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; + }; + eval: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; + }; + EVALSHA_RO: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; + }; + evalShaRo: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; + }; + EVALSHA: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; + }; + evalSha: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; + }; + EXISTS: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + exists: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + EXPIRE: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, seconds: number, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + expire: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, seconds: number, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + EXPIREAT: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, timestamp: number | Date, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + expireAt: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, timestamp: number | Date, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + EXPIRETIME: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + expireTime: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + FLUSHALL: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, mode?: import("./FLUSHALL").RedisFlushMode | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + flushAll: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, mode?: import("./FLUSHALL").RedisFlushMode | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + FLUSHDB: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, mode?: import("./FLUSHALL").RedisFlushMode | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + flushDb: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, mode?: import("./FLUSHALL").RedisFlushMode | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + FCALL: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; + }; + fCall: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; + }; + FCALL_RO: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; + }; + fCallRo: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument, options?: import("./EVAL").EvalOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ReplyUnion; + }; + FUNCTION_DELETE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, library: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + functionDelete: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, library: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + FUNCTION_DUMP: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + functionDump: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + FUNCTION_FLUSH: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, mode?: import("./FLUSHALL").RedisFlushMode | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + functionFlush: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, mode?: import("./FLUSHALL").RedisFlushMode | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + FUNCTION_KILL: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + functionKill: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + FUNCTION_LIST_WITHCODE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, options?: import("./FUNCTION_LIST").FunctionListOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"library_name">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"engine">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"functions">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[]>, import("../RESP/types").BlobStringReply<"library_code">, import("../RESP/types").BlobStringReply], never, [import("../RESP/types").BlobStringReply<"library_name">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"engine">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"functions">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[]>, import("../RESP/types").BlobStringReply<"library_code">, import("../RESP/types").BlobStringReply]>[]) => { + library_name: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + engine: import("../RESP/types").BlobStringReply; + functions: { + name: import("../RESP/types").BlobStringReply; + description: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + flags: import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + }[]; + library_code: import("../RESP/types").BlobStringReply; + }[]; + readonly 3: () => import("./FUNCTION_LIST_WITHCODE").FunctionListWithCodeReply; + }; + }; + functionListWithCode: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, options?: import("./FUNCTION_LIST").FunctionListOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"library_name">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"engine">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"functions">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[]>, import("../RESP/types").BlobStringReply<"library_code">, import("../RESP/types").BlobStringReply], never, [import("../RESP/types").BlobStringReply<"library_name">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"engine">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"functions">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[]>, import("../RESP/types").BlobStringReply<"library_code">, import("../RESP/types").BlobStringReply]>[]) => { + library_name: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + engine: import("../RESP/types").BlobStringReply; + functions: { + name: import("../RESP/types").BlobStringReply; + description: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + flags: import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + }[]; + library_code: import("../RESP/types").BlobStringReply; + }[]; + readonly 3: () => import("./FUNCTION_LIST_WITHCODE").FunctionListWithCodeReply; + }; + }; + FUNCTION_LIST: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, options?: import("./FUNCTION_LIST").FunctionListOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"library_name">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"engine">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"functions">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[]>], never, [import("../RESP/types").BlobStringReply<"library_name">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"engine">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"functions">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[]>]>[]) => { + library_name: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + engine: import("../RESP/types").BlobStringReply; + functions: { + name: import("../RESP/types").BlobStringReply; + description: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + flags: import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + }[]; + }[]; + readonly 3: () => import("./FUNCTION_LIST").FunctionListReply; + }; + }; + functionList: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, options?: import("./FUNCTION_LIST").FunctionListOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"library_name">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"engine">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"functions">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[]>], never, [import("../RESP/types").BlobStringReply<"library_name">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"engine">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"functions">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"description">, import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"flags">, import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]>[]>]>[]) => { + library_name: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + engine: import("../RESP/types").BlobStringReply; + functions: { + name: import("../RESP/types").BlobStringReply; + description: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + flags: import("../RESP/types").RespType<126, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + }[]; + }[]; + readonly 3: () => import("./FUNCTION_LIST").FunctionListReply; + }; + }; + FUNCTION_LOAD: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, code: import("../RESP/types").RedisArgument, options?: import("./FUNCTION_LOAD").FunctionLoadOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + functionLoad: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, code: import("../RESP/types").RedisArgument, options?: import("./FUNCTION_LOAD").FunctionLoadOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + FUNCTION_RESTORE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, dump: import("../RESP/types").RedisArgument, options?: import("./FUNCTION_RESTORE").FunctionRestoreOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + functionRestore: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, dump: import("../RESP/types").RedisArgument, options?: import("./FUNCTION_RESTORE").FunctionRestoreOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + FUNCTION_STATS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: { + readonly 2: (reply: [import("../RESP/types").BlobStringReply<"running_script">, import("../RESP/types").NullReply | import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"command">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"duration_ms">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"command">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"duration_ms">, import("../RESP/types").NumberReply]>, import("../RESP/types").BlobStringReply<"engines">, import("../RESP/types").RespType<42, (import("../RESP/types").BlobStringReply | import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"libraries_count">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"functions_count">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"libraries_count">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"functions_count">, import("../RESP/types").NumberReply]>)[], never, (import("../RESP/types").BlobStringReply | import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"libraries_count">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"functions_count">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"libraries_count">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"functions_count">, import("../RESP/types").NumberReply]>)[]>]) => { + running_script: { + name: import("../RESP/types").BlobStringReply; + command: import("../RESP/types").BlobStringReply; + duration_ms: import("../RESP/types").NumberReply; + } | null; + engines: Record; + functions_count: import("../RESP/types").NumberReply; + }>; + }; + readonly 3: () => import("../RESP/types").TuplesToMapReply<[[import("../RESP/types").BlobStringReply<"running_script">, import("../RESP/types").NullReply | import("../RESP/types").TuplesToMapReply<[[import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"command">, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"duration_ms">, import("../RESP/types").NumberReply]]>], [import("../RESP/types").BlobStringReply<"engines">, import("../RESP/types").MapReply, import("../RESP/types").TuplesToMapReply<[[import("../RESP/types").BlobStringReply<"libraries_count">, import("../RESP/types").NumberReply], [import("../RESP/types").BlobStringReply<"functions_count">, import("../RESP/types").NumberReply]]>>]]>; + }; + }; + functionStats: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: { + readonly 2: (reply: [import("../RESP/types").BlobStringReply<"running_script">, import("../RESP/types").NullReply | import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"command">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"duration_ms">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"command">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"duration_ms">, import("../RESP/types").NumberReply]>, import("../RESP/types").BlobStringReply<"engines">, import("../RESP/types").RespType<42, (import("../RESP/types").BlobStringReply | import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"libraries_count">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"functions_count">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"libraries_count">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"functions_count">, import("../RESP/types").NumberReply]>)[], never, (import("../RESP/types").BlobStringReply | import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"libraries_count">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"functions_count">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"libraries_count">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"functions_count">, import("../RESP/types").NumberReply]>)[]>]) => { + running_script: { + name: import("../RESP/types").BlobStringReply; + command: import("../RESP/types").BlobStringReply; + duration_ms: import("../RESP/types").NumberReply; + } | null; + engines: Record; + functions_count: import("../RESP/types").NumberReply; + }>; + }; + readonly 3: () => import("../RESP/types").TuplesToMapReply<[[import("../RESP/types").BlobStringReply<"running_script">, import("../RESP/types").NullReply | import("../RESP/types").TuplesToMapReply<[[import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"command">, import("../RESP/types").BlobStringReply], [import("../RESP/types").BlobStringReply<"duration_ms">, import("../RESP/types").NumberReply]]>], [import("../RESP/types").BlobStringReply<"engines">, import("../RESP/types").MapReply, import("../RESP/types").TuplesToMapReply<[[import("../RESP/types").BlobStringReply<"libraries_count">, import("../RESP/types").NumberReply], [import("../RESP/types").BlobStringReply<"functions_count">, import("../RESP/types").NumberReply]]>>]]>; + }; + }; + GEOADD: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, toAdd: import("./GEOADD").GeoMember | import("./GEOADD").GeoMember[], options?: import("./GEOADD").GeoAddOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + geoAdd: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, toAdd: import("./GEOADD").GeoMember | import("./GEOADD").GeoMember[], options?: import("./GEOADD").GeoAddOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + GEODIST: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member1: import("../RESP/types").RedisArgument, member2: import("../RESP/types").RedisArgument, unit?: import("./GEOSEARCH").GeoUnits | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply) => number | null; + }; + geoDist: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member1: import("../RESP/types").RedisArgument, member2: import("../RESP/types").RedisArgument, unit?: import("./GEOSEARCH").GeoUnits | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply) => number | null; + }; + GEOHASH: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + geoHash: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + GEOPOS: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: (this: void, reply: (import("../RESP/types").NullReply | import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply]>)[]) => ({ + longitude: import("../RESP/types").BlobStringReply; + latitude: import("../RESP/types").BlobStringReply; + } | null)[]; + }; + geoPos: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: (this: void, reply: (import("../RESP/types").NullReply | import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply]>)[]) => ({ + longitude: import("../RESP/types").BlobStringReply; + latitude: import("../RESP/types").BlobStringReply; + } | null)[]; + }; + GEORADIUS_RO_WITH: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoCoordinates, radius: number, unit: import("./GEOSEARCH").GeoUnits, replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[], options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, ...any[]]>[], replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[]) => import("./GEOSEARCH_WITH").GeoReplyWithMember[]; + }; + geoRadiusRoWith: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoCoordinates, radius: number, unit: import("./GEOSEARCH").GeoUnits, replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[], options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, ...any[]]>[], replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[]) => import("./GEOSEARCH_WITH").GeoReplyWithMember[]; + }; + GEORADIUS_RO: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoCoordinates, radius: number, unit: import("./GEOSEARCH").GeoUnits, options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + geoRadiusRo: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoCoordinates, radius: number, unit: import("./GEOSEARCH").GeoUnits, options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + GEORADIUS_STORE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoCoordinates, radius: number, unit: import("./GEOSEARCH").GeoUnits, destination: import("../RESP/types").RedisArgument, options?: import("./GEORADIUS_STORE").GeoRadiusStoreOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + geoRadiusStore: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoCoordinates, radius: number, unit: import("./GEOSEARCH").GeoUnits, destination: import("../RESP/types").RedisArgument, options?: import("./GEORADIUS_STORE").GeoRadiusStoreOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + GEORADIUS_WITH: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoCoordinates, radius: number, unit: import("./GEOSEARCH").GeoUnits, replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[], options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, ...any[]]>[], replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[]) => import("./GEOSEARCH_WITH").GeoReplyWithMember[]; + }; + geoRadiusWith: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoCoordinates, radius: number, unit: import("./GEOSEARCH").GeoUnits, replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[], options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, ...any[]]>[], replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[]) => import("./GEOSEARCH_WITH").GeoReplyWithMember[]; + }; + GEORADIUS: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoCoordinates, radius: number, unit: import("./GEOSEARCH").GeoUnits, options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + geoRadius: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoCoordinates, radius: number, unit: import("./GEOSEARCH").GeoUnits, options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + GEORADIUSBYMEMBER_RO_WITH: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("../RESP/types").RedisArgument, radius: number, unit: import("./GEOSEARCH").GeoUnits, replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[], options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, ...any[]]>[], replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[]) => import("./GEOSEARCH_WITH").GeoReplyWithMember[]; + }; + geoRadiusByMemberRoWith: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("../RESP/types").RedisArgument, radius: number, unit: import("./GEOSEARCH").GeoUnits, replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[], options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, ...any[]]>[], replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[]) => import("./GEOSEARCH_WITH").GeoReplyWithMember[]; + }; + GEORADIUSBYMEMBER_RO: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("../RESP/types").RedisArgument, radius: number, unit: import("./GEOSEARCH").GeoUnits, options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + geoRadiusByMemberRo: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("../RESP/types").RedisArgument, radius: number, unit: import("./GEOSEARCH").GeoUnits, options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + GEORADIUSBYMEMBER_STORE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("../RESP/types").RedisArgument, radius: number, unit: import("./GEOSEARCH").GeoUnits, destination: import("../RESP/types").RedisArgument, options?: import("./GEORADIUSBYMEMBER_STORE").GeoRadiusStoreOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + geoRadiusByMemberStore: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("../RESP/types").RedisArgument, radius: number, unit: import("./GEOSEARCH").GeoUnits, destination: import("../RESP/types").RedisArgument, options?: import("./GEORADIUSBYMEMBER_STORE").GeoRadiusStoreOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + GEORADIUSBYMEMBER_WITH: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("../RESP/types").RedisArgument, radius: number, unit: import("./GEOSEARCH").GeoUnits, replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[], options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, ...any[]]>[], replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[]) => import("./GEOSEARCH_WITH").GeoReplyWithMember[]; + }; + geoRadiusByMemberWith: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("../RESP/types").RedisArgument, radius: number, unit: import("./GEOSEARCH").GeoUnits, replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[], options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, ...any[]]>[], replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[]) => import("./GEOSEARCH_WITH").GeoReplyWithMember[]; + }; + GEORADIUSBYMEMBER: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("../RESP/types").RedisArgument, radius: number, unit: import("./GEOSEARCH").GeoUnits, options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + geoRadiusByMember: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("../RESP/types").RedisArgument, radius: number, unit: import("./GEOSEARCH").GeoUnits, options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + GEOSEARCH_WITH: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoSearchFrom, by: import("./GEOSEARCH").GeoSearchBy, replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[], options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, ...any[]]>[], replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[]) => import("./GEOSEARCH_WITH").GeoReplyWithMember[]; + }; + geoSearchWith: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoSearchFrom, by: import("./GEOSEARCH").GeoSearchBy, replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[], options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, ...any[]]>[], replyWith: import("./GEOSEARCH_WITH").GeoReplyWith[]) => import("./GEOSEARCH_WITH").GeoReplyWithMember[]; + }; + GEOSEARCH: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoSearchFrom, by: import("./GEOSEARCH").GeoSearchBy, options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + geoSearch: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoSearchFrom, by: import("./GEOSEARCH").GeoSearchBy, options?: import("./GEOSEARCH").GeoSearchOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + GEOSEARCHSTORE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, source: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoSearchFrom, by: import("./GEOSEARCH").GeoSearchBy, options?: import("./GEOSEARCHSTORE").GeoSearchStoreOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + geoSearchStore: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, source: import("../RESP/types").RedisArgument, from: import("./GEOSEARCH").GeoSearchFrom, by: import("./GEOSEARCH").GeoSearchBy, options?: import("./GEOSEARCHSTORE").GeoSearchStoreOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + GET: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + get: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + GETBIT: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, offset: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + getBit: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, offset: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + GETDEL: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + getDel: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + GETEX: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, options: import("./GETEX").GetExOptions) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + getEx: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, options: import("./GETEX").GetExOptions) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + GETRANGE: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, start: number, end: number) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + getRange: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, start: number, end: number) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + GETSET: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, value: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + getSet: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, value: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + HDEL: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, field: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + hDel: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, field: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + HELLO: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, protover?: import("../RESP/types").RespVersions | undefined, options?: import("./HELLO").HelloOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [import("../RESP/types").BlobStringReply<"server">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"version">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"proto">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"id">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"mode">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"role">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"modules">, import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]) => { + server: import("../RESP/types").BlobStringReply; + version: import("../RESP/types").BlobStringReply; + proto: import("../RESP/types").NumberReply; + id: import("../RESP/types").NumberReply; + mode: import("../RESP/types").BlobStringReply; + role: import("../RESP/types").BlobStringReply; + modules: import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + }; + readonly 3: () => import("./HELLO").HelloReply; + }; + }; + hello: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, protover?: import("../RESP/types").RespVersions | undefined, options?: import("./HELLO").HelloOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [import("../RESP/types").BlobStringReply<"server">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"version">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"proto">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"id">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"mode">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"role">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"modules">, import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>]) => { + server: import("../RESP/types").BlobStringReply; + version: import("../RESP/types").BlobStringReply; + proto: import("../RESP/types").NumberReply; + id: import("../RESP/types").NumberReply; + mode: import("../RESP/types").BlobStringReply; + role: import("../RESP/types").BlobStringReply; + modules: import("../RESP/types").RespType<42, import("../RESP/types").BlobStringReply[], never, import("../RESP/types").BlobStringReply[]>; + }; + readonly 3: () => import("./HELLO").HelloReply; + }; + }; + HEXISTS: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, field: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply<0 | 1>; + }; + hExists: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, field: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply<0 | 1>; + }; + HEXPIRE: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument, seconds: number, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply; + }; + hExpire: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument, seconds: number, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply; + }; + HEXPIREAT: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument, timestamp: number | Date, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + hExpireAt: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument, timestamp: number | Date, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + HEXPIRETIME: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + hExpireTime: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + HGET: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, field: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + hGet: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, field: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + HGETALL: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly TRANSFORM_LEGACY_REPLY: true; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>; + readonly 3: () => import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>; + }; + }; + hGetAll: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly TRANSFORM_LEGACY_REPLY: true; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>; + readonly 3: () => import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>; + }; + }; + HGETDEL: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + hGetDel: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + HGETEX: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument, options?: import("./HGETEX").HGetExOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + hGetEx: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument, options?: import("./HGETEX").HGetExOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + HINCRBY: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, field: import("../RESP/types").RedisArgument, increment: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + hIncrBy: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, field: import("../RESP/types").RedisArgument, increment: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + HINCRBYFLOAT: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, field: import("../RESP/types").RedisArgument, increment: number) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + hIncrByFloat: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, field: import("../RESP/types").RedisArgument, increment: number) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + HKEYS: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + hKeys: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + HLEN: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + hLen: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + HMGET: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + hmGet: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + HPERSIST: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply>; + }; + hPersist: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply>; + }; + HPEXPIRE: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument, ms: number, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply; + }; + hpExpire: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument, ms: number, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply; + }; + HPEXPIREAT: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument, timestamp: number | Date, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply; + }; + hpExpireAt: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument, timestamp: number | Date, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply; + }; + HPEXPIRETIME: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply>; + }; + hpExpireTime: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply>; + }; + HPTTL: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply>; + }; + hpTTL: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply>; + }; + HRANDFIELD_COUNT_WITHVALUES: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: { + readonly 2: (rawReply: import("../RESP/types").BlobStringReply[]) => import("./HRANDFIELD_COUNT_WITHVALUES").HRandFieldCountWithValuesReply; + readonly 3: (reply: import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply]>[]) => { + field: import("../RESP/types").BlobStringReply; + value: import("../RESP/types").BlobStringReply; + }[]; + }; + }; + hRandFieldCountWithValues: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: { + readonly 2: (rawReply: import("../RESP/types").BlobStringReply[]) => import("./HRANDFIELD_COUNT_WITHVALUES").HRandFieldCountWithValuesReply; + readonly 3: (reply: import("../RESP/types").TuplesReply<[import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply]>[]) => { + field: import("../RESP/types").BlobStringReply; + value: import("../RESP/types").BlobStringReply; + }[]; + }; + }; + HRANDFIELD_COUNT: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + hRandFieldCount: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + HRANDFIELD: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + hRandField: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + HSCAN: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, cursor: import("../RESP/types").RedisArgument, options?: import("./SCAN").ScanCommonOptions | undefined) => void; + readonly transformReply: (this: void, [cursor, rawEntries]: [import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply[]]) => { + cursor: import("../RESP/types").BlobStringReply; + entries: { + field: import("../RESP/types").BlobStringReply; + value: import("../RESP/types").BlobStringReply; + }[]; + }; + }; + hScan: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, cursor: import("../RESP/types").RedisArgument, options?: import("./SCAN").ScanCommonOptions | undefined) => void; + readonly transformReply: (this: void, [cursor, rawEntries]: [import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply[]]) => { + cursor: import("../RESP/types").BlobStringReply; + entries: { + field: import("../RESP/types").BlobStringReply; + value: import("../RESP/types").BlobStringReply; + }[]; + }; + }; + HSCAN_NOVALUES: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, cursor: import("../RESP/types").RedisArgument, options?: import("./SCAN").ScanCommonOptions | undefined) => void; + readonly transformReply: (this: void, [cursor, fields]: [import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply[]]) => { + cursor: import("../RESP/types").BlobStringReply; + fields: import("../RESP/types").BlobStringReply[]; + }; + }; + hScanNoValues: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, cursor: import("../RESP/types").RedisArgument, options?: import("./SCAN").ScanCommonOptions | undefined) => void; + readonly transformReply: (this: void, [cursor, fields]: [import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply[]]) => { + cursor: import("../RESP/types").BlobStringReply; + fields: import("../RESP/types").BlobStringReply[]; + }; + }; + HSET: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, ...[key, value, fieldValue]: [key: import("../RESP/types").RedisArgument, field: import("./HSET").HashTypes, value: import("./HSET").HashTypes] | [key: import("../RESP/types").RedisArgument, value: { + [x: string]: import("./HSET").HashTypes; + [x: number]: import("./HSET").HashTypes; + } | Map | ([import("./HSET").HashTypes, import("./HSET").HashTypes][] | import("./HSET").HashTypes[])]) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + hSet: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, ...[key, value, fieldValue]: [key: import("../RESP/types").RedisArgument, field: import("./HSET").HashTypes, value: import("./HSET").HashTypes] | [key: import("../RESP/types").RedisArgument, value: { + [x: string]: import("./HSET").HashTypes; + [x: number]: import("./HSET").HashTypes; + } | Map | ([import("./HSET").HashTypes, import("./HSET").HashTypes][] | import("./HSET").HashTypes[])]) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + HSETEX: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: { + [x: string]: import("./HSETEX").HashTypes; + [x: number]: import("./HSETEX").HashTypes; + } | Map | ([import("./HSETEX").HashTypes, import("./HSETEX").HashTypes][] | import("./HSETEX").HashTypes[]), options?: import("./HSETEX").HSetExOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply<0 | 1>; + }; + hSetEx: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: { + [x: string]: import("./HSETEX").HashTypes; + [x: number]: import("./HSETEX").HashTypes; + } | Map | ([import("./HSETEX").HashTypes, import("./HSETEX").HashTypes][] | import("./HSETEX").HashTypes[]), options?: import("./HSETEX").HSetExOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply<0 | 1>; + }; + HSETNX: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, field: import("../RESP/types").RedisArgument, value: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply<0 | 1>; + }; + hSetNX: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, field: import("../RESP/types").RedisArgument, value: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply<0 | 1>; + }; + HSTRLEN: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, field: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + hStrLen: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, field: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + HTTL: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply>; + }; + hTTL: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, fields: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply>; + }; + HVALS: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + hVals: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + INCR: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + incr: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + INCRBY: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, increment: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + incrBy: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, increment: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + INCRBYFLOAT: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, increment: number) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + incrByFloat: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, increment: number) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + INFO: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, section?: import("../RESP/types").RedisArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").VerbatimStringReply; + }; + info: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, section?: import("../RESP/types").RedisArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").VerbatimStringReply; + }; + KEYS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, pattern: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + keys: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, pattern: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + LASTSAVE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + lastSave: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + LATENCY_DOCTOR: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + latencyDoctor: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + LATENCY_GRAPH: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, event: import("./LATENCY_GRAPH").LatencyEvent) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + latencyGraph: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, event: import("./LATENCY_GRAPH").LatencyEvent) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + LATENCY_HISTORY: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, event: import("./LATENCY_HISTORY").LatencyEventType) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply, latency: import("../RESP/types").NumberReply]>>; + }; + latencyHistory: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, event: import("./LATENCY_HISTORY").LatencyEventType) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply, latency: import("../RESP/types").NumberReply]>>; + }; + LATENCY_HISTOGRAM: { + readonly CACHEABLE: false; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, ...commands: string[]) => void; + readonly transformReply: { + readonly 2: (reply: (string | [string, number, string, number[]])[]) => { + [x: string]: { + calls: number; + histogram_usec: Record; + }; + }; + readonly 3: () => { + [x: string]: { + calls: number; + histogram_usec: Record; + }; + }; + }; + }; + latencyHistogram: { + readonly CACHEABLE: false; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, ...commands: string[]) => void; + readonly transformReply: { + readonly 2: (reply: (string | [string, number, string, number[]])[]) => { + [x: string]: { + calls: number; + histogram_usec: Record; + }; + }; + readonly 3: () => { + [x: string]: { + calls: number; + histogram_usec: Record; + }; + }; + }; + }; + LATENCY_LATEST: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply<[name: import("../RESP/types").BlobStringReply, timestamp: import("../RESP/types").NumberReply, latestLatency: import("../RESP/types").NumberReply, allTimeLatency: import("../RESP/types").NumberReply]>; + }; + latencyLatest: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply<[name: import("../RESP/types").BlobStringReply, timestamp: import("../RESP/types").NumberReply, latestLatency: import("../RESP/types").NumberReply, allTimeLatency: import("../RESP/types").NumberReply]>; + }; + LATENCY_RESET: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, ...events: import("./LATENCY_GRAPH").LatencyEvent[]) => void; + readonly transformReply: () => number; + }; + latencyReset: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, ...events: import("./LATENCY_GRAPH").LatencyEvent[]) => void; + readonly transformReply: () => number; + }; + LCS_IDX_WITHMATCHLEN: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key1: import("../RESP/types").RedisArgument, key2: import("../RESP/types").RedisArgument, options?: import("./LCS_IDX").LcsIdxOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [import("../RESP/types").BlobStringReply<"matches">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply]>[]>, import("../RESP/types").BlobStringReply<"len">, import("../RESP/types").NumberReply]) => { + matches: import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply]>[]>; + len: import("../RESP/types").NumberReply; + }; + readonly 3: () => import("./LCS_IDX_WITHMATCHLEN").LcsIdxWithMatchLenReply; + }; + }; + lcsIdxWithMatchLen: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key1: import("../RESP/types").RedisArgument, key2: import("../RESP/types").RedisArgument, options?: import("./LCS_IDX").LcsIdxOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [import("../RESP/types").BlobStringReply<"matches">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply]>[]>, import("../RESP/types").BlobStringReply<"len">, import("../RESP/types").NumberReply]) => { + matches: import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").NumberReply]>[]>; + len: import("../RESP/types").NumberReply; + }; + readonly 3: () => import("./LCS_IDX_WITHMATCHLEN").LcsIdxWithMatchLenReply; + }; + }; + LCS_IDX: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key1: import("../RESP/types").RedisArgument, key2: import("../RESP/types").RedisArgument, options?: import("./LCS_IDX").LcsIdxOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [import("../RESP/types").BlobStringReply<"matches">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>]>[]>, import("../RESP/types").BlobStringReply<"len">, import("../RESP/types").NumberReply]) => { + matches: import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>]>[]>; + len: import("../RESP/types").NumberReply; + }; + readonly 3: () => import("./LCS_IDX").LcsIdxReply; + }; + }; + lcsIdx: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key1: import("../RESP/types").RedisArgument, key2: import("../RESP/types").RedisArgument, options?: import("./LCS_IDX").LcsIdxOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [import("../RESP/types").BlobStringReply<"matches">, import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>]>[]>, import("../RESP/types").BlobStringReply<"len">, import("../RESP/types").NumberReply]) => { + matches: import("../RESP/types").RespType<42, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>]>[], never, import("../RESP/types").RespType<42, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>], never, [import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>, import("../RESP/types").RespType<42, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply], never, [import("../RESP/types").NumberReply, import("../RESP/types").NumberReply]>]>[]>; + len: import("../RESP/types").NumberReply; + }; + readonly 3: () => import("./LCS_IDX").LcsIdxReply; + }; + }; + LCS_LEN: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key1: import("../RESP/types").RedisArgument, key2: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + lcsLen: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key1: import("../RESP/types").RedisArgument, key2: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + LCS: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key1: import("../RESP/types").RedisArgument, key2: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + lcs: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key1: import("../RESP/types").RedisArgument, key2: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + LINDEX: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, index: number) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + lIndex: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, index: number) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + LINSERT: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, position: "BEFORE" | "AFTER", pivot: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + lInsert: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, position: "BEFORE" | "AFTER", pivot: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + LLEN: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + lLen: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + LMOVE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, source: import("../RESP/types").RedisArgument, destination: import("../RESP/types").RedisArgument, sourceSide: import("./generic-transformers").ListSide, destinationSide: import("./generic-transformers").ListSide) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + lMove: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, source: import("../RESP/types").RedisArgument, destination: import("../RESP/types").RedisArgument, sourceSide: import("./generic-transformers").ListSide, destinationSide: import("./generic-transformers").ListSide) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + LMPOP: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument, side: import("./generic-transformers").ListSide, options?: import("./LMPOP").LMPopOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").TuplesReply<[key: import("../RESP/types").BlobStringReply, elements: import("../RESP/types").BlobStringReply[]]>; + }; + lmPop: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument, side: import("./generic-transformers").ListSide, options?: import("./LMPOP").LMPopOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").TuplesReply<[key: import("../RESP/types").BlobStringReply, elements: import("../RESP/types").BlobStringReply[]]>; + }; + LOLWUT: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, version?: number | undefined, ...optionalArguments: number[]) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + LPOP_COUNT: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply>; + }; + lPopCount: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply>; + }; + LPOP: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + lPop: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + LPOS_COUNT: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument, count: number, options?: import("./LPOS").LPosOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + lPosCount: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument, count: number, options?: import("./LPOS").LPosOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + LPOS: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument, options?: import("./LPOS").LPosOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + }; + lPos: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument, options?: import("./LPOS").LPosOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + }; + LPUSH: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, elements: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + lPush: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, elements: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + LPUSHX: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, elements: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + lPushX: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, elements: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + LRANGE: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, start: number, stop: number) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + lRange: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, start: number, stop: number) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + LREM: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + lRem: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + LSET: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, index: number, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + lSet: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, index: number, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + LTRIM: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, start: number, stop: number) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + lTrim: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, start: number, stop: number) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + MEMORY_DOCTOR: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + memoryDoctor: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + 'MEMORY_MALLOC-STATS': { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + memoryMallocStats: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + MEMORY_PURGE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + memoryPurge: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + MEMORY_STATS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: { + readonly 2: (rawReply: (import("../RESP/types").BlobStringReply | import("../RESP/types").NumberReply)[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("./MEMORY_STATS").MemoryStatsReply; + readonly 3: () => import("./MEMORY_STATS").MemoryStatsReply; + }; + }; + memoryStats: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: { + readonly 2: (rawReply: (import("../RESP/types").BlobStringReply | import("../RESP/types").NumberReply)[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("./MEMORY_STATS").MemoryStatsReply; + readonly 3: () => import("./MEMORY_STATS").MemoryStatsReply; + }; + }; + MEMORY_USAGE: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, options?: import("./MEMORY_USAGE").MemoryUsageOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + }; + memoryUsage: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, options?: import("./MEMORY_USAGE").MemoryUsageOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + }; + MGET: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("../RESP/types").RedisArgument[]) => void; + readonly transformReply: () => (import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply)[]; + }; + mGet: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("../RESP/types").RedisArgument[]) => void; + readonly transformReply: () => (import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply)[]; + }; + MIGRATE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, host: import("../RESP/types").RedisArgument, port: number, key: import("../RESP/types").RedisArgument | import("../RESP/types").RedisArgument[], destinationDb: number, timeout: number, options?: import("./MIGRATE").MigrateOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + migrate: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, host: import("../RESP/types").RedisArgument, port: number, key: import("../RESP/types").RedisArgument | import("../RESP/types").RedisArgument[], destinationDb: number, timeout: number, options?: import("./MIGRATE").MigrateOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + MODULE_LIST: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"ver">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"ver">, import("../RESP/types").NumberReply]>[]) => { + name: import("../RESP/types").BlobStringReply; + ver: import("../RESP/types").NumberReply; + }[]; + readonly 3: () => import("./MODULE_LIST").ModuleListReply; + }; + }; + moduleList: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"ver">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"ver">, import("../RESP/types").NumberReply]>[]) => { + name: import("../RESP/types").BlobStringReply; + ver: import("../RESP/types").NumberReply; + }[]; + readonly 3: () => import("./MODULE_LIST").ModuleListReply; + }; + }; + MODULE_LOAD: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, path: import("../RESP/types").RedisArgument, moduleArguments?: import("../RESP/types").RedisArgument[] | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + moduleLoad: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, path: import("../RESP/types").RedisArgument, moduleArguments?: import("../RESP/types").RedisArgument[] | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + MODULE_UNLOAD: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, name: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + moduleUnload: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, name: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + MOVE: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, db: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + move: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, db: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + MSET: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, toSet: import("./MSET").MSetArguments) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + mSet: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, toSet: import("./MSET").MSetArguments) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + MSETEX: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keyValuePairs: import("./MSET").MSetArguments, options?: { + expiration?: ({ + type: "EX"; + value: number; + } | { + type: "PX"; + value: number; + } | { + type: "EXAT"; + value: number | Date; + } | { + type: "PXAT"; + value: number | Date; + } | { + type: "KEEPTTL"; + }) | undefined; + mode?: ("NX" | "XX") | undefined; + } | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply<0 | 1>; + }; + mSetEx: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keyValuePairs: import("./MSET").MSetArguments, options?: { + expiration?: ({ + type: "EX"; + value: number; + } | { + type: "PX"; + value: number; + } | { + type: "EXAT"; + value: number | Date; + } | { + type: "PXAT"; + value: number | Date; + } | { + type: "KEEPTTL"; + }) | undefined; + mode?: ("NX" | "XX") | undefined; + } | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply<0 | 1>; + }; + MSETNX: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, toSet: import("./MSET").MSetArguments) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + mSetNX: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, toSet: import("./MSET").MSetArguments) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + OBJECT_ENCODING: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + objectEncoding: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + OBJECT_FREQ: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + }; + objectFreq: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + }; + OBJECT_IDLETIME: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + }; + objectIdleTime: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + }; + OBJECT_REFCOUNT: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + }; + objectRefCount: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + }; + PERSIST: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + persist: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + PEXPIRE: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, ms: number, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + pExpire: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, ms: number, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + PEXPIREAT: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, msTimestamp: number | Date, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + pExpireAt: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, msTimestamp: number | Date, mode?: "NX" | "XX" | "GT" | "LT" | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + PEXPIRETIME: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + pExpireTime: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + PFADD: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element?: import("./generic-transformers").RedisVariadicArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + pfAdd: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element?: import("./generic-transformers").RedisVariadicArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + PFCOUNT: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + pfCount: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + PFMERGE: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, sources?: import("./generic-transformers").RedisVariadicArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + pfMerge: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, sources?: import("./generic-transformers").RedisVariadicArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + PING: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, message?: import("../RESP/types").RedisArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply | import("../RESP/types").SimpleStringReply; + }; + ping: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, message?: import("../RESP/types").RedisArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply | import("../RESP/types").SimpleStringReply; + }; + PSETEX: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, ms: number, value: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + pSetEx: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, ms: number, value: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + PTTL: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + pTTL: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + PUBLISH: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly IS_FORWARD_COMMAND: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, channel: import("../RESP/types").RedisArgument, message: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + publish: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly IS_FORWARD_COMMAND: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, channel: import("../RESP/types").RedisArgument, message: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + PUBSUB_CHANNELS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, pattern?: import("../RESP/types").RedisArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + pubSubChannels: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, pattern?: import("../RESP/types").RedisArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + PUBSUB_NUMPAT: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + pubSubNumPat: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + PUBSUB_NUMSUB: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, channels?: import("./generic-transformers").RedisVariadicArgument | undefined) => void; + readonly transformReply: (this: void, rawReply: (import("../RESP/types").BlobStringReply | import("../RESP/types").NumberReply)[]) => Record>; + }; + pubSubNumSub: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, channels?: import("./generic-transformers").RedisVariadicArgument | undefined) => void; + readonly transformReply: (this: void, rawReply: (import("../RESP/types").BlobStringReply | import("../RESP/types").NumberReply)[]) => Record>; + }; + PUBSUB_SHARDNUMSUB: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, channels?: import("./generic-transformers").RedisVariadicArgument | undefined) => void; + readonly transformReply: (this: void, reply: (import("../RESP/types").BlobStringReply | import("../RESP/types").NumberReply)[]) => Record>; + }; + pubSubShardNumSub: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, channels?: import("./generic-transformers").RedisVariadicArgument | undefined) => void; + readonly transformReply: (this: void, reply: (import("../RESP/types").BlobStringReply | import("../RESP/types").NumberReply)[]) => Record>; + }; + PUBSUB_SHARDCHANNELS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, pattern?: import("../RESP/types").RedisArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + pubSubShardChannels: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, pattern?: import("../RESP/types").RedisArgument | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + RANDOMKEY: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + randomKey: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + READONLY: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + readonly: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + RENAME: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, newKey: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + rename: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, newKey: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + RENAMENX: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, newKey: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + renameNX: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, newKey: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + REPLICAOF: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, host: string, port: number) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + replicaOf: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, host: string, port: number) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + 'RESTORE-ASKING': { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + restoreAsking: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + RESTORE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, ttl: number, serializedValue: import("../RESP/types").RedisArgument, options?: import("./RESTORE").RestoreOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + restore: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, ttl: number, serializedValue: import("../RESP/types").RedisArgument, options?: import("./RESTORE").RestoreOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + RPOP_COUNT: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply>; + }; + rPopCount: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").ArrayReply>; + }; + ROLE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").UnwrapReply, replicationOffest: import("../RESP/types").NumberReply, replicas: import("../RESP/types").ArrayReply, port: import("../RESP/types").BlobStringReply, replicationOffest: import("../RESP/types").BlobStringReply]>>] | [role: import("../RESP/types").BlobStringReply<"slave">, masterHost: import("../RESP/types").BlobStringReply, masterPort: import("../RESP/types").NumberReply, state: import("../RESP/types").BlobStringReply<"connect" | "connecting" | "sync" | "connected">, dataReceived: import("../RESP/types").NumberReply] | [role: import("../RESP/types").BlobStringReply<"sentinel">, masterNames: import("../RESP/types").ArrayReply>]>>) => { + role: import("../RESP/types").BlobStringReply<"master">; + replicationOffest: import("../RESP/types").NumberReply; + replicas: { + host: import("../RESP/types").BlobStringReply; + port: number; + replicationOffest: number; + }[]; + master?: undefined; + state?: undefined; + dataReceived?: undefined; + masterNames?: undefined; + } | { + role: import("../RESP/types").BlobStringReply<"slave">; + master: { + host: import("../RESP/types").BlobStringReply; + port: import("../RESP/types").NumberReply; + }; + state: import("../RESP/types").BlobStringReply<"connect" | "connecting" | "sync" | "connected">; + dataReceived: import("../RESP/types").NumberReply; + replicationOffest?: undefined; + replicas?: undefined; + masterNames?: undefined; + } | { + role: import("../RESP/types").BlobStringReply<"sentinel">; + masterNames: import("../RESP/types").ArrayReply>; + replicationOffest?: undefined; + replicas?: undefined; + master?: undefined; + state?: undefined; + dataReceived?: undefined; + } | undefined; + }; + role: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").UnwrapReply, replicationOffest: import("../RESP/types").NumberReply, replicas: import("../RESP/types").ArrayReply, port: import("../RESP/types").BlobStringReply, replicationOffest: import("../RESP/types").BlobStringReply]>>] | [role: import("../RESP/types").BlobStringReply<"slave">, masterHost: import("../RESP/types").BlobStringReply, masterPort: import("../RESP/types").NumberReply, state: import("../RESP/types").BlobStringReply<"connect" | "connecting" | "sync" | "connected">, dataReceived: import("../RESP/types").NumberReply] | [role: import("../RESP/types").BlobStringReply<"sentinel">, masterNames: import("../RESP/types").ArrayReply>]>>) => { + role: import("../RESP/types").BlobStringReply<"master">; + replicationOffest: import("../RESP/types").NumberReply; + replicas: { + host: import("../RESP/types").BlobStringReply; + port: number; + replicationOffest: number; + }[]; + master?: undefined; + state?: undefined; + dataReceived?: undefined; + masterNames?: undefined; + } | { + role: import("../RESP/types").BlobStringReply<"slave">; + master: { + host: import("../RESP/types").BlobStringReply; + port: import("../RESP/types").NumberReply; + }; + state: import("../RESP/types").BlobStringReply<"connect" | "connecting" | "sync" | "connected">; + dataReceived: import("../RESP/types").NumberReply; + replicationOffest?: undefined; + replicas?: undefined; + masterNames?: undefined; + } | { + role: import("../RESP/types").BlobStringReply<"sentinel">; + masterNames: import("../RESP/types").ArrayReply>; + replicationOffest?: undefined; + replicas?: undefined; + master?: undefined; + state?: undefined; + dataReceived?: undefined; + } | undefined; + }; + RPOP: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + rPop: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + RPOPLPUSH: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, source: import("../RESP/types").RedisArgument, destination: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + rPopLPush: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, source: import("../RESP/types").RedisArgument, destination: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + RPUSH: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + rPush: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + RPUSHX: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + rPushX: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + SADD: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, members: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + sAdd: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, members: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + SCAN: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, cursor: import("../RESP/types").RedisArgument, options?: import("./SCAN").ScanOptions | undefined) => void; + readonly transformReply: (this: void, [cursor, keys]: [import("../RESP/types").BlobStringReply, import("../RESP/types").ArrayReply>]) => { + cursor: import("../RESP/types").BlobStringReply; + keys: import("../RESP/types").ArrayReply>; + }; + }; + scan: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, cursor: import("../RESP/types").RedisArgument, options?: import("./SCAN").ScanOptions | undefined) => void; + readonly transformReply: (this: void, [cursor, keys]: [import("../RESP/types").BlobStringReply, import("../RESP/types").ArrayReply>]) => { + cursor: import("../RESP/types").BlobStringReply; + keys: import("../RESP/types").ArrayReply>; + }; + }; + SCARD: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + sCard: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + SCRIPT_DEBUG: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, mode: "YES" | "NO" | "SYNC") => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + scriptDebug: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, mode: "YES" | "NO" | "SYNC") => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + SCRIPT_EXISTS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, sha1: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + scriptExists: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, sha1: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + SCRIPT_FLUSH: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, mode?: "ASYNC" | "SYNC" | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + scriptFlush: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, mode?: "ASYNC" | "SYNC" | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + SCRIPT_KILL: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + scriptKill: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + SCRIPT_LOAD: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + scriptLoad: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, script: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + SDIFF: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + sDiff: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + SDIFFSTORE: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + sDiffStore: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + SET: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, value: number | import("../RESP/types").RedisArgument, options?: import("./SET").SetOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply | import("../RESP/types").SimpleStringReply<"OK">; + }; + set: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, value: number | import("../RESP/types").RedisArgument, options?: import("./SET").SetOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply | import("../RESP/types").SimpleStringReply<"OK">; + }; + SETBIT: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, offset: number, value: import("./generic-transformers").BitValue) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + setBit: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, offset: number, value: import("./generic-transformers").BitValue) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + SETEX: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, seconds: number, value: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + setEx: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, seconds: number, value: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + SETNX: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, value: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + setNX: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, value: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + SETRANGE: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, offset: number, value: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + setRange: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, offset: number, value: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + SINTER: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + sInter: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + SINTERCARD: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument, options?: number | import("./SINTERCARD").SInterCardOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + sInterCard: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument, options?: number | import("./SINTERCARD").SInterCardOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + SINTERSTORE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + sInterStore: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + SISMEMBER: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + sIsMember: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + SMEMBERS: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: () => import("../RESP/types").ArrayReply>; + readonly 3: () => import("../RESP/types").SetReply>; + }; + }; + sMembers: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: () => import("../RESP/types").ArrayReply>; + readonly 3: () => import("../RESP/types").SetReply>; + }; + }; + SMISMEMBER: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, members: import("../RESP/types").RedisArgument[]) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + smIsMember: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, members: import("../RESP/types").RedisArgument[]) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + SMOVE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, source: import("../RESP/types").RedisArgument, destination: import("../RESP/types").RedisArgument, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + sMove: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, source: import("../RESP/types").RedisArgument, destination: import("../RESP/types").RedisArgument, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + SORT_RO: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, options?: import("./SORT").SortOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + sortRo: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, options?: import("./SORT").SortOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + SORT_STORE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, source: import("../RESP/types").RedisArgument, destination: import("../RESP/types").RedisArgument, options?: import("./SORT").SortOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + sortStore: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, source: import("../RESP/types").RedisArgument, destination: import("../RESP/types").RedisArgument, options?: import("./SORT").SortOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + SORT: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, options?: import("./SORT").SortOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + sort: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, options?: import("./SORT").SortOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + SPOP_COUNT: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply; + }; + sPopCount: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply; + }; + SPOP: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + sPop: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + SPUBLISH: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, channel: import("../RESP/types").RedisArgument, message: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + sPublish: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, channel: import("../RESP/types").RedisArgument, message: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + SRANDMEMBER_COUNT: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + sRandMemberCount: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + SRANDMEMBER: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + sRandMember: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + SREM: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, members: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + sRem: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, members: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + SSCAN: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, cursor: import("../RESP/types").RedisArgument, options?: import("./SCAN").ScanCommonOptions | undefined) => void; + readonly transformReply: (this: void, [cursor, members]: [import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply[]]) => { + cursor: import("../RESP/types").BlobStringReply; + members: import("../RESP/types").BlobStringReply[]; + }; + }; + sScan: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, cursor: import("../RESP/types").RedisArgument, options?: import("./SCAN").ScanCommonOptions | undefined) => void; + readonly transformReply: (this: void, [cursor, members]: [import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply[]]) => { + cursor: import("../RESP/types").BlobStringReply; + members: import("../RESP/types").BlobStringReply[]; + }; + }; + STRLEN: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + strLen: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + SUNION: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + sUnion: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + SUNIONSTORE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + sUnionStore: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + SWAPDB: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, index1: number, index2: number) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + swapDb: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, index1: number, index2: number) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + TIME: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => [unixTimestamp: import("../RESP/types").BlobStringReply<`${number}`>, microseconds: import("../RESP/types").BlobStringReply<`${number}`>]; + }; + time: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser) => void; + readonly transformReply: () => [unixTimestamp: import("../RESP/types").BlobStringReply<`${number}`>, microseconds: import("../RESP/types").BlobStringReply<`${number}`>]; + }; + TOUCH: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + touch: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + TTL: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + ttl: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + TYPE: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + type: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply; + }; + UNLINK: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + unlink: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + WAIT: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, numberOfReplicas: number, timeout: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + wait: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, numberOfReplicas: number, timeout: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + XACK: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, id: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + xAck: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, id: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + XACKDEL: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, id: import("./generic-transformers").RedisVariadicArgument, policy?: import("./common-stream.types").StreamDeletionPolicy | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply; + }; + xAckDel: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, id: import("./generic-transformers").RedisVariadicArgument, policy?: import("./common-stream.types").StreamDeletionPolicy | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply; + }; + XADD_NOMKSTREAM: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, id: import("../RESP/types").RedisArgument, message: Record, options?: import("./XADD").XAddOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + xAddNoMkStream: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, id: import("../RESP/types").RedisArgument, message: Record, options?: import("./XADD").XAddOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + XADD: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, id: import("../RESP/types").RedisArgument, message: Record, options?: import("./XADD").XAddOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + xAdd: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, id: import("../RESP/types").RedisArgument, message: Record, options?: import("./XADD").XAddOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").BlobStringReply; + }; + XAUTOCLAIM_JUSTID: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument, minIdleTime: number, start: import("../RESP/types").RedisArgument, options?: import("./XAUTOCLAIM").XAutoClaimOptions | undefined) => void; + readonly transformReply: (this: void, reply: [nextId: import("../RESP/types").BlobStringReply, messages: import("../RESP/types").ArrayReply>, deletedMessages: import("../RESP/types").ArrayReply>]) => { + nextId: import("../RESP/types").BlobStringReply; + messages: import("../RESP/types").ArrayReply>; + deletedMessages: import("../RESP/types").ArrayReply>; + }; + }; + xAutoClaimJustId: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument, minIdleTime: number, start: import("../RESP/types").RedisArgument, options?: import("./XAUTOCLAIM").XAutoClaimOptions | undefined) => void; + readonly transformReply: (this: void, reply: [nextId: import("../RESP/types").BlobStringReply, messages: import("../RESP/types").ArrayReply>, deletedMessages: import("../RESP/types").ArrayReply>]) => { + nextId: import("../RESP/types").BlobStringReply; + messages: import("../RESP/types").ArrayReply>; + deletedMessages: import("../RESP/types").ArrayReply>; + }; + }; + XAUTOCLAIM: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument, minIdleTime: number, start: import("../RESP/types").RedisArgument, options?: import("./XAUTOCLAIM").XAutoClaimOptions | undefined) => void; + readonly transformReply: (this: void, reply: [nextId: import("../RESP/types").BlobStringReply, messages: import("../RESP/types").ArrayReply, deletedMessages: import("../RESP/types").ArrayReply>], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + nextId: import("../RESP/types").BlobStringReply; + messages: (import("../RESP/types").NullReply | import("./generic-transformers").StreamMessageReply)[]; + deletedMessages: import("../RESP/types").ArrayReply>; + }; + }; + xAutoClaim: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument, minIdleTime: number, start: import("../RESP/types").RedisArgument, options?: import("./XAUTOCLAIM").XAutoClaimOptions | undefined) => void; + readonly transformReply: (this: void, reply: [nextId: import("../RESP/types").BlobStringReply, messages: import("../RESP/types").ArrayReply, deletedMessages: import("../RESP/types").ArrayReply>], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + nextId: import("../RESP/types").BlobStringReply; + messages: (import("../RESP/types").NullReply | import("./generic-transformers").StreamMessageReply)[]; + deletedMessages: import("../RESP/types").ArrayReply>; + }; + }; + XCLAIM_JUSTID: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument, minIdleTime: number, id: import("./generic-transformers").RedisVariadicArgument, options?: import("./XCLAIM").XClaimOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + xClaimJustId: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument, minIdleTime: number, id: import("./generic-transformers").RedisVariadicArgument, options?: import("./XCLAIM").XClaimOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + XCLAIM: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument, minIdleTime: number, id: import("./generic-transformers").RedisVariadicArgument, options?: import("./XCLAIM").XClaimOptions | undefined) => void; + readonly transformReply: (this: void, reply: (import("../RESP/types").NullReply | import("./generic-transformers").StreamMessageRawReply)[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => (import("../RESP/types").NullReply | import("./generic-transformers").StreamMessageReply)[]; + }; + xClaim: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument, minIdleTime: number, id: import("./generic-transformers").RedisVariadicArgument, options?: import("./XCLAIM").XClaimOptions | undefined) => void; + readonly transformReply: (this: void, reply: (import("../RESP/types").NullReply | import("./generic-transformers").StreamMessageRawReply)[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => (import("../RESP/types").NullReply | import("./generic-transformers").StreamMessageReply)[]; + }; + XCFGSET: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, options?: import("./XCFGSET").XCfgSetOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + xCfgSet: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, options?: import("./XCFGSET").XCfgSetOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + XDEL: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, id: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + xDel: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, id: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + XDELEX: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, id: import("./generic-transformers").RedisVariadicArgument, policy?: import("./common-stream.types").StreamDeletionPolicy | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply; + }; + xDelEx: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, id: import("./generic-transformers").RedisVariadicArgument, policy?: import("./common-stream.types").StreamDeletionPolicy | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply; + }; + XGROUP_CREATE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, id: import("../RESP/types").RedisArgument, options?: import("./XGROUP_CREATE").XGroupCreateOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + xGroupCreate: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, id: import("../RESP/types").RedisArgument, options?: import("./XGROUP_CREATE").XGroupCreateOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + XGROUP_CREATECONSUMER: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + xGroupCreateConsumer: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + XGROUP_DELCONSUMER: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + xGroupDelConsumer: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + XGROUP_DESTROY: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + xGroupDestroy: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + XGROUP_SETID: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, id: import("../RESP/types").RedisArgument, options?: import("./XGROUP_SETID").XGroupSetIdOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + xGroupSetId: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, id: import("../RESP/types").RedisArgument, options?: import("./XGROUP_SETID").XGroupSetIdOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + XINFO_CONSUMERS: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"pending">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"idle">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"inactive">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"pending">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"idle">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"inactive">, import("../RESP/types").NumberReply]>[]) => { + name: import("../RESP/types").BlobStringReply; + pending: import("../RESP/types").NumberReply; + idle: import("../RESP/types").NumberReply; + inactive: import("../RESP/types").NumberReply; + }[]; + readonly 3: () => import("./XINFO_CONSUMERS").XInfoConsumersReply; + }; + }; + xInfoConsumers: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"pending">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"idle">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"inactive">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"pending">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"idle">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"inactive">, import("../RESP/types").NumberReply]>[]) => { + name: import("../RESP/types").BlobStringReply; + pending: import("../RESP/types").NumberReply; + idle: import("../RESP/types").NumberReply; + inactive: import("../RESP/types").NumberReply; + }[]; + readonly 3: () => import("./XINFO_CONSUMERS").XInfoConsumersReply; + }; + }; + XINFO_GROUPS: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"consumers">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"pending">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"last-delivered-id">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"entries-read">, import("../RESP/types").NullReply | import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"lag">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"consumers">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"pending">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"last-delivered-id">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"entries-read">, import("../RESP/types").NullReply | import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"lag">, import("../RESP/types").NumberReply]>[]) => { + name: import("../RESP/types").BlobStringReply; + consumers: import("../RESP/types").NumberReply; + pending: import("../RESP/types").NumberReply; + 'last-delivered-id': import("../RESP/types").NumberReply; + 'entries-read': import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + lag: import("../RESP/types").NumberReply; + }[]; + readonly 3: () => import("./XINFO_GROUPS").XInfoGroupsReply; + }; + }; + xInfoGroups: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").RespType<42, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"consumers">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"pending">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"last-delivered-id">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"entries-read">, import("../RESP/types").NullReply | import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"lag">, import("../RESP/types").NumberReply], never, [import("../RESP/types").BlobStringReply<"name">, import("../RESP/types").BlobStringReply, import("../RESP/types").BlobStringReply<"consumers">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"pending">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"last-delivered-id">, import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"entries-read">, import("../RESP/types").NullReply | import("../RESP/types").NumberReply, import("../RESP/types").BlobStringReply<"lag">, import("../RESP/types").NumberReply]>[]) => { + name: import("../RESP/types").BlobStringReply; + consumers: import("../RESP/types").NumberReply; + pending: import("../RESP/types").NumberReply; + 'last-delivered-id': import("../RESP/types").NumberReply; + 'entries-read': import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + lag: import("../RESP/types").NumberReply; + }[]; + readonly 3: () => import("./XINFO_GROUPS").XInfoGroupsReply; + }; + }; + XINFO_STREAM: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: any) => { + length: import("../RESP/types").NumberReply; + "radix-tree-keys": import("../RESP/types").NumberReply; + "radix-tree-nodes": import("../RESP/types").NumberReply; + "last-generated-id": import("../RESP/types").BlobStringReply; + "max-deleted-entry-id": import("../RESP/types").BlobStringReply; + "entries-added": import("../RESP/types").NumberReply; + "recorded-first-entry-id": import("../RESP/types").BlobStringReply; + "idmp-duration": import("../RESP/types").NumberReply; + "idmp-maxsize": import("../RESP/types").NumberReply; + "pids-tracked": import("../RESP/types").NumberReply; + "iids-tracked": import("../RESP/types").NumberReply; + "iids-added": import("../RESP/types").NumberReply; + "iids-duplicates": import("../RESP/types").NumberReply; + groups: import("../RESP/types").NumberReply; + "first-entry": import("../RESP/types").NullReply | { + id: import("../RESP/types").BlobStringReply; + message: import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>; + }; + "last-entry": import("../RESP/types").NullReply | { + id: import("../RESP/types").BlobStringReply; + message: import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>; + }; + }; + readonly 3: (this: void, reply: any) => import("./XINFO_STREAM").XInfoStreamReply; + }; + }; + xInfoStream: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: any) => { + length: import("../RESP/types").NumberReply; + "radix-tree-keys": import("../RESP/types").NumberReply; + "radix-tree-nodes": import("../RESP/types").NumberReply; + "last-generated-id": import("../RESP/types").BlobStringReply; + "max-deleted-entry-id": import("../RESP/types").BlobStringReply; + "entries-added": import("../RESP/types").NumberReply; + "recorded-first-entry-id": import("../RESP/types").BlobStringReply; + "idmp-duration": import("../RESP/types").NumberReply; + "idmp-maxsize": import("../RESP/types").NumberReply; + "pids-tracked": import("../RESP/types").NumberReply; + "iids-tracked": import("../RESP/types").NumberReply; + "iids-added": import("../RESP/types").NumberReply; + "iids-duplicates": import("../RESP/types").NumberReply; + groups: import("../RESP/types").NumberReply; + "first-entry": import("../RESP/types").NullReply | { + id: import("../RESP/types").BlobStringReply; + message: import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>; + }; + "last-entry": import("../RESP/types").NullReply | { + id: import("../RESP/types").BlobStringReply; + message: import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>; + }; + }; + readonly 3: (this: void, reply: any) => import("./XINFO_STREAM").XInfoStreamReply; + }; + }; + XLEN: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + xLen: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + XPENDING_RANGE: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, start: import("../RESP/types").RedisArgument, end: import("../RESP/types").RedisArgument, count: number, options?: import("./XPENDING_RANGE").XPendingRangeOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[id: import("../RESP/types").BlobStringReply, consumer: import("../RESP/types").BlobStringReply, millisecondsSinceLastDelivery: import("../RESP/types").NumberReply, deliveriesCounter: import("../RESP/types").NumberReply]>[]) => { + id: import("../RESP/types").BlobStringReply; + consumer: import("../RESP/types").BlobStringReply; + millisecondsSinceLastDelivery: import("../RESP/types").NumberReply; + deliveriesCounter: import("../RESP/types").NumberReply; + }[]; + }; + xPendingRange: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument, start: import("../RESP/types").RedisArgument, end: import("../RESP/types").RedisArgument, count: number, options?: import("./XPENDING_RANGE").XPendingRangeOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("../RESP/types").TuplesReply<[id: import("../RESP/types").BlobStringReply, consumer: import("../RESP/types").BlobStringReply, millisecondsSinceLastDelivery: import("../RESP/types").NumberReply, deliveriesCounter: import("../RESP/types").NumberReply]>[]) => { + id: import("../RESP/types").BlobStringReply; + consumer: import("../RESP/types").BlobStringReply; + millisecondsSinceLastDelivery: import("../RESP/types").NumberReply; + deliveriesCounter: import("../RESP/types").NumberReply; + }[]; + }; + XPENDING: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument) => void; + readonly transformReply: (this: void, reply: [pending: import("../RESP/types").NumberReply, firstId: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, lastId: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, consumers: import("../RESP/types").NullReply | import("../RESP/types").ArrayReply, deliveriesCounter: import("../RESP/types").BlobStringReply]>>]) => { + pending: import("../RESP/types").NumberReply; + firstId: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + lastId: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + consumers: { + name: import("../RESP/types").BlobStringReply; + deliveriesCounter: number; + }[] | null; + }; + }; + xPending: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, group: import("../RESP/types").RedisArgument) => void; + readonly transformReply: (this: void, reply: [pending: import("../RESP/types").NumberReply, firstId: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, lastId: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, consumers: import("../RESP/types").NullReply | import("../RESP/types").ArrayReply, deliveriesCounter: import("../RESP/types").BlobStringReply]>>]) => { + pending: import("../RESP/types").NumberReply; + firstId: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + lastId: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + consumers: { + name: import("../RESP/types").BlobStringReply; + deliveriesCounter: number; + }[] | null; + }; + }; + XRANGE: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, start: import("../RESP/types").RedisArgument, end: import("../RESP/types").RedisArgument, options?: import("./XRANGE").XRangeOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("./generic-transformers").StreamMessageRawReply[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("./generic-transformers").StreamMessageReply[]; + }; + xRange: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, start: import("../RESP/types").RedisArgument, end: import("../RESP/types").RedisArgument, options?: import("./XRANGE").XRangeOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("./generic-transformers").StreamMessageRawReply[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("./generic-transformers").StreamMessageReply[]; + }; + XREAD: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, streams: import("./XREAD").XReadStreams, options?: import("./XREAD").XReadOptions | undefined) => void; + readonly transformReply: { + readonly 2: typeof import("./generic-transformers").transformStreamsMessagesReplyResp2; + readonly 3: () => import("../RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + xRead: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, streams: import("./XREAD").XReadStreams, options?: import("./XREAD").XReadOptions | undefined) => void; + readonly transformReply: { + readonly 2: typeof import("./generic-transformers").transformStreamsMessagesReplyResp2; + readonly 3: () => import("../RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + XREADGROUP: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument, streams: import("./XREAD").XReadStreams, options?: import("./XREADGROUP").XReadGroupOptions | undefined) => void; + readonly transformReply: { + readonly 2: typeof import("./generic-transformers").transformStreamsMessagesReplyResp2; + readonly 3: () => import("../RESP/types").ReplyUnion; + }; + }; + xReadGroup: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, group: import("../RESP/types").RedisArgument, consumer: import("../RESP/types").RedisArgument, streams: import("./XREAD").XReadStreams, options?: import("./XREADGROUP").XReadGroupOptions | undefined) => void; + readonly transformReply: { + readonly 2: typeof import("./generic-transformers").transformStreamsMessagesReplyResp2; + readonly 3: () => import("../RESP/types").ReplyUnion; + }; + }; + XREVRANGE: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, start: import("../RESP/types").RedisArgument, end: import("../RESP/types").RedisArgument, options?: import("./XRANGE").XRangeOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("./generic-transformers").StreamMessageRawReply[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("./generic-transformers").StreamMessageReply[]; + }; + xRevRange: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, start: import("../RESP/types").RedisArgument, end: import("../RESP/types").RedisArgument, options?: import("./XRANGE").XRangeOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("./generic-transformers").StreamMessageRawReply[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("./generic-transformers").StreamMessageReply[]; + }; + XSETID: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, lastId: import("../RESP/types").RedisArgument, options?: import("./XSETID").XSetIdOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + xSetId: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, lastId: import("../RESP/types").RedisArgument, options?: import("./XSETID").XSetIdOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + XTRIM: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, strategy: "MAXLEN" | "MINID", threshold: string | number, options?: import("./XTRIM").XTrimOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + xTrim: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, strategy: "MAXLEN" | "MINID", threshold: string | number, options?: import("./XTRIM").XTrimOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + ZADD_INCR: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, members: import("./generic-transformers").SortedSetMember | import("./generic-transformers").SortedSetMember[], options?: import("./ZADD_INCR").ZAddOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").DoubleReply | null; + 3: () => import("../RESP/types").NullReply | import("../RESP/types").DoubleReply; + }; + }; + zAddIncr: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, members: import("./generic-transformers").SortedSetMember | import("./generic-transformers").SortedSetMember[], options?: import("./ZADD_INCR").ZAddOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").DoubleReply | null; + 3: () => import("../RESP/types").NullReply | import("../RESP/types").DoubleReply; + }; + }; + ZADD: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, members: import("./generic-transformers").SortedSetMember | import("./generic-transformers").SortedSetMember[], options?: import("./ZADD").ZAddOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").DoubleReply; + 3: () => import("../RESP/types").DoubleReply; + }; + }; + zAdd: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, members: import("./generic-transformers").SortedSetMember | import("./generic-transformers").SortedSetMember[], options?: import("./ZADD").ZAddOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").DoubleReply; + 3: () => import("../RESP/types").DoubleReply; + }; + }; + ZCARD: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + zCard: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + ZCOUNT: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: number | import("../RESP/types").RedisArgument, max: number | import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + zCount: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: number | import("../RESP/types").RedisArgument, max: number | import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + ZDIFF_WITHSCORES: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + zDiffWithScores: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + ZDIFF: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + zDiff: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + ZDIFFSTORE: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, inputKeys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + zDiffStore: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, inputKeys: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + ZINCRBY: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, increment: number, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").DoubleReply; + 3: () => import("../RESP/types").DoubleReply; + }; + }; + zIncrBy: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, increment: number, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").DoubleReply; + 3: () => import("../RESP/types").DoubleReply; + }; + }; + ZINTER_WITHSCORES: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./ZINTER").ZInterKeysType, options?: import("./ZINTER").ZInterOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + zInterWithScores: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./ZINTER").ZInterKeysType, options?: import("./ZINTER").ZInterOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + ZINTER: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./ZINTER").ZInterKeysType, options?: import("./ZINTER").ZInterOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + zInter: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./ZINTER").ZInterKeysType, options?: import("./ZINTER").ZInterOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + ZINTERCARD: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument, options?: number | import("./ZINTERCARD").ZInterCardOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + zInterCard: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument, options?: number | import("./ZINTERCARD").ZInterCardOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + ZINTERSTORE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, keys: import("./generic-transformers").ZKeys, options?: import("./ZINTER").ZInterOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + zInterStore: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, keys: import("./generic-transformers").ZKeys, options?: import("./ZINTER").ZInterOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + ZLEXCOUNT: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: import("../RESP/types").RedisArgument, max: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + zLexCount: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: import("../RESP/types").RedisArgument, max: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + ZMPOP: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument, side: import("./generic-transformers").SortedSetSide, options?: import("./ZMPOP").ZMPopOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("../RESP/types").UnwrapReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + key: import("../RESP/types").BlobStringReply; + members: { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + } | null; + readonly 3: (this: void, reply: import("../RESP/types").UnwrapReply) => { + key: import("../RESP/types").BlobStringReply; + members: { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + } | null; + }; + }; + zmPop: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").RedisVariadicArgument, side: import("./generic-transformers").SortedSetSide, options?: import("./ZMPOP").ZMPopOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("../RESP/types").UnwrapReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + key: import("../RESP/types").BlobStringReply; + members: { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + } | null; + readonly 3: (this: void, reply: import("../RESP/types").UnwrapReply) => { + key: import("../RESP/types").BlobStringReply; + members: { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + } | null; + }; + }; + ZMSCORE: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + readonly 2: (reply: (import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply)[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => (import("../RESP/types").DoubleReply | null)[]; + readonly 3: () => import("../RESP/types").ArrayReply>; + }; + }; + zmScore: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + readonly 2: (reply: (import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply)[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => (import("../RESP/types").DoubleReply | null)[]; + readonly 3: () => import("../RESP/types").ArrayReply>; + }; + }; + ZPOPMAX_COUNT: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + zPopMaxCount: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + ZPOPMAX: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply]>>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + readonly 3: (reply: import("../RESP/types").UnwrapReply, import("../RESP/types").DoubleReply] | []>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + }; + }; + zPopMax: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply]>>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + readonly 3: (reply: import("../RESP/types").UnwrapReply, import("../RESP/types").DoubleReply] | []>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + }; + }; + ZPOPMIN_COUNT: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + zPopMinCount: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + ZPOPMIN: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply]>>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + readonly 3: (reply: import("../RESP/types").UnwrapReply, import("../RESP/types").DoubleReply] | []>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + }; + }; + zPopMin: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply]>>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + readonly 3: (reply: import("../RESP/types").UnwrapReply, import("../RESP/types").DoubleReply] | []>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + }; + }; + ZRANDMEMBER_COUNT_WITHSCORES: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + zRandMemberCountWithScores: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + ZRANDMEMBER_COUNT: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + zRandMemberCount: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count: number) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + ZRANDMEMBER: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + zRandMember: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply; + }; + ZRANGE_WITHSCORES: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: number | import("../RESP/types").RedisArgument, max: number | import("../RESP/types").RedisArgument, options?: import("./ZRANGE").ZRangeOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + zRangeWithScores: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: number | import("../RESP/types").RedisArgument, max: number | import("../RESP/types").RedisArgument, options?: import("./ZRANGE").ZRangeOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + ZRANGE: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: number | import("../RESP/types").RedisArgument, max: number | import("../RESP/types").RedisArgument, options?: import("./ZRANGE").ZRangeOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + zRange: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: number | import("../RESP/types").RedisArgument, max: number | import("../RESP/types").RedisArgument, options?: import("./ZRANGE").ZRangeOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + ZRANGEBYLEX: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: import("../RESP/types").RedisArgument, max: import("../RESP/types").RedisArgument, options?: import("./ZRANGEBYLEX").ZRangeByLexOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + zRangeByLex: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: import("../RESP/types").RedisArgument, max: import("../RESP/types").RedisArgument, options?: import("./ZRANGEBYLEX").ZRangeByLexOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + ZRANGEBYSCORE_WITHSCORES: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: string | number, max: string | number, options?: import("./ZRANGEBYSCORE").ZRangeByScoreOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + zRangeByScoreWithScores: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: string | number, max: string | number, options?: import("./ZRANGEBYSCORE").ZRangeByScoreOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + ZRANGEBYSCORE: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: string | number, max: string | number, options?: import("./ZRANGEBYSCORE").ZRangeByScoreOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + zRangeByScore: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: string | number, max: string | number, options?: import("./ZRANGEBYSCORE").ZRangeByScoreOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + ZRANGESTORE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, source: import("../RESP/types").RedisArgument, min: number | import("../RESP/types").RedisArgument, max: number | import("../RESP/types").RedisArgument, options?: import("./ZRANGESTORE").ZRangeStoreOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + zRangeStore: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, source: import("../RESP/types").RedisArgument, min: number | import("../RESP/types").RedisArgument, max: number | import("../RESP/types").RedisArgument, options?: import("./ZRANGESTORE").ZRangeStoreOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + ZRANK_WITHSCORE: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply]>>) => { + rank: import("../RESP/types").NumberReply; + score: number; + } | null; + readonly 3: (reply: import("../RESP/types").UnwrapReply, import("../RESP/types").DoubleReply]>>) => { + rank: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + }; + }; + zRankWithScore: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").UnwrapReply, import("../RESP/types").BlobStringReply]>>) => { + rank: import("../RESP/types").NumberReply; + score: number; + } | null; + readonly 3: (reply: import("../RESP/types").UnwrapReply, import("../RESP/types").DoubleReply]>>) => { + rank: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + } | null; + }; + }; + ZRANK: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + }; + zRank: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + }; + ZREM: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + zRem: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("./generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + ZREMRANGEBYLEX: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: number | import("../RESP/types").RedisArgument, max: number | import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + zRemRangeByLex: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: number | import("../RESP/types").RedisArgument, max: number | import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + ZREMRANGEBYRANK: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, start: number, stop: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + zRemRangeByRank: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, start: number, stop: number) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + ZREMRANGEBYSCORE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: number | import("../RESP/types").RedisArgument, max: number | import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + zRemRangeByScore: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, min: number | import("../RESP/types").RedisArgument, max: number | import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + ZREVRANK: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + }; + zRevRank: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").NumberReply; + }; + ZSCAN: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, cursor: import("../RESP/types").RedisArgument, options?: import("./SCAN").ScanCommonOptions | undefined) => void; + readonly transformReply: (this: void, [cursor, rawMembers]: [import("../RESP/types").BlobStringReply, import("../RESP/types").ArrayReply>]) => { + cursor: import("../RESP/types").BlobStringReply; + members: { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + zScan: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, cursor: import("../RESP/types").RedisArgument, options?: import("./SCAN").ScanCommonOptions | undefined) => void; + readonly transformReply: (this: void, [cursor, rawMembers]: [import("../RESP/types").BlobStringReply, import("../RESP/types").ArrayReply>]) => { + cursor: import("../RESP/types").BlobStringReply; + members: { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + ZSCORE: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").DoubleReply | null; + 3: () => import("../RESP/types").NullReply | import("../RESP/types").DoubleReply; + }; + }; + zScore: { + readonly CACHEABLE: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, member: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").DoubleReply | null; + 3: () => import("../RESP/types").NullReply | import("../RESP/types").DoubleReply; + }; + }; + ZUNION_WITHSCORES: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").ZKeys, options?: import("./ZUNION").ZUnionOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + zUnionWithScores: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").ZKeys, options?: import("./ZUNION").ZUnionOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + 3: (reply: import("../RESP/types").ArrayReply, import("../RESP/types").DoubleReply]>>) => { + value: import("../RESP/types").BlobStringReply; + score: import("../RESP/types").DoubleReply; + }[]; + }; + }; + ZUNION: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").ZKeys, options?: import("./ZUNION").ZUnionOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + zUnion: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, keys: import("./generic-transformers").ZKeys, options?: import("./ZUNION").ZUnionOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + ZUNIONSTORE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, keys: import("./generic-transformers").ZKeys, options?: import("./ZUNIONSTORE").ZUnionOptions | undefined) => any; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + zUnionStore: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, destination: import("../RESP/types").RedisArgument, keys: import("./generic-transformers").ZKeys, options?: import("./ZUNIONSTORE").ZUnionOptions | undefined) => any; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + VADD: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, vector: number[], element: import("../RESP/types").RedisArgument, options?: import("./VADD").VAddOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("../RESP/types").BooleanReply; + }; + }; + vAdd: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, vector: number[], element: import("../RESP/types").RedisArgument, options?: import("./VADD").VAddOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("../RESP/types").BooleanReply; + }; + }; + VCARD: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + vCard: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + VDIM: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + vDim: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").NumberReply; + }; + VEMB: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").DoubleReply[]; + 3: () => import("../RESP/types").ArrayReply>; + }; + }; + vEmb: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").DoubleReply[]; + 3: () => import("../RESP/types").ArrayReply>; + }; + }; + VEMB_RAW: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: any[]) => { + quantization: import("../RESP/types").SimpleStringReply; + raw: import("../RESP/types").BlobStringReply; + l2Norm: import("../RESP/types").DoubleReply; + quantizationRange?: import("../RESP/types").DoubleReply | undefined; + }; + 3: (reply: any[]) => { + quantization: import("../RESP/types").SimpleStringReply; + raw: import("../RESP/types").BlobStringReply; + l2Norm: import("../RESP/types").DoubleReply; + quantizationRange?: import("../RESP/types").DoubleReply | undefined; + }; + }; + }; + vEmbRaw: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: any[]) => { + quantization: import("../RESP/types").SimpleStringReply; + raw: import("../RESP/types").BlobStringReply; + l2Norm: import("../RESP/types").DoubleReply; + quantizationRange?: import("../RESP/types").DoubleReply | undefined; + }; + 3: (reply: any[]) => { + quantization: import("../RESP/types").SimpleStringReply; + raw: import("../RESP/types").BlobStringReply; + l2Norm: import("../RESP/types").DoubleReply; + quantizationRange?: import("../RESP/types").DoubleReply | undefined; + }; + }; + }; + VGETATTR: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: typeof import("./generic-transformers").transformRedisJsonNullReply; + }; + vGetAttr: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: typeof import("./generic-transformers").transformRedisJsonNullReply; + }; + VINFO: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: [import("../RESP/types").SimpleStringReply<"quant-type">, import("../RESP/types").SimpleStringReply, import("../RESP/types").SimpleStringReply<"vector-dim">, import("../RESP/types").NumberReply, import("../RESP/types").SimpleStringReply<"size">, import("../RESP/types").NumberReply, import("../RESP/types").SimpleStringReply<"max-level">, import("../RESP/types").NumberReply, import("../RESP/types").SimpleStringReply<"vset-uid">, import("../RESP/types").NumberReply, import("../RESP/types").SimpleStringReply<"hnsw-max-node-uid">, import("../RESP/types").NumberReply]) => import("./VINFO").VInfoReplyMap; + readonly 3: () => import("./VINFO").VInfoReplyMap; + }; + }; + vInfo: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: [import("../RESP/types").SimpleStringReply<"quant-type">, import("../RESP/types").SimpleStringReply, import("../RESP/types").SimpleStringReply<"vector-dim">, import("../RESP/types").NumberReply, import("../RESP/types").SimpleStringReply<"size">, import("../RESP/types").NumberReply, import("../RESP/types").SimpleStringReply<"max-level">, import("../RESP/types").NumberReply, import("../RESP/types").SimpleStringReply<"vset-uid">, import("../RESP/types").NumberReply, import("../RESP/types").SimpleStringReply<"hnsw-max-node-uid">, import("../RESP/types").NumberReply]) => import("./VINFO").VInfoReplyMap; + readonly 3: () => import("./VINFO").VInfoReplyMap; + }; + }; + VLINKS: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>>; + }; + vLinks: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>>; + }; + VLINKS_WITHSCORES: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: any) => Record>[]; + readonly 3: () => import("../RESP/types").MapReply, import("../RESP/types").DoubleReply>[]; + }; + }; + vLinksWithScores: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: any) => Record>[]; + readonly 3: () => import("../RESP/types").MapReply, import("../RESP/types").DoubleReply>[]; + }; + }; + VRANDMEMBER: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count?: number | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply | import("../RESP/types").ArrayReply>; + }; + vRandMember: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, count?: number | undefined) => void; + readonly transformReply: () => import("../RESP/types").NullReply | import("../RESP/types").BlobStringReply | import("../RESP/types").ArrayReply>; + }; + VRANGE: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, start: import("../RESP/types").RedisArgument, end: import("../RESP/types").RedisArgument, count?: number | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + vRange: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, start: import("../RESP/types").RedisArgument, end: import("../RESP/types").RedisArgument, count?: number | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + VREM: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("../RESP/types").BooleanReply; + }; + }; + vRem: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("../RESP/types").BooleanReply; + }; + }; + VSETATTR: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument, attributes: import("../RESP/types").RedisArgument | Record) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("../RESP/types").BooleanReply; + }; + }; + vSetAttr: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, element: import("../RESP/types").RedisArgument, attributes: import("../RESP/types").RedisArgument | Record) => void; + readonly transformReply: { + 2: (reply: import("../RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("../RESP/types").BooleanReply; + }; + }; + VSIM: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, query: number[] | import("../RESP/types").RedisArgument, options?: import("./VSIM").VSimOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + vSim: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, query: number[] | import("../RESP/types").RedisArgument, options?: import("./VSIM").VSimOptions | undefined) => void; + readonly transformReply: () => import("../RESP/types").ArrayReply>; + }; + VSIM_WITHSCORES: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, query: number[] | import("../RESP/types").RedisArgument, options?: import("./VSIM").VSimOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").ArrayReply>) => Record>; + readonly 3: () => import("../RESP/types").MapReply, import("../RESP/types").DoubleReply>; + }; + }; + vSimWithScores: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("../..").CommandParser, key: import("../RESP/types").RedisArgument, query: number[] | import("../RESP/types").RedisArgument, options?: import("./VSIM").VSimOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").ArrayReply>) => Record>; + readonly 3: () => import("../RESP/types").MapReply, import("../RESP/types").DoubleReply>; + }; + }; +}; +export { NON_STICKY_COMMANDS }; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/index.d.ts.map b/back/node_modules/@redis/client/dist/lib/commands/index.d.ts.map new file mode 100644 index 0000000..dc75f59 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/commands/index.ts"],"names":[],"mappings":"AAqCA,OAAoB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAgBjE,OAAyB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAgBtE,OAAwB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAMzE,OAAqB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AA8CtE,OAAiB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AA6PzD,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EAClB,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqcjC;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AArcL,wBA2uBmC;AAOnC,QAAA,MASK,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACZ,CAAC;AAEb,OAAO,EAAE,mBAAmB,EAAE,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/index.js b/back/node_modules/@redis/client/dist/lib/commands/index.js new file mode 100644 index 0000000..0d9320f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/index.js @@ -0,0 +1,1161 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.NON_STICKY_COMMANDS = exports.REDIS_FLUSH_MODES = exports.COMMAND_LIST_FILTER_BY = exports.CLUSTER_SLOT_STATES = exports.FAILOVER_MODES = exports.CLIENT_KILL_FILTERS = void 0; +const ACL_CAT_1 = __importDefault(require("./ACL_CAT")); +const ACL_DELUSER_1 = __importDefault(require("./ACL_DELUSER")); +const ACL_DRYRUN_1 = __importDefault(require("./ACL_DRYRUN")); +const ACL_GENPASS_1 = __importDefault(require("./ACL_GENPASS")); +const ACL_GETUSER_1 = __importDefault(require("./ACL_GETUSER")); +const ACL_LIST_1 = __importDefault(require("./ACL_LIST")); +const ACL_LOAD_1 = __importDefault(require("./ACL_LOAD")); +const ACL_LOG_RESET_1 = __importDefault(require("./ACL_LOG_RESET")); +const ACL_LOG_1 = __importDefault(require("./ACL_LOG")); +const ACL_SAVE_1 = __importDefault(require("./ACL_SAVE")); +const ACL_SETUSER_1 = __importDefault(require("./ACL_SETUSER")); +const ACL_USERS_1 = __importDefault(require("./ACL_USERS")); +const ACL_WHOAMI_1 = __importDefault(require("./ACL_WHOAMI")); +const APPEND_1 = __importDefault(require("./APPEND")); +const ASKING_1 = __importDefault(require("./ASKING")); +const AUTH_1 = __importDefault(require("./AUTH")); +const BGREWRITEAOF_1 = __importDefault(require("./BGREWRITEAOF")); +const BGSAVE_1 = __importDefault(require("./BGSAVE")); +const BITCOUNT_1 = __importDefault(require("./BITCOUNT")); +const BITFIELD_RO_1 = __importDefault(require("./BITFIELD_RO")); +const BITFIELD_1 = __importDefault(require("./BITFIELD")); +const BITOP_1 = __importDefault(require("./BITOP")); +const BITPOS_1 = __importDefault(require("./BITPOS")); +const BLMOVE_1 = __importDefault(require("./BLMOVE")); +const BLMPOP_1 = __importDefault(require("./BLMPOP")); +const BLPOP_1 = __importDefault(require("./BLPOP")); +const BRPOP_1 = __importDefault(require("./BRPOP")); +const BRPOPLPUSH_1 = __importDefault(require("./BRPOPLPUSH")); +const BZMPOP_1 = __importDefault(require("./BZMPOP")); +const BZPOPMAX_1 = __importDefault(require("./BZPOPMAX")); +const BZPOPMIN_1 = __importDefault(require("./BZPOPMIN")); +const CLIENT_CACHING_1 = __importDefault(require("./CLIENT_CACHING")); +const CLIENT_GETNAME_1 = __importDefault(require("./CLIENT_GETNAME")); +const CLIENT_GETREDIR_1 = __importDefault(require("./CLIENT_GETREDIR")); +const CLIENT_ID_1 = __importDefault(require("./CLIENT_ID")); +const CLIENT_INFO_1 = __importDefault(require("./CLIENT_INFO")); +const CLIENT_KILL_1 = __importStar(require("./CLIENT_KILL")); +Object.defineProperty(exports, "CLIENT_KILL_FILTERS", { enumerable: true, get: function () { return CLIENT_KILL_1.CLIENT_KILL_FILTERS; } }); +const CLIENT_LIST_1 = __importDefault(require("./CLIENT_LIST")); +const CLIENT_NO_EVICT_1 = __importDefault(require("./CLIENT_NO-EVICT")); +const CLIENT_NO_TOUCH_1 = __importDefault(require("./CLIENT_NO-TOUCH")); +const CLIENT_PAUSE_1 = __importDefault(require("./CLIENT_PAUSE")); +const CLIENT_SETNAME_1 = __importDefault(require("./CLIENT_SETNAME")); +const CLIENT_TRACKING_1 = __importDefault(require("./CLIENT_TRACKING")); +const CLIENT_TRACKINGINFO_1 = __importDefault(require("./CLIENT_TRACKINGINFO")); +const CLIENT_UNPAUSE_1 = __importDefault(require("./CLIENT_UNPAUSE")); +const CLUSTER_ADDSLOTS_1 = __importDefault(require("./CLUSTER_ADDSLOTS")); +const CLUSTER_ADDSLOTSRANGE_1 = __importDefault(require("./CLUSTER_ADDSLOTSRANGE")); +const CLUSTER_BUMPEPOCH_1 = __importDefault(require("./CLUSTER_BUMPEPOCH")); +const CLUSTER_COUNT_FAILURE_REPORTS_1 = __importDefault(require("./CLUSTER_COUNT-FAILURE-REPORTS")); +const CLUSTER_COUNTKEYSINSLOT_1 = __importDefault(require("./CLUSTER_COUNTKEYSINSLOT")); +const CLUSTER_DELSLOTS_1 = __importDefault(require("./CLUSTER_DELSLOTS")); +const CLUSTER_DELSLOTSRANGE_1 = __importDefault(require("./CLUSTER_DELSLOTSRANGE")); +const CLUSTER_FAILOVER_1 = __importStar(require("./CLUSTER_FAILOVER")); +Object.defineProperty(exports, "FAILOVER_MODES", { enumerable: true, get: function () { return CLUSTER_FAILOVER_1.FAILOVER_MODES; } }); +const CLUSTER_FLUSHSLOTS_1 = __importDefault(require("./CLUSTER_FLUSHSLOTS")); +const CLUSTER_FORGET_1 = __importDefault(require("./CLUSTER_FORGET")); +const CLUSTER_GETKEYSINSLOT_1 = __importDefault(require("./CLUSTER_GETKEYSINSLOT")); +const CLUSTER_INFO_1 = __importDefault(require("./CLUSTER_INFO")); +const CLUSTER_KEYSLOT_1 = __importDefault(require("./CLUSTER_KEYSLOT")); +const CLUSTER_LINKS_1 = __importDefault(require("./CLUSTER_LINKS")); +const CLUSTER_MEET_1 = __importDefault(require("./CLUSTER_MEET")); +const CLUSTER_MYID_1 = __importDefault(require("./CLUSTER_MYID")); +const CLUSTER_MYSHARDID_1 = __importDefault(require("./CLUSTER_MYSHARDID")); +const CLUSTER_NODES_1 = __importDefault(require("./CLUSTER_NODES")); +const CLUSTER_REPLICAS_1 = __importDefault(require("./CLUSTER_REPLICAS")); +const CLUSTER_REPLICATE_1 = __importDefault(require("./CLUSTER_REPLICATE")); +const CLUSTER_RESET_1 = __importDefault(require("./CLUSTER_RESET")); +const CLUSTER_SAVECONFIG_1 = __importDefault(require("./CLUSTER_SAVECONFIG")); +const CLUSTER_SET_CONFIG_EPOCH_1 = __importDefault(require("./CLUSTER_SET-CONFIG-EPOCH")); +const CLUSTER_SETSLOT_1 = __importStar(require("./CLUSTER_SETSLOT")); +Object.defineProperty(exports, "CLUSTER_SLOT_STATES", { enumerable: true, get: function () { return CLUSTER_SETSLOT_1.CLUSTER_SLOT_STATES; } }); +const CLUSTER_SLOTS_1 = __importDefault(require("./CLUSTER_SLOTS")); +const COMMAND_COUNT_1 = __importDefault(require("./COMMAND_COUNT")); +const COMMAND_GETKEYS_1 = __importDefault(require("./COMMAND_GETKEYS")); +const COMMAND_GETKEYSANDFLAGS_1 = __importDefault(require("./COMMAND_GETKEYSANDFLAGS")); +const COMMAND_INFO_1 = __importDefault(require("./COMMAND_INFO")); +const COMMAND_LIST_1 = __importStar(require("./COMMAND_LIST")); +Object.defineProperty(exports, "COMMAND_LIST_FILTER_BY", { enumerable: true, get: function () { return COMMAND_LIST_1.COMMAND_LIST_FILTER_BY; } }); +const COMMAND_1 = __importDefault(require("./COMMAND")); +const CONFIG_GET_1 = __importDefault(require("./CONFIG_GET")); +const CONFIG_RESETSTAT_1 = __importDefault(require("./CONFIG_RESETSTAT")); +const CONFIG_REWRITE_1 = __importDefault(require("./CONFIG_REWRITE")); +const CONFIG_SET_1 = __importDefault(require("./CONFIG_SET")); +const COPY_1 = __importDefault(require("./COPY")); +const DBSIZE_1 = __importDefault(require("./DBSIZE")); +const DECR_1 = __importDefault(require("./DECR")); +const DECRBY_1 = __importDefault(require("./DECRBY")); +const DEL_1 = __importDefault(require("./DEL")); +const DELEX_1 = __importDefault(require("./DELEX")); +const DIGEST_1 = __importDefault(require("./DIGEST")); +const DUMP_1 = __importDefault(require("./DUMP")); +const ECHO_1 = __importDefault(require("./ECHO")); +const EVAL_RO_1 = __importDefault(require("./EVAL_RO")); +const EVAL_1 = __importDefault(require("./EVAL")); +const EVALSHA_RO_1 = __importDefault(require("./EVALSHA_RO")); +const EVALSHA_1 = __importDefault(require("./EVALSHA")); +const GEOADD_1 = __importDefault(require("./GEOADD")); +const GEODIST_1 = __importDefault(require("./GEODIST")); +const GEOHASH_1 = __importDefault(require("./GEOHASH")); +const GEOPOS_1 = __importDefault(require("./GEOPOS")); +const GEORADIUS_RO_WITH_1 = __importDefault(require("./GEORADIUS_RO_WITH")); +const GEORADIUS_RO_1 = __importDefault(require("./GEORADIUS_RO")); +const GEORADIUS_STORE_1 = __importDefault(require("./GEORADIUS_STORE")); +const GEORADIUS_WITH_1 = __importDefault(require("./GEORADIUS_WITH")); +const GEORADIUS_1 = __importDefault(require("./GEORADIUS")); +const GEORADIUSBYMEMBER_RO_WITH_1 = __importDefault(require("./GEORADIUSBYMEMBER_RO_WITH")); +const GEORADIUSBYMEMBER_RO_1 = __importDefault(require("./GEORADIUSBYMEMBER_RO")); +const GEORADIUSBYMEMBER_STORE_1 = __importDefault(require("./GEORADIUSBYMEMBER_STORE")); +const GEORADIUSBYMEMBER_WITH_1 = __importDefault(require("./GEORADIUSBYMEMBER_WITH")); +const GEORADIUSBYMEMBER_1 = __importDefault(require("./GEORADIUSBYMEMBER")); +const GEOSEARCH_WITH_1 = __importDefault(require("./GEOSEARCH_WITH")); +const GEOSEARCH_1 = __importDefault(require("./GEOSEARCH")); +const GEOSEARCHSTORE_1 = __importDefault(require("./GEOSEARCHSTORE")); +const GET_1 = __importDefault(require("./GET")); +const GETBIT_1 = __importDefault(require("./GETBIT")); +const GETDEL_1 = __importDefault(require("./GETDEL")); +const GETEX_1 = __importDefault(require("./GETEX")); +const GETRANGE_1 = __importDefault(require("./GETRANGE")); +const GETSET_1 = __importDefault(require("./GETSET")); +const EXISTS_1 = __importDefault(require("./EXISTS")); +const EXPIRE_1 = __importDefault(require("./EXPIRE")); +const EXPIREAT_1 = __importDefault(require("./EXPIREAT")); +const EXPIRETIME_1 = __importDefault(require("./EXPIRETIME")); +const FLUSHALL_1 = __importStar(require("./FLUSHALL")); +Object.defineProperty(exports, "REDIS_FLUSH_MODES", { enumerable: true, get: function () { return FLUSHALL_1.REDIS_FLUSH_MODES; } }); +const FLUSHDB_1 = __importDefault(require("./FLUSHDB")); +const FCALL_1 = __importDefault(require("./FCALL")); +const FCALL_RO_1 = __importDefault(require("./FCALL_RO")); +const FUNCTION_DELETE_1 = __importDefault(require("./FUNCTION_DELETE")); +const FUNCTION_DUMP_1 = __importDefault(require("./FUNCTION_DUMP")); +const FUNCTION_FLUSH_1 = __importDefault(require("./FUNCTION_FLUSH")); +const FUNCTION_KILL_1 = __importDefault(require("./FUNCTION_KILL")); +const FUNCTION_LIST_WITHCODE_1 = __importDefault(require("./FUNCTION_LIST_WITHCODE")); +const FUNCTION_LIST_1 = __importDefault(require("./FUNCTION_LIST")); +const FUNCTION_LOAD_1 = __importDefault(require("./FUNCTION_LOAD")); +const FUNCTION_RESTORE_1 = __importDefault(require("./FUNCTION_RESTORE")); +const FUNCTION_STATS_1 = __importDefault(require("./FUNCTION_STATS")); +const HDEL_1 = __importDefault(require("./HDEL")); +const HELLO_1 = __importDefault(require("./HELLO")); +const HEXISTS_1 = __importDefault(require("./HEXISTS")); +const HEXPIRE_1 = __importDefault(require("./HEXPIRE")); +const HEXPIREAT_1 = __importDefault(require("./HEXPIREAT")); +const HEXPIRETIME_1 = __importDefault(require("./HEXPIRETIME")); +const HGET_1 = __importDefault(require("./HGET")); +const HGETALL_1 = __importDefault(require("./HGETALL")); +const HGETDEL_1 = __importDefault(require("./HGETDEL")); +const HGETEX_1 = __importDefault(require("./HGETEX")); +const HINCRBY_1 = __importDefault(require("./HINCRBY")); +const HINCRBYFLOAT_1 = __importDefault(require("./HINCRBYFLOAT")); +const HKEYS_1 = __importDefault(require("./HKEYS")); +const HLEN_1 = __importDefault(require("./HLEN")); +const HMGET_1 = __importDefault(require("./HMGET")); +const HPERSIST_1 = __importDefault(require("./HPERSIST")); +const HPEXPIRE_1 = __importDefault(require("./HPEXPIRE")); +const HPEXPIREAT_1 = __importDefault(require("./HPEXPIREAT")); +const HPEXPIRETIME_1 = __importDefault(require("./HPEXPIRETIME")); +const HPTTL_1 = __importDefault(require("./HPTTL")); +const HRANDFIELD_COUNT_WITHVALUES_1 = __importDefault(require("./HRANDFIELD_COUNT_WITHVALUES")); +const HRANDFIELD_COUNT_1 = __importDefault(require("./HRANDFIELD_COUNT")); +const HRANDFIELD_1 = __importDefault(require("./HRANDFIELD")); +const HSCAN_1 = __importDefault(require("./HSCAN")); +const HSCAN_NOVALUES_1 = __importDefault(require("./HSCAN_NOVALUES")); +const HSET_1 = __importDefault(require("./HSET")); +const HSETEX_1 = __importDefault(require("./HSETEX")); +const HSETNX_1 = __importDefault(require("./HSETNX")); +const HSTRLEN_1 = __importDefault(require("./HSTRLEN")); +const HTTL_1 = __importDefault(require("./HTTL")); +const HVALS_1 = __importDefault(require("./HVALS")); +const HOTKEYS_GET_1 = __importDefault(require("./HOTKEYS_GET")); +const HOTKEYS_RESET_1 = __importDefault(require("./HOTKEYS_RESET")); +const HOTKEYS_START_1 = __importDefault(require("./HOTKEYS_START")); +const HOTKEYS_STOP_1 = __importDefault(require("./HOTKEYS_STOP")); +const INCR_1 = __importDefault(require("./INCR")); +const INCRBY_1 = __importDefault(require("./INCRBY")); +const INCRBYFLOAT_1 = __importDefault(require("./INCRBYFLOAT")); +const INFO_1 = __importDefault(require("./INFO")); +const KEYS_1 = __importDefault(require("./KEYS")); +const LASTSAVE_1 = __importDefault(require("./LASTSAVE")); +const LATENCY_DOCTOR_1 = __importDefault(require("./LATENCY_DOCTOR")); +const LATENCY_GRAPH_1 = __importDefault(require("./LATENCY_GRAPH")); +const LATENCY_HISTORY_1 = __importDefault(require("./LATENCY_HISTORY")); +const LATENCY_LATEST_1 = __importDefault(require("./LATENCY_LATEST")); +const LATENCY_RESET_1 = __importDefault(require("./LATENCY_RESET")); +const LCS_IDX_WITHMATCHLEN_1 = __importDefault(require("./LCS_IDX_WITHMATCHLEN")); +const LCS_IDX_1 = __importDefault(require("./LCS_IDX")); +const LCS_LEN_1 = __importDefault(require("./LCS_LEN")); +const LCS_1 = __importDefault(require("./LCS")); +const LINDEX_1 = __importDefault(require("./LINDEX")); +const LINSERT_1 = __importDefault(require("./LINSERT")); +const LLEN_1 = __importDefault(require("./LLEN")); +const LMOVE_1 = __importDefault(require("./LMOVE")); +const LMPOP_1 = __importDefault(require("./LMPOP")); +const LOLWUT_1 = __importDefault(require("./LOLWUT")); +const LPOP_COUNT_1 = __importDefault(require("./LPOP_COUNT")); +const LPOP_1 = __importDefault(require("./LPOP")); +const LPOS_COUNT_1 = __importDefault(require("./LPOS_COUNT")); +const LPOS_1 = __importDefault(require("./LPOS")); +const LPUSH_1 = __importDefault(require("./LPUSH")); +const LPUSHX_1 = __importDefault(require("./LPUSHX")); +const LRANGE_1 = __importDefault(require("./LRANGE")); +const LREM_1 = __importDefault(require("./LREM")); +const LSET_1 = __importDefault(require("./LSET")); +const LTRIM_1 = __importDefault(require("./LTRIM")); +const MEMORY_DOCTOR_1 = __importDefault(require("./MEMORY_DOCTOR")); +const MEMORY_MALLOC_STATS_1 = __importDefault(require("./MEMORY_MALLOC-STATS")); +const MEMORY_PURGE_1 = __importDefault(require("./MEMORY_PURGE")); +const MEMORY_STATS_1 = __importDefault(require("./MEMORY_STATS")); +const MEMORY_USAGE_1 = __importDefault(require("./MEMORY_USAGE")); +const MGET_1 = __importDefault(require("./MGET")); +const MIGRATE_1 = __importDefault(require("./MIGRATE")); +const MODULE_LIST_1 = __importDefault(require("./MODULE_LIST")); +const MODULE_LOAD_1 = __importDefault(require("./MODULE_LOAD")); +const MODULE_UNLOAD_1 = __importDefault(require("./MODULE_UNLOAD")); +const MOVE_1 = __importDefault(require("./MOVE")); +const MSET_1 = __importDefault(require("./MSET")); +const MSETEX_1 = __importDefault(require("./MSETEX")); +const MSETNX_1 = __importDefault(require("./MSETNX")); +const OBJECT_ENCODING_1 = __importDefault(require("./OBJECT_ENCODING")); +const OBJECT_FREQ_1 = __importDefault(require("./OBJECT_FREQ")); +const OBJECT_IDLETIME_1 = __importDefault(require("./OBJECT_IDLETIME")); +const OBJECT_REFCOUNT_1 = __importDefault(require("./OBJECT_REFCOUNT")); +const PERSIST_1 = __importDefault(require("./PERSIST")); +const PEXPIRE_1 = __importDefault(require("./PEXPIRE")); +const PEXPIREAT_1 = __importDefault(require("./PEXPIREAT")); +const PEXPIRETIME_1 = __importDefault(require("./PEXPIRETIME")); +const PFADD_1 = __importDefault(require("./PFADD")); +const PFCOUNT_1 = __importDefault(require("./PFCOUNT")); +const PFMERGE_1 = __importDefault(require("./PFMERGE")); +const PING_1 = __importDefault(require("./PING")); +const PSETEX_1 = __importDefault(require("./PSETEX")); +const PTTL_1 = __importDefault(require("./PTTL")); +const PUBLISH_1 = __importDefault(require("./PUBLISH")); +const PUBSUB_CHANNELS_1 = __importDefault(require("./PUBSUB_CHANNELS")); +const PUBSUB_NUMPAT_1 = __importDefault(require("./PUBSUB_NUMPAT")); +const PUBSUB_NUMSUB_1 = __importDefault(require("./PUBSUB_NUMSUB")); +const PUBSUB_SHARDNUMSUB_1 = __importDefault(require("./PUBSUB_SHARDNUMSUB")); +const PUBSUB_SHARDCHANNELS_1 = __importDefault(require("./PUBSUB_SHARDCHANNELS")); +const RANDOMKEY_1 = __importDefault(require("./RANDOMKEY")); +const READONLY_1 = __importDefault(require("./READONLY")); +const RENAME_1 = __importDefault(require("./RENAME")); +const RENAMENX_1 = __importDefault(require("./RENAMENX")); +const REPLICAOF_1 = __importDefault(require("./REPLICAOF")); +const RESTORE_ASKING_1 = __importDefault(require("./RESTORE-ASKING")); +const RESTORE_1 = __importDefault(require("./RESTORE")); +const ROLE_1 = __importDefault(require("./ROLE")); +const RPOP_COUNT_1 = __importDefault(require("./RPOP_COUNT")); +const RPOP_1 = __importDefault(require("./RPOP")); +const RPOPLPUSH_1 = __importDefault(require("./RPOPLPUSH")); +const RPUSH_1 = __importDefault(require("./RPUSH")); +const RPUSHX_1 = __importDefault(require("./RPUSHX")); +const SADD_1 = __importDefault(require("./SADD")); +const SCAN_1 = __importDefault(require("./SCAN")); +const SCARD_1 = __importDefault(require("./SCARD")); +const SCRIPT_DEBUG_1 = __importDefault(require("./SCRIPT_DEBUG")); +const SCRIPT_EXISTS_1 = __importDefault(require("./SCRIPT_EXISTS")); +const SCRIPT_FLUSH_1 = __importDefault(require("./SCRIPT_FLUSH")); +const SCRIPT_KILL_1 = __importDefault(require("./SCRIPT_KILL")); +const SCRIPT_LOAD_1 = __importDefault(require("./SCRIPT_LOAD")); +const SDIFF_1 = __importDefault(require("./SDIFF")); +const SDIFFSTORE_1 = __importDefault(require("./SDIFFSTORE")); +const SET_1 = __importDefault(require("./SET")); +const SETBIT_1 = __importDefault(require("./SETBIT")); +const SETEX_1 = __importDefault(require("./SETEX")); +const SETNX_1 = __importDefault(require("./SETNX")); +const SETRANGE_1 = __importDefault(require("./SETRANGE")); +const SINTER_1 = __importDefault(require("./SINTER")); +const SINTERCARD_1 = __importDefault(require("./SINTERCARD")); +const SINTERSTORE_1 = __importDefault(require("./SINTERSTORE")); +const SISMEMBER_1 = __importDefault(require("./SISMEMBER")); +const SMEMBERS_1 = __importDefault(require("./SMEMBERS")); +const SMISMEMBER_1 = __importDefault(require("./SMISMEMBER")); +const SMOVE_1 = __importDefault(require("./SMOVE")); +const SORT_RO_1 = __importDefault(require("./SORT_RO")); +const SORT_STORE_1 = __importDefault(require("./SORT_STORE")); +const SORT_1 = __importDefault(require("./SORT")); +const SPOP_COUNT_1 = __importDefault(require("./SPOP_COUNT")); +const SPOP_1 = __importDefault(require("./SPOP")); +const SPUBLISH_1 = __importDefault(require("./SPUBLISH")); +const SRANDMEMBER_COUNT_1 = __importDefault(require("./SRANDMEMBER_COUNT")); +const SRANDMEMBER_1 = __importDefault(require("./SRANDMEMBER")); +const SREM_1 = __importDefault(require("./SREM")); +const SSCAN_1 = __importDefault(require("./SSCAN")); +const STRLEN_1 = __importDefault(require("./STRLEN")); +const SUNION_1 = __importDefault(require("./SUNION")); +const SUNIONSTORE_1 = __importDefault(require("./SUNIONSTORE")); +const SWAPDB_1 = __importDefault(require("./SWAPDB")); +const TIME_1 = __importDefault(require("./TIME")); +const TOUCH_1 = __importDefault(require("./TOUCH")); +const TTL_1 = __importDefault(require("./TTL")); +const TYPE_1 = __importDefault(require("./TYPE")); +const UNLINK_1 = __importDefault(require("./UNLINK")); +const WAIT_1 = __importDefault(require("./WAIT")); +const XACK_1 = __importDefault(require("./XACK")); +const XACKDEL_1 = __importDefault(require("./XACKDEL")); +const XADD_NOMKSTREAM_1 = __importDefault(require("./XADD_NOMKSTREAM")); +const XADD_1 = __importDefault(require("./XADD")); +const XAUTOCLAIM_JUSTID_1 = __importDefault(require("./XAUTOCLAIM_JUSTID")); +const XAUTOCLAIM_1 = __importDefault(require("./XAUTOCLAIM")); +const XCLAIM_JUSTID_1 = __importDefault(require("./XCLAIM_JUSTID")); +const XCLAIM_1 = __importDefault(require("./XCLAIM")); +const XCFGSET_1 = __importDefault(require("./XCFGSET")); +const XDEL_1 = __importDefault(require("./XDEL")); +const XDELEX_1 = __importDefault(require("./XDELEX")); +const XGROUP_CREATE_1 = __importDefault(require("./XGROUP_CREATE")); +const XGROUP_CREATECONSUMER_1 = __importDefault(require("./XGROUP_CREATECONSUMER")); +const XGROUP_DELCONSUMER_1 = __importDefault(require("./XGROUP_DELCONSUMER")); +const XGROUP_DESTROY_1 = __importDefault(require("./XGROUP_DESTROY")); +const XGROUP_SETID_1 = __importDefault(require("./XGROUP_SETID")); +const XINFO_CONSUMERS_1 = __importDefault(require("./XINFO_CONSUMERS")); +const XINFO_GROUPS_1 = __importDefault(require("./XINFO_GROUPS")); +const XINFO_STREAM_1 = __importDefault(require("./XINFO_STREAM")); +const XLEN_1 = __importDefault(require("./XLEN")); +const XPENDING_RANGE_1 = __importDefault(require("./XPENDING_RANGE")); +const XPENDING_1 = __importDefault(require("./XPENDING")); +const XRANGE_1 = __importDefault(require("./XRANGE")); +const XREAD_1 = __importDefault(require("./XREAD")); +const XREADGROUP_1 = __importDefault(require("./XREADGROUP")); +const XREVRANGE_1 = __importDefault(require("./XREVRANGE")); +const XSETID_1 = __importDefault(require("./XSETID")); +const XTRIM_1 = __importDefault(require("./XTRIM")); +const ZADD_INCR_1 = __importDefault(require("./ZADD_INCR")); +const ZADD_1 = __importDefault(require("./ZADD")); +const ZCARD_1 = __importDefault(require("./ZCARD")); +const ZCOUNT_1 = __importDefault(require("./ZCOUNT")); +const ZDIFF_WITHSCORES_1 = __importDefault(require("./ZDIFF_WITHSCORES")); +const ZDIFF_1 = __importDefault(require("./ZDIFF")); +const ZDIFFSTORE_1 = __importDefault(require("./ZDIFFSTORE")); +const ZINCRBY_1 = __importDefault(require("./ZINCRBY")); +const ZINTER_WITHSCORES_1 = __importDefault(require("./ZINTER_WITHSCORES")); +const ZINTER_1 = __importDefault(require("./ZINTER")); +const ZINTERCARD_1 = __importDefault(require("./ZINTERCARD")); +const ZINTERSTORE_1 = __importDefault(require("./ZINTERSTORE")); +const ZLEXCOUNT_1 = __importDefault(require("./ZLEXCOUNT")); +const ZMPOP_1 = __importDefault(require("./ZMPOP")); +const ZMSCORE_1 = __importDefault(require("./ZMSCORE")); +const ZPOPMAX_COUNT_1 = __importDefault(require("./ZPOPMAX_COUNT")); +const ZPOPMAX_1 = __importDefault(require("./ZPOPMAX")); +const ZPOPMIN_COUNT_1 = __importDefault(require("./ZPOPMIN_COUNT")); +const ZPOPMIN_1 = __importDefault(require("./ZPOPMIN")); +const ZRANDMEMBER_COUNT_WITHSCORES_1 = __importDefault(require("./ZRANDMEMBER_COUNT_WITHSCORES")); +const ZRANDMEMBER_COUNT_1 = __importDefault(require("./ZRANDMEMBER_COUNT")); +const ZRANDMEMBER_1 = __importDefault(require("./ZRANDMEMBER")); +const ZRANGE_WITHSCORES_1 = __importDefault(require("./ZRANGE_WITHSCORES")); +const ZRANGE_1 = __importDefault(require("./ZRANGE")); +const ZRANGEBYLEX_1 = __importDefault(require("./ZRANGEBYLEX")); +const ZRANGEBYSCORE_WITHSCORES_1 = __importDefault(require("./ZRANGEBYSCORE_WITHSCORES")); +const ZRANGEBYSCORE_1 = __importDefault(require("./ZRANGEBYSCORE")); +const ZRANGESTORE_1 = __importDefault(require("./ZRANGESTORE")); +const ZREMRANGEBYSCORE_1 = __importDefault(require("./ZREMRANGEBYSCORE")); +const ZRANK_WITHSCORE_1 = __importDefault(require("./ZRANK_WITHSCORE")); +const ZRANK_1 = __importDefault(require("./ZRANK")); +const ZREM_1 = __importDefault(require("./ZREM")); +const ZREMRANGEBYLEX_1 = __importDefault(require("./ZREMRANGEBYLEX")); +const ZREMRANGEBYRANK_1 = __importDefault(require("./ZREMRANGEBYRANK")); +const ZREVRANK_1 = __importDefault(require("./ZREVRANK")); +const ZSCAN_1 = __importDefault(require("./ZSCAN")); +const ZSCORE_1 = __importDefault(require("./ZSCORE")); +const ZUNION_WITHSCORES_1 = __importDefault(require("./ZUNION_WITHSCORES")); +const ZUNION_1 = __importDefault(require("./ZUNION")); +const ZUNIONSTORE_1 = __importDefault(require("./ZUNIONSTORE")); +const VADD_1 = __importDefault(require("./VADD")); +const VCARD_1 = __importDefault(require("./VCARD")); +const VDIM_1 = __importDefault(require("./VDIM")); +const VEMB_1 = __importDefault(require("./VEMB")); +const VEMB_RAW_1 = __importDefault(require("./VEMB_RAW")); +const VGETATTR_1 = __importDefault(require("./VGETATTR")); +const VINFO_1 = __importDefault(require("./VINFO")); +const VLINKS_1 = __importDefault(require("./VLINKS")); +const VLINKS_WITHSCORES_1 = __importDefault(require("./VLINKS_WITHSCORES")); +const VRANDMEMBER_1 = __importDefault(require("./VRANDMEMBER")); +const VRANGE_1 = __importDefault(require("./VRANGE")); +const VREM_1 = __importDefault(require("./VREM")); +const VSETATTR_1 = __importDefault(require("./VSETATTR")); +const VSIM_1 = __importDefault(require("./VSIM")); +const VSIM_WITHSCORES_1 = __importDefault(require("./VSIM_WITHSCORES")); +const LATENCY_HISTOGRAM_1 = __importDefault(require("./LATENCY_HISTOGRAM")); +exports.default = { + ACL_CAT: ACL_CAT_1.default, + aclCat: ACL_CAT_1.default, + ACL_DELUSER: ACL_DELUSER_1.default, + aclDelUser: ACL_DELUSER_1.default, + ACL_DRYRUN: ACL_DRYRUN_1.default, + aclDryRun: ACL_DRYRUN_1.default, + ACL_GENPASS: ACL_GENPASS_1.default, + aclGenPass: ACL_GENPASS_1.default, + ACL_GETUSER: ACL_GETUSER_1.default, + aclGetUser: ACL_GETUSER_1.default, + ACL_LIST: ACL_LIST_1.default, + aclList: ACL_LIST_1.default, + ACL_LOAD: ACL_LOAD_1.default, + aclLoad: ACL_LOAD_1.default, + ACL_LOG_RESET: ACL_LOG_RESET_1.default, + aclLogReset: ACL_LOG_RESET_1.default, + ACL_LOG: ACL_LOG_1.default, + aclLog: ACL_LOG_1.default, + ACL_SAVE: ACL_SAVE_1.default, + aclSave: ACL_SAVE_1.default, + ACL_SETUSER: ACL_SETUSER_1.default, + aclSetUser: ACL_SETUSER_1.default, + ACL_USERS: ACL_USERS_1.default, + aclUsers: ACL_USERS_1.default, + ACL_WHOAMI: ACL_WHOAMI_1.default, + aclWhoAmI: ACL_WHOAMI_1.default, + APPEND: APPEND_1.default, + append: APPEND_1.default, + ASKING: ASKING_1.default, + asking: ASKING_1.default, + AUTH: AUTH_1.default, + auth: AUTH_1.default, + BGREWRITEAOF: BGREWRITEAOF_1.default, + bgRewriteAof: BGREWRITEAOF_1.default, + BGSAVE: BGSAVE_1.default, + bgSave: BGSAVE_1.default, + BITCOUNT: BITCOUNT_1.default, + bitCount: BITCOUNT_1.default, + BITFIELD_RO: BITFIELD_RO_1.default, + bitFieldRo: BITFIELD_RO_1.default, + BITFIELD: BITFIELD_1.default, + bitField: BITFIELD_1.default, + BITOP: BITOP_1.default, + bitOp: BITOP_1.default, + BITPOS: BITPOS_1.default, + bitPos: BITPOS_1.default, + BLMOVE: BLMOVE_1.default, + blMove: BLMOVE_1.default, + BLMPOP: BLMPOP_1.default, + blmPop: BLMPOP_1.default, + BLPOP: BLPOP_1.default, + blPop: BLPOP_1.default, + BRPOP: BRPOP_1.default, + brPop: BRPOP_1.default, + BRPOPLPUSH: BRPOPLPUSH_1.default, + brPopLPush: BRPOPLPUSH_1.default, + BZMPOP: BZMPOP_1.default, + bzmPop: BZMPOP_1.default, + BZPOPMAX: BZPOPMAX_1.default, + bzPopMax: BZPOPMAX_1.default, + BZPOPMIN: BZPOPMIN_1.default, + bzPopMin: BZPOPMIN_1.default, + CLIENT_CACHING: CLIENT_CACHING_1.default, + clientCaching: CLIENT_CACHING_1.default, + CLIENT_GETNAME: CLIENT_GETNAME_1.default, + clientGetName: CLIENT_GETNAME_1.default, + CLIENT_GETREDIR: CLIENT_GETREDIR_1.default, + clientGetRedir: CLIENT_GETREDIR_1.default, + CLIENT_ID: CLIENT_ID_1.default, + clientId: CLIENT_ID_1.default, + CLIENT_INFO: CLIENT_INFO_1.default, + clientInfo: CLIENT_INFO_1.default, + CLIENT_KILL: CLIENT_KILL_1.default, + clientKill: CLIENT_KILL_1.default, + CLIENT_LIST: CLIENT_LIST_1.default, + clientList: CLIENT_LIST_1.default, + 'CLIENT_NO-EVICT': CLIENT_NO_EVICT_1.default, + clientNoEvict: CLIENT_NO_EVICT_1.default, + 'CLIENT_NO-TOUCH': CLIENT_NO_TOUCH_1.default, + clientNoTouch: CLIENT_NO_TOUCH_1.default, + CLIENT_PAUSE: CLIENT_PAUSE_1.default, + clientPause: CLIENT_PAUSE_1.default, + CLIENT_SETNAME: CLIENT_SETNAME_1.default, + clientSetName: CLIENT_SETNAME_1.default, + CLIENT_TRACKING: CLIENT_TRACKING_1.default, + clientTracking: CLIENT_TRACKING_1.default, + CLIENT_TRACKINGINFO: CLIENT_TRACKINGINFO_1.default, + clientTrackingInfo: CLIENT_TRACKINGINFO_1.default, + CLIENT_UNPAUSE: CLIENT_UNPAUSE_1.default, + clientUnpause: CLIENT_UNPAUSE_1.default, + CLUSTER_ADDSLOTS: CLUSTER_ADDSLOTS_1.default, + clusterAddSlots: CLUSTER_ADDSLOTS_1.default, + CLUSTER_ADDSLOTSRANGE: CLUSTER_ADDSLOTSRANGE_1.default, + clusterAddSlotsRange: CLUSTER_ADDSLOTSRANGE_1.default, + CLUSTER_BUMPEPOCH: CLUSTER_BUMPEPOCH_1.default, + clusterBumpEpoch: CLUSTER_BUMPEPOCH_1.default, + 'CLUSTER_COUNT-FAILURE-REPORTS': CLUSTER_COUNT_FAILURE_REPORTS_1.default, + clusterCountFailureReports: CLUSTER_COUNT_FAILURE_REPORTS_1.default, + CLUSTER_COUNTKEYSINSLOT: CLUSTER_COUNTKEYSINSLOT_1.default, + clusterCountKeysInSlot: CLUSTER_COUNTKEYSINSLOT_1.default, + CLUSTER_DELSLOTS: CLUSTER_DELSLOTS_1.default, + clusterDelSlots: CLUSTER_DELSLOTS_1.default, + CLUSTER_DELSLOTSRANGE: CLUSTER_DELSLOTSRANGE_1.default, + clusterDelSlotsRange: CLUSTER_DELSLOTSRANGE_1.default, + CLUSTER_FAILOVER: CLUSTER_FAILOVER_1.default, + clusterFailover: CLUSTER_FAILOVER_1.default, + CLUSTER_FLUSHSLOTS: CLUSTER_FLUSHSLOTS_1.default, + clusterFlushSlots: CLUSTER_FLUSHSLOTS_1.default, + CLUSTER_FORGET: CLUSTER_FORGET_1.default, + clusterForget: CLUSTER_FORGET_1.default, + CLUSTER_GETKEYSINSLOT: CLUSTER_GETKEYSINSLOT_1.default, + clusterGetKeysInSlot: CLUSTER_GETKEYSINSLOT_1.default, + CLUSTER_INFO: CLUSTER_INFO_1.default, + clusterInfo: CLUSTER_INFO_1.default, + CLUSTER_KEYSLOT: CLUSTER_KEYSLOT_1.default, + clusterKeySlot: CLUSTER_KEYSLOT_1.default, + CLUSTER_LINKS: CLUSTER_LINKS_1.default, + clusterLinks: CLUSTER_LINKS_1.default, + CLUSTER_MEET: CLUSTER_MEET_1.default, + clusterMeet: CLUSTER_MEET_1.default, + CLUSTER_MYID: CLUSTER_MYID_1.default, + clusterMyId: CLUSTER_MYID_1.default, + CLUSTER_MYSHARDID: CLUSTER_MYSHARDID_1.default, + clusterMyShardId: CLUSTER_MYSHARDID_1.default, + CLUSTER_NODES: CLUSTER_NODES_1.default, + clusterNodes: CLUSTER_NODES_1.default, + CLUSTER_REPLICAS: CLUSTER_REPLICAS_1.default, + clusterReplicas: CLUSTER_REPLICAS_1.default, + CLUSTER_REPLICATE: CLUSTER_REPLICATE_1.default, + clusterReplicate: CLUSTER_REPLICATE_1.default, + CLUSTER_RESET: CLUSTER_RESET_1.default, + clusterReset: CLUSTER_RESET_1.default, + CLUSTER_SAVECONFIG: CLUSTER_SAVECONFIG_1.default, + clusterSaveConfig: CLUSTER_SAVECONFIG_1.default, + 'CLUSTER_SET-CONFIG-EPOCH': CLUSTER_SET_CONFIG_EPOCH_1.default, + clusterSetConfigEpoch: CLUSTER_SET_CONFIG_EPOCH_1.default, + CLUSTER_SETSLOT: CLUSTER_SETSLOT_1.default, + clusterSetSlot: CLUSTER_SETSLOT_1.default, + CLUSTER_SLOTS: CLUSTER_SLOTS_1.default, + clusterSlots: CLUSTER_SLOTS_1.default, + COMMAND_COUNT: COMMAND_COUNT_1.default, + commandCount: COMMAND_COUNT_1.default, + COMMAND_GETKEYS: COMMAND_GETKEYS_1.default, + commandGetKeys: COMMAND_GETKEYS_1.default, + COMMAND_GETKEYSANDFLAGS: COMMAND_GETKEYSANDFLAGS_1.default, + commandGetKeysAndFlags: COMMAND_GETKEYSANDFLAGS_1.default, + COMMAND_INFO: COMMAND_INFO_1.default, + commandInfo: COMMAND_INFO_1.default, + COMMAND_LIST: COMMAND_LIST_1.default, + commandList: COMMAND_LIST_1.default, + COMMAND: COMMAND_1.default, + command: COMMAND_1.default, + CONFIG_GET: CONFIG_GET_1.default, + configGet: CONFIG_GET_1.default, + CONFIG_RESETASTAT: CONFIG_RESETSTAT_1.default, + configResetStat: CONFIG_RESETSTAT_1.default, + CONFIG_REWRITE: CONFIG_REWRITE_1.default, + configRewrite: CONFIG_REWRITE_1.default, + CONFIG_SET: CONFIG_SET_1.default, + configSet: CONFIG_SET_1.default, + COPY: COPY_1.default, + copy: COPY_1.default, + DBSIZE: DBSIZE_1.default, + dbSize: DBSIZE_1.default, + DECR: DECR_1.default, + decr: DECR_1.default, + DECRBY: DECRBY_1.default, + decrBy: DECRBY_1.default, + DEL: DEL_1.default, + del: DEL_1.default, + DELEX: DELEX_1.default, + delEx: DELEX_1.default, + DIGEST: DIGEST_1.default, + digest: DIGEST_1.default, + DUMP: DUMP_1.default, + dump: DUMP_1.default, + ECHO: ECHO_1.default, + echo: ECHO_1.default, + EVAL_RO: EVAL_RO_1.default, + evalRo: EVAL_RO_1.default, + EVAL: EVAL_1.default, + eval: EVAL_1.default, + EVALSHA_RO: EVALSHA_RO_1.default, + evalShaRo: EVALSHA_RO_1.default, + EVALSHA: EVALSHA_1.default, + evalSha: EVALSHA_1.default, + EXISTS: EXISTS_1.default, + exists: EXISTS_1.default, + EXPIRE: EXPIRE_1.default, + expire: EXPIRE_1.default, + EXPIREAT: EXPIREAT_1.default, + expireAt: EXPIREAT_1.default, + EXPIRETIME: EXPIRETIME_1.default, + expireTime: EXPIRETIME_1.default, + FLUSHALL: FLUSHALL_1.default, + flushAll: FLUSHALL_1.default, + FLUSHDB: FLUSHDB_1.default, + flushDb: FLUSHDB_1.default, + FCALL: FCALL_1.default, + fCall: FCALL_1.default, + FCALL_RO: FCALL_RO_1.default, + fCallRo: FCALL_RO_1.default, + FUNCTION_DELETE: FUNCTION_DELETE_1.default, + functionDelete: FUNCTION_DELETE_1.default, + FUNCTION_DUMP: FUNCTION_DUMP_1.default, + functionDump: FUNCTION_DUMP_1.default, + FUNCTION_FLUSH: FUNCTION_FLUSH_1.default, + functionFlush: FUNCTION_FLUSH_1.default, + FUNCTION_KILL: FUNCTION_KILL_1.default, + functionKill: FUNCTION_KILL_1.default, + FUNCTION_LIST_WITHCODE: FUNCTION_LIST_WITHCODE_1.default, + functionListWithCode: FUNCTION_LIST_WITHCODE_1.default, + FUNCTION_LIST: FUNCTION_LIST_1.default, + functionList: FUNCTION_LIST_1.default, + FUNCTION_LOAD: FUNCTION_LOAD_1.default, + functionLoad: FUNCTION_LOAD_1.default, + FUNCTION_RESTORE: FUNCTION_RESTORE_1.default, + functionRestore: FUNCTION_RESTORE_1.default, + FUNCTION_STATS: FUNCTION_STATS_1.default, + functionStats: FUNCTION_STATS_1.default, + GEOADD: GEOADD_1.default, + geoAdd: GEOADD_1.default, + GEODIST: GEODIST_1.default, + geoDist: GEODIST_1.default, + GEOHASH: GEOHASH_1.default, + geoHash: GEOHASH_1.default, + GEOPOS: GEOPOS_1.default, + geoPos: GEOPOS_1.default, + GEORADIUS_RO_WITH: GEORADIUS_RO_WITH_1.default, + geoRadiusRoWith: GEORADIUS_RO_WITH_1.default, + GEORADIUS_RO: GEORADIUS_RO_1.default, + geoRadiusRo: GEORADIUS_RO_1.default, + GEORADIUS_STORE: GEORADIUS_STORE_1.default, + geoRadiusStore: GEORADIUS_STORE_1.default, + GEORADIUS_WITH: GEORADIUS_WITH_1.default, + geoRadiusWith: GEORADIUS_WITH_1.default, + GEORADIUS: GEORADIUS_1.default, + geoRadius: GEORADIUS_1.default, + GEORADIUSBYMEMBER_RO_WITH: GEORADIUSBYMEMBER_RO_WITH_1.default, + geoRadiusByMemberRoWith: GEORADIUSBYMEMBER_RO_WITH_1.default, + GEORADIUSBYMEMBER_RO: GEORADIUSBYMEMBER_RO_1.default, + geoRadiusByMemberRo: GEORADIUSBYMEMBER_RO_1.default, + GEORADIUSBYMEMBER_STORE: GEORADIUSBYMEMBER_STORE_1.default, + geoRadiusByMemberStore: GEORADIUSBYMEMBER_STORE_1.default, + GEORADIUSBYMEMBER_WITH: GEORADIUSBYMEMBER_WITH_1.default, + geoRadiusByMemberWith: GEORADIUSBYMEMBER_WITH_1.default, + GEORADIUSBYMEMBER: GEORADIUSBYMEMBER_1.default, + geoRadiusByMember: GEORADIUSBYMEMBER_1.default, + GEOSEARCH_WITH: GEOSEARCH_WITH_1.default, + geoSearchWith: GEOSEARCH_WITH_1.default, + GEOSEARCH: GEOSEARCH_1.default, + geoSearch: GEOSEARCH_1.default, + GEOSEARCHSTORE: GEOSEARCHSTORE_1.default, + geoSearchStore: GEOSEARCHSTORE_1.default, + GET: GET_1.default, + get: GET_1.default, + GETBIT: GETBIT_1.default, + getBit: GETBIT_1.default, + GETDEL: GETDEL_1.default, + getDel: GETDEL_1.default, + GETEX: GETEX_1.default, + getEx: GETEX_1.default, + GETRANGE: GETRANGE_1.default, + getRange: GETRANGE_1.default, + GETSET: GETSET_1.default, + getSet: GETSET_1.default, + HDEL: HDEL_1.default, + hDel: HDEL_1.default, + HELLO: HELLO_1.default, + hello: HELLO_1.default, + HEXISTS: HEXISTS_1.default, + hExists: HEXISTS_1.default, + HEXPIRE: HEXPIRE_1.default, + hExpire: HEXPIRE_1.default, + HEXPIREAT: HEXPIREAT_1.default, + hExpireAt: HEXPIREAT_1.default, + HEXPIRETIME: HEXPIRETIME_1.default, + hExpireTime: HEXPIRETIME_1.default, + HGET: HGET_1.default, + hGet: HGET_1.default, + HGETALL: HGETALL_1.default, + hGetAll: HGETALL_1.default, + HGETDEL: HGETDEL_1.default, + hGetDel: HGETDEL_1.default, + HGETEX: HGETEX_1.default, + hGetEx: HGETEX_1.default, + HINCRBY: HINCRBY_1.default, + hIncrBy: HINCRBY_1.default, + HINCRBYFLOAT: HINCRBYFLOAT_1.default, + hIncrByFloat: HINCRBYFLOAT_1.default, + HKEYS: HKEYS_1.default, + hKeys: HKEYS_1.default, + HLEN: HLEN_1.default, + hLen: HLEN_1.default, + HMGET: HMGET_1.default, + hmGet: HMGET_1.default, + HPERSIST: HPERSIST_1.default, + hPersist: HPERSIST_1.default, + HPEXPIRE: HPEXPIRE_1.default, + hpExpire: HPEXPIRE_1.default, + HPEXPIREAT: HPEXPIREAT_1.default, + hpExpireAt: HPEXPIREAT_1.default, + HPEXPIRETIME: HPEXPIRETIME_1.default, + hpExpireTime: HPEXPIRETIME_1.default, + HPTTL: HPTTL_1.default, + hpTTL: HPTTL_1.default, + HRANDFIELD_COUNT_WITHVALUES: HRANDFIELD_COUNT_WITHVALUES_1.default, + hRandFieldCountWithValues: HRANDFIELD_COUNT_WITHVALUES_1.default, + HRANDFIELD_COUNT: HRANDFIELD_COUNT_1.default, + hRandFieldCount: HRANDFIELD_COUNT_1.default, + HRANDFIELD: HRANDFIELD_1.default, + hRandField: HRANDFIELD_1.default, + HSCAN: HSCAN_1.default, + hScan: HSCAN_1.default, + HSCAN_NOVALUES: HSCAN_NOVALUES_1.default, + hScanNoValues: HSCAN_NOVALUES_1.default, + HSET: HSET_1.default, + hSet: HSET_1.default, + HSETEX: HSETEX_1.default, + hSetEx: HSETEX_1.default, + HSETNX: HSETNX_1.default, + hSetNX: HSETNX_1.default, + HSTRLEN: HSTRLEN_1.default, + hStrLen: HSTRLEN_1.default, + HTTL: HTTL_1.default, + hTTL: HTTL_1.default, + HVALS: HVALS_1.default, + hVals: HVALS_1.default, + HOTKEYS_GET: HOTKEYS_GET_1.default, + hotkeysGet: HOTKEYS_GET_1.default, + HOTKEYS_RESET: HOTKEYS_RESET_1.default, + hotkeysReset: HOTKEYS_RESET_1.default, + HOTKEYS_START: HOTKEYS_START_1.default, + hotkeysStart: HOTKEYS_START_1.default, + HOTKEYS_STOP: HOTKEYS_STOP_1.default, + hotkeysStop: HOTKEYS_STOP_1.default, + INCR: INCR_1.default, + incr: INCR_1.default, + INCRBY: INCRBY_1.default, + incrBy: INCRBY_1.default, + INCRBYFLOAT: INCRBYFLOAT_1.default, + incrByFloat: INCRBYFLOAT_1.default, + INFO: INFO_1.default, + info: INFO_1.default, + KEYS: KEYS_1.default, + keys: KEYS_1.default, + LASTSAVE: LASTSAVE_1.default, + lastSave: LASTSAVE_1.default, + LATENCY_DOCTOR: LATENCY_DOCTOR_1.default, + latencyDoctor: LATENCY_DOCTOR_1.default, + LATENCY_GRAPH: LATENCY_GRAPH_1.default, + latencyGraph: LATENCY_GRAPH_1.default, + LATENCY_HISTORY: LATENCY_HISTORY_1.default, + latencyHistory: LATENCY_HISTORY_1.default, + LATENCY_HISTOGRAM: LATENCY_HISTOGRAM_1.default, + latencyHistogram: LATENCY_HISTOGRAM_1.default, + LATENCY_LATEST: LATENCY_LATEST_1.default, + latencyLatest: LATENCY_LATEST_1.default, + LATENCY_RESET: LATENCY_RESET_1.default, + latencyReset: LATENCY_RESET_1.default, + LCS_IDX_WITHMATCHLEN: LCS_IDX_WITHMATCHLEN_1.default, + lcsIdxWithMatchLen: LCS_IDX_WITHMATCHLEN_1.default, + LCS_IDX: LCS_IDX_1.default, + lcsIdx: LCS_IDX_1.default, + LCS_LEN: LCS_LEN_1.default, + lcsLen: LCS_LEN_1.default, + LCS: LCS_1.default, + lcs: LCS_1.default, + LINDEX: LINDEX_1.default, + lIndex: LINDEX_1.default, + LINSERT: LINSERT_1.default, + lInsert: LINSERT_1.default, + LLEN: LLEN_1.default, + lLen: LLEN_1.default, + LMOVE: LMOVE_1.default, + lMove: LMOVE_1.default, + LMPOP: LMPOP_1.default, + lmPop: LMPOP_1.default, + LOLWUT: LOLWUT_1.default, + LPOP_COUNT: LPOP_COUNT_1.default, + lPopCount: LPOP_COUNT_1.default, + LPOP: LPOP_1.default, + lPop: LPOP_1.default, + LPOS_COUNT: LPOS_COUNT_1.default, + lPosCount: LPOS_COUNT_1.default, + LPOS: LPOS_1.default, + lPos: LPOS_1.default, + LPUSH: LPUSH_1.default, + lPush: LPUSH_1.default, + LPUSHX: LPUSHX_1.default, + lPushX: LPUSHX_1.default, + LRANGE: LRANGE_1.default, + lRange: LRANGE_1.default, + LREM: LREM_1.default, + lRem: LREM_1.default, + LSET: LSET_1.default, + lSet: LSET_1.default, + LTRIM: LTRIM_1.default, + lTrim: LTRIM_1.default, + MEMORY_DOCTOR: MEMORY_DOCTOR_1.default, + memoryDoctor: MEMORY_DOCTOR_1.default, + 'MEMORY_MALLOC-STATS': MEMORY_MALLOC_STATS_1.default, + memoryMallocStats: MEMORY_MALLOC_STATS_1.default, + MEMORY_PURGE: MEMORY_PURGE_1.default, + memoryPurge: MEMORY_PURGE_1.default, + MEMORY_STATS: MEMORY_STATS_1.default, + memoryStats: MEMORY_STATS_1.default, + MEMORY_USAGE: MEMORY_USAGE_1.default, + memoryUsage: MEMORY_USAGE_1.default, + MGET: MGET_1.default, + mGet: MGET_1.default, + MIGRATE: MIGRATE_1.default, + migrate: MIGRATE_1.default, + MODULE_LIST: MODULE_LIST_1.default, + moduleList: MODULE_LIST_1.default, + MODULE_LOAD: MODULE_LOAD_1.default, + moduleLoad: MODULE_LOAD_1.default, + MODULE_UNLOAD: MODULE_UNLOAD_1.default, + moduleUnload: MODULE_UNLOAD_1.default, + MOVE: MOVE_1.default, + move: MOVE_1.default, + MSET: MSET_1.default, + mSet: MSET_1.default, + MSETEX: MSETEX_1.default, + mSetEx: MSETEX_1.default, + MSETNX: MSETNX_1.default, + mSetNX: MSETNX_1.default, + OBJECT_ENCODING: OBJECT_ENCODING_1.default, + objectEncoding: OBJECT_ENCODING_1.default, + OBJECT_FREQ: OBJECT_FREQ_1.default, + objectFreq: OBJECT_FREQ_1.default, + OBJECT_IDLETIME: OBJECT_IDLETIME_1.default, + objectIdleTime: OBJECT_IDLETIME_1.default, + OBJECT_REFCOUNT: OBJECT_REFCOUNT_1.default, + objectRefCount: OBJECT_REFCOUNT_1.default, + PERSIST: PERSIST_1.default, + persist: PERSIST_1.default, + PEXPIRE: PEXPIRE_1.default, + pExpire: PEXPIRE_1.default, + PEXPIREAT: PEXPIREAT_1.default, + pExpireAt: PEXPIREAT_1.default, + PEXPIRETIME: PEXPIRETIME_1.default, + pExpireTime: PEXPIRETIME_1.default, + PFADD: PFADD_1.default, + pfAdd: PFADD_1.default, + PFCOUNT: PFCOUNT_1.default, + pfCount: PFCOUNT_1.default, + PFMERGE: PFMERGE_1.default, + pfMerge: PFMERGE_1.default, + PING: PING_1.default, + /** + * ping jsdoc + */ + ping: PING_1.default, + PSETEX: PSETEX_1.default, + pSetEx: PSETEX_1.default, + PTTL: PTTL_1.default, + pTTL: PTTL_1.default, + PUBLISH: PUBLISH_1.default, + publish: PUBLISH_1.default, + PUBSUB_CHANNELS: PUBSUB_CHANNELS_1.default, + pubSubChannels: PUBSUB_CHANNELS_1.default, + PUBSUB_NUMPAT: PUBSUB_NUMPAT_1.default, + pubSubNumPat: PUBSUB_NUMPAT_1.default, + PUBSUB_NUMSUB: PUBSUB_NUMSUB_1.default, + pubSubNumSub: PUBSUB_NUMSUB_1.default, + PUBSUB_SHARDNUMSUB: PUBSUB_SHARDNUMSUB_1.default, + pubSubShardNumSub: PUBSUB_SHARDNUMSUB_1.default, + PUBSUB_SHARDCHANNELS: PUBSUB_SHARDCHANNELS_1.default, + pubSubShardChannels: PUBSUB_SHARDCHANNELS_1.default, + RANDOMKEY: RANDOMKEY_1.default, + randomKey: RANDOMKEY_1.default, + READONLY: READONLY_1.default, + readonly: READONLY_1.default, + RENAME: RENAME_1.default, + rename: RENAME_1.default, + RENAMENX: RENAMENX_1.default, + renameNX: RENAMENX_1.default, + REPLICAOF: REPLICAOF_1.default, + replicaOf: REPLICAOF_1.default, + 'RESTORE-ASKING': RESTORE_ASKING_1.default, + restoreAsking: RESTORE_ASKING_1.default, + RESTORE: RESTORE_1.default, + restore: RESTORE_1.default, + RPOP_COUNT: RPOP_COUNT_1.default, + rPopCount: RPOP_COUNT_1.default, + ROLE: ROLE_1.default, + role: ROLE_1.default, + RPOP: RPOP_1.default, + rPop: RPOP_1.default, + RPOPLPUSH: RPOPLPUSH_1.default, + rPopLPush: RPOPLPUSH_1.default, + RPUSH: RPUSH_1.default, + rPush: RPUSH_1.default, + RPUSHX: RPUSHX_1.default, + rPushX: RPUSHX_1.default, + SADD: SADD_1.default, + sAdd: SADD_1.default, + SCAN: SCAN_1.default, + scan: SCAN_1.default, + SCARD: SCARD_1.default, + sCard: SCARD_1.default, + SCRIPT_DEBUG: SCRIPT_DEBUG_1.default, + scriptDebug: SCRIPT_DEBUG_1.default, + SCRIPT_EXISTS: SCRIPT_EXISTS_1.default, + scriptExists: SCRIPT_EXISTS_1.default, + SCRIPT_FLUSH: SCRIPT_FLUSH_1.default, + scriptFlush: SCRIPT_FLUSH_1.default, + SCRIPT_KILL: SCRIPT_KILL_1.default, + scriptKill: SCRIPT_KILL_1.default, + SCRIPT_LOAD: SCRIPT_LOAD_1.default, + scriptLoad: SCRIPT_LOAD_1.default, + SDIFF: SDIFF_1.default, + sDiff: SDIFF_1.default, + SDIFFSTORE: SDIFFSTORE_1.default, + sDiffStore: SDIFFSTORE_1.default, + SET: SET_1.default, + set: SET_1.default, + SETBIT: SETBIT_1.default, + setBit: SETBIT_1.default, + SETEX: SETEX_1.default, + setEx: SETEX_1.default, + SETNX: SETNX_1.default, + setNX: SETNX_1.default, + SETRANGE: SETRANGE_1.default, + setRange: SETRANGE_1.default, + SINTER: SINTER_1.default, + sInter: SINTER_1.default, + SINTERCARD: SINTERCARD_1.default, + sInterCard: SINTERCARD_1.default, + SINTERSTORE: SINTERSTORE_1.default, + sInterStore: SINTERSTORE_1.default, + SISMEMBER: SISMEMBER_1.default, + sIsMember: SISMEMBER_1.default, + SMEMBERS: SMEMBERS_1.default, + sMembers: SMEMBERS_1.default, + SMISMEMBER: SMISMEMBER_1.default, + smIsMember: SMISMEMBER_1.default, + SMOVE: SMOVE_1.default, + sMove: SMOVE_1.default, + SORT_RO: SORT_RO_1.default, + sortRo: SORT_RO_1.default, + SORT_STORE: SORT_STORE_1.default, + sortStore: SORT_STORE_1.default, + SORT: SORT_1.default, + sort: SORT_1.default, + SPOP_COUNT: SPOP_COUNT_1.default, + sPopCount: SPOP_COUNT_1.default, + SPOP: SPOP_1.default, + sPop: SPOP_1.default, + SPUBLISH: SPUBLISH_1.default, + sPublish: SPUBLISH_1.default, + SRANDMEMBER_COUNT: SRANDMEMBER_COUNT_1.default, + sRandMemberCount: SRANDMEMBER_COUNT_1.default, + SRANDMEMBER: SRANDMEMBER_1.default, + sRandMember: SRANDMEMBER_1.default, + SREM: SREM_1.default, + sRem: SREM_1.default, + SSCAN: SSCAN_1.default, + sScan: SSCAN_1.default, + STRLEN: STRLEN_1.default, + strLen: STRLEN_1.default, + SUNION: SUNION_1.default, + sUnion: SUNION_1.default, + SUNIONSTORE: SUNIONSTORE_1.default, + sUnionStore: SUNIONSTORE_1.default, + SWAPDB: SWAPDB_1.default, + swapDb: SWAPDB_1.default, + TIME: TIME_1.default, + time: TIME_1.default, + TOUCH: TOUCH_1.default, + touch: TOUCH_1.default, + TTL: TTL_1.default, + ttl: TTL_1.default, + TYPE: TYPE_1.default, + type: TYPE_1.default, + UNLINK: UNLINK_1.default, + unlink: UNLINK_1.default, + WAIT: WAIT_1.default, + wait: WAIT_1.default, + XACK: XACK_1.default, + xAck: XACK_1.default, + XACKDEL: XACKDEL_1.default, + xAckDel: XACKDEL_1.default, + XADD_NOMKSTREAM: XADD_NOMKSTREAM_1.default, + xAddNoMkStream: XADD_NOMKSTREAM_1.default, + XADD: XADD_1.default, + xAdd: XADD_1.default, + XAUTOCLAIM_JUSTID: XAUTOCLAIM_JUSTID_1.default, + xAutoClaimJustId: XAUTOCLAIM_JUSTID_1.default, + XAUTOCLAIM: XAUTOCLAIM_1.default, + xAutoClaim: XAUTOCLAIM_1.default, + XCLAIM_JUSTID: XCLAIM_JUSTID_1.default, + xClaimJustId: XCLAIM_JUSTID_1.default, + XCLAIM: XCLAIM_1.default, + xClaim: XCLAIM_1.default, + XCFGSET: XCFGSET_1.default, + xCfgSet: XCFGSET_1.default, + XDEL: XDEL_1.default, + xDel: XDEL_1.default, + XDELEX: XDELEX_1.default, + xDelEx: XDELEX_1.default, + XGROUP_CREATE: XGROUP_CREATE_1.default, + xGroupCreate: XGROUP_CREATE_1.default, + XGROUP_CREATECONSUMER: XGROUP_CREATECONSUMER_1.default, + xGroupCreateConsumer: XGROUP_CREATECONSUMER_1.default, + XGROUP_DELCONSUMER: XGROUP_DELCONSUMER_1.default, + xGroupDelConsumer: XGROUP_DELCONSUMER_1.default, + XGROUP_DESTROY: XGROUP_DESTROY_1.default, + xGroupDestroy: XGROUP_DESTROY_1.default, + XGROUP_SETID: XGROUP_SETID_1.default, + xGroupSetId: XGROUP_SETID_1.default, + XINFO_CONSUMERS: XINFO_CONSUMERS_1.default, + xInfoConsumers: XINFO_CONSUMERS_1.default, + XINFO_GROUPS: XINFO_GROUPS_1.default, + xInfoGroups: XINFO_GROUPS_1.default, + XINFO_STREAM: XINFO_STREAM_1.default, + xInfoStream: XINFO_STREAM_1.default, + XLEN: XLEN_1.default, + xLen: XLEN_1.default, + XPENDING_RANGE: XPENDING_RANGE_1.default, + xPendingRange: XPENDING_RANGE_1.default, + XPENDING: XPENDING_1.default, + xPending: XPENDING_1.default, + XRANGE: XRANGE_1.default, + xRange: XRANGE_1.default, + XREAD: XREAD_1.default, + xRead: XREAD_1.default, + XREADGROUP: XREADGROUP_1.default, + xReadGroup: XREADGROUP_1.default, + XREVRANGE: XREVRANGE_1.default, + xRevRange: XREVRANGE_1.default, + XSETID: XSETID_1.default, + xSetId: XSETID_1.default, + XTRIM: XTRIM_1.default, + xTrim: XTRIM_1.default, + ZADD_INCR: ZADD_INCR_1.default, + zAddIncr: ZADD_INCR_1.default, + ZADD: ZADD_1.default, + zAdd: ZADD_1.default, + ZCARD: ZCARD_1.default, + zCard: ZCARD_1.default, + ZCOUNT: ZCOUNT_1.default, + zCount: ZCOUNT_1.default, + ZDIFF_WITHSCORES: ZDIFF_WITHSCORES_1.default, + zDiffWithScores: ZDIFF_WITHSCORES_1.default, + ZDIFF: ZDIFF_1.default, + zDiff: ZDIFF_1.default, + ZDIFFSTORE: ZDIFFSTORE_1.default, + zDiffStore: ZDIFFSTORE_1.default, + ZINCRBY: ZINCRBY_1.default, + zIncrBy: ZINCRBY_1.default, + ZINTER_WITHSCORES: ZINTER_WITHSCORES_1.default, + zInterWithScores: ZINTER_WITHSCORES_1.default, + ZINTER: ZINTER_1.default, + zInter: ZINTER_1.default, + ZINTERCARD: ZINTERCARD_1.default, + zInterCard: ZINTERCARD_1.default, + ZINTERSTORE: ZINTERSTORE_1.default, + zInterStore: ZINTERSTORE_1.default, + ZLEXCOUNT: ZLEXCOUNT_1.default, + zLexCount: ZLEXCOUNT_1.default, + ZMPOP: ZMPOP_1.default, + zmPop: ZMPOP_1.default, + ZMSCORE: ZMSCORE_1.default, + zmScore: ZMSCORE_1.default, + ZPOPMAX_COUNT: ZPOPMAX_COUNT_1.default, + zPopMaxCount: ZPOPMAX_COUNT_1.default, + ZPOPMAX: ZPOPMAX_1.default, + zPopMax: ZPOPMAX_1.default, + ZPOPMIN_COUNT: ZPOPMIN_COUNT_1.default, + zPopMinCount: ZPOPMIN_COUNT_1.default, + ZPOPMIN: ZPOPMIN_1.default, + zPopMin: ZPOPMIN_1.default, + ZRANDMEMBER_COUNT_WITHSCORES: ZRANDMEMBER_COUNT_WITHSCORES_1.default, + zRandMemberCountWithScores: ZRANDMEMBER_COUNT_WITHSCORES_1.default, + ZRANDMEMBER_COUNT: ZRANDMEMBER_COUNT_1.default, + zRandMemberCount: ZRANDMEMBER_COUNT_1.default, + ZRANDMEMBER: ZRANDMEMBER_1.default, + zRandMember: ZRANDMEMBER_1.default, + ZRANGE_WITHSCORES: ZRANGE_WITHSCORES_1.default, + zRangeWithScores: ZRANGE_WITHSCORES_1.default, + ZRANGE: ZRANGE_1.default, + zRange: ZRANGE_1.default, + ZRANGEBYLEX: ZRANGEBYLEX_1.default, + zRangeByLex: ZRANGEBYLEX_1.default, + ZRANGEBYSCORE_WITHSCORES: ZRANGEBYSCORE_WITHSCORES_1.default, + zRangeByScoreWithScores: ZRANGEBYSCORE_WITHSCORES_1.default, + ZRANGEBYSCORE: ZRANGEBYSCORE_1.default, + zRangeByScore: ZRANGEBYSCORE_1.default, + ZRANGESTORE: ZRANGESTORE_1.default, + zRangeStore: ZRANGESTORE_1.default, + ZRANK_WITHSCORE: ZRANK_WITHSCORE_1.default, + zRankWithScore: ZRANK_WITHSCORE_1.default, + ZRANK: ZRANK_1.default, + zRank: ZRANK_1.default, + ZREM: ZREM_1.default, + zRem: ZREM_1.default, + ZREMRANGEBYLEX: ZREMRANGEBYLEX_1.default, + zRemRangeByLex: ZREMRANGEBYLEX_1.default, + ZREMRANGEBYRANK: ZREMRANGEBYRANK_1.default, + zRemRangeByRank: ZREMRANGEBYRANK_1.default, + ZREMRANGEBYSCORE: ZREMRANGEBYSCORE_1.default, + zRemRangeByScore: ZREMRANGEBYSCORE_1.default, + ZREVRANK: ZREVRANK_1.default, + zRevRank: ZREVRANK_1.default, + ZSCAN: ZSCAN_1.default, + zScan: ZSCAN_1.default, + ZSCORE: ZSCORE_1.default, + zScore: ZSCORE_1.default, + ZUNION_WITHSCORES: ZUNION_WITHSCORES_1.default, + zUnionWithScores: ZUNION_WITHSCORES_1.default, + ZUNION: ZUNION_1.default, + zUnion: ZUNION_1.default, + ZUNIONSTORE: ZUNIONSTORE_1.default, + zUnionStore: ZUNIONSTORE_1.default, + VADD: VADD_1.default, + vAdd: VADD_1.default, + VCARD: VCARD_1.default, + vCard: VCARD_1.default, + VDIM: VDIM_1.default, + vDim: VDIM_1.default, + VEMB: VEMB_1.default, + vEmb: VEMB_1.default, + VEMB_RAW: VEMB_RAW_1.default, + vEmbRaw: VEMB_RAW_1.default, + VGETATTR: VGETATTR_1.default, + vGetAttr: VGETATTR_1.default, + VINFO: VINFO_1.default, + vInfo: VINFO_1.default, + VLINKS: VLINKS_1.default, + vLinks: VLINKS_1.default, + VLINKS_WITHSCORES: VLINKS_WITHSCORES_1.default, + vLinksWithScores: VLINKS_WITHSCORES_1.default, + VRANDMEMBER: VRANDMEMBER_1.default, + vRandMember: VRANDMEMBER_1.default, + VRANGE: VRANGE_1.default, + vRange: VRANGE_1.default, + VREM: VREM_1.default, + vRem: VREM_1.default, + VSETATTR: VSETATTR_1.default, + vSetAttr: VSETATTR_1.default, + VSIM: VSIM_1.default, + vSim: VSIM_1.default, + VSIM_WITHSCORES: VSIM_WITHSCORES_1.default, + vSimWithScores: VSIM_WITHSCORES_1.default +}; +// Commands available for cluster clients (excludes commands that require session affinity) +const index_1 = __importDefault(require("./index")); +// TODO: Remove this workaround once the cluster properly implements session affinity (sticky connections). +// HOTKEYS commands require a sticky connection to a single Redis node to function correctly. +const { HOTKEYS_GET: _HOTKEYS_GET, hotkeysGet: _hotkeysGet, HOTKEYS_RESET: _HOTKEYS_RESET, hotkeysReset: _hotkeysReset, HOTKEYS_START: _HOTKEYS_START, hotkeysStart: _hotkeysStart, HOTKEYS_STOP: _HOTKEYS_STOP, hotkeysStop: _hotkeysStop, ...NON_STICKY_COMMANDS } = index_1.default; +exports.NON_STICKY_COMMANDS = NON_STICKY_COMMANDS; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/commands/index.js.map b/back/node_modules/@redis/client/dist/lib/commands/index.js.map new file mode 100644 index 0000000..60479e8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/commands/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/commands/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/errors.d.ts b/back/node_modules/@redis/client/dist/lib/errors.d.ts new file mode 100644 index 0000000..b6aaa0a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/errors.d.ts @@ -0,0 +1,53 @@ +export declare class AbortError extends Error { + constructor(); +} +export declare class WatchError extends Error { + constructor(message?: string); +} +export declare class ConnectionTimeoutError extends Error { + constructor(); +} +export declare class SocketTimeoutError extends Error { + constructor(timeout: number); +} +export declare class ClientClosedError extends Error { + constructor(); +} +export declare class ClientOfflineError extends Error { + constructor(); +} +export declare class DisconnectsClientError extends Error { + constructor(); +} +export declare class SocketClosedUnexpectedlyError extends Error { + constructor(); +} +export declare class RootNodesUnavailableError extends Error { + constructor(); +} +export declare class ReconnectStrategyError extends Error { + originalError: Error; + socketError: unknown; + constructor(originalError: Error, socketError: unknown); +} +export declare class ErrorReply extends Error { +} +export declare class SimpleError extends ErrorReply { +} +export declare class BlobError extends ErrorReply { +} +export declare class TimeoutError extends Error { +} +export declare class SocketTimeoutDuringMaintenanceError extends TimeoutError { + constructor(timeout: number); +} +export declare class CommandTimeoutDuringMaintenanceError extends TimeoutError { + constructor(timeout: number); +} +export declare class MultiErrorReply extends ErrorReply { + replies: Array; + errorIndexes: Array; + constructor(replies: Array, errorIndexes: Array); + errors(): Generator; +} +//# sourceMappingURL=errors.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/errors.d.ts.map b/back/node_modules/@redis/client/dist/lib/errors.d.ts.map new file mode 100644 index 0000000..61af612 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/errors.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../lib/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAW,SAAQ,KAAK;;CAIpC;AAED,qBAAa,UAAW,SAAQ,KAAK;gBACvB,OAAO,SAAuD;CAG3E;AAED,qBAAa,sBAAuB,SAAQ,KAAK;;CAIhD;AAED,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,iBAAkB,SAAQ,KAAK;;CAI3C;AAED,qBAAa,kBAAmB,SAAQ,KAAK;;CAI5C;AAED,qBAAa,sBAAuB,SAAQ,KAAK;;CAIhD;AAED,qBAAa,6BAA8B,SAAQ,KAAK;;CAIvD;AAED,qBAAa,yBAA0B,SAAQ,KAAK;;CAInD;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,aAAa,EAAE,KAAK,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;gBAET,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO;CAKvD;AAED,qBAAa,UAAW,SAAQ,KAAK;CAAG;AAExC,qBAAa,WAAY,SAAQ,UAAU;CAAG;AAE9C,qBAAa,SAAU,SAAQ,UAAU;CAAG;AAE5C,qBAAa,YAAa,SAAQ,KAAK;CAAG;AAE1C,qBAAa,mCAAoC,SAAQ,YAAY;gBACvD,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,oCAAqC,SAAQ,YAAY;gBACxD,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,eAAgB,SAAQ,UAAU;IAC7C,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3B,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBAEhB,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC;IAMlE,MAAM;CAKR"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/errors.js b/back/node_modules/@redis/client/dist/lib/errors.js new file mode 100644 index 0000000..7cb6bb6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/errors.js @@ -0,0 +1,107 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MultiErrorReply = exports.CommandTimeoutDuringMaintenanceError = exports.SocketTimeoutDuringMaintenanceError = exports.TimeoutError = exports.BlobError = exports.SimpleError = exports.ErrorReply = exports.ReconnectStrategyError = exports.RootNodesUnavailableError = exports.SocketClosedUnexpectedlyError = exports.DisconnectsClientError = exports.ClientOfflineError = exports.ClientClosedError = exports.SocketTimeoutError = exports.ConnectionTimeoutError = exports.WatchError = exports.AbortError = void 0; +class AbortError extends Error { + constructor() { + super('The command was aborted'); + } +} +exports.AbortError = AbortError; +class WatchError extends Error { + constructor(message = 'One (or more) of the watched keys has been changed') { + super(message); + } +} +exports.WatchError = WatchError; +class ConnectionTimeoutError extends Error { + constructor() { + super('Connection timeout'); + } +} +exports.ConnectionTimeoutError = ConnectionTimeoutError; +class SocketTimeoutError extends Error { + constructor(timeout) { + super(`Socket timeout timeout. Expecting data, but didn't receive any in ${timeout}ms.`); + } +} +exports.SocketTimeoutError = SocketTimeoutError; +class ClientClosedError extends Error { + constructor() { + super('The client is closed'); + } +} +exports.ClientClosedError = ClientClosedError; +class ClientOfflineError extends Error { + constructor() { + super('The client is offline'); + } +} +exports.ClientOfflineError = ClientOfflineError; +class DisconnectsClientError extends Error { + constructor() { + super('Disconnects client'); + } +} +exports.DisconnectsClientError = DisconnectsClientError; +class SocketClosedUnexpectedlyError extends Error { + constructor() { + super('Socket closed unexpectedly'); + } +} +exports.SocketClosedUnexpectedlyError = SocketClosedUnexpectedlyError; +class RootNodesUnavailableError extends Error { + constructor() { + super('All the root nodes are unavailable'); + } +} +exports.RootNodesUnavailableError = RootNodesUnavailableError; +class ReconnectStrategyError extends Error { + originalError; + socketError; + constructor(originalError, socketError) { + super(originalError.message); + this.originalError = originalError; + this.socketError = socketError; + } +} +exports.ReconnectStrategyError = ReconnectStrategyError; +class ErrorReply extends Error { +} +exports.ErrorReply = ErrorReply; +class SimpleError extends ErrorReply { +} +exports.SimpleError = SimpleError; +class BlobError extends ErrorReply { +} +exports.BlobError = BlobError; +class TimeoutError extends Error { +} +exports.TimeoutError = TimeoutError; +class SocketTimeoutDuringMaintenanceError extends TimeoutError { + constructor(timeout) { + super(`Socket timeout during maintenance. Expecting data, but didn't receive any in ${timeout}ms.`); + } +} +exports.SocketTimeoutDuringMaintenanceError = SocketTimeoutDuringMaintenanceError; +class CommandTimeoutDuringMaintenanceError extends TimeoutError { + constructor(timeout) { + super(`Command timeout during maintenance. Waited to write command for more than ${timeout}ms.`); + } +} +exports.CommandTimeoutDuringMaintenanceError = CommandTimeoutDuringMaintenanceError; +class MultiErrorReply extends ErrorReply { + replies; + errorIndexes; + constructor(replies, errorIndexes) { + super(`${errorIndexes.length} commands failed, see .replies and .errorIndexes for more information`); + this.replies = replies; + this.errorIndexes = errorIndexes; + } + *errors() { + for (const index of this.errorIndexes) { + yield this.replies[index]; + } + } +} +exports.MultiErrorReply = MultiErrorReply; +//# sourceMappingURL=errors.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/errors.js.map b/back/node_modules/@redis/client/dist/lib/errors.js.map new file mode 100644 index 0000000..d63a0b0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/errors.js.map @@ -0,0 +1 @@ +{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../lib/errors.ts"],"names":[],"mappings":";;;AAAA,MAAa,UAAW,SAAQ,KAAK;IACnC;QACE,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACnC,CAAC;CACF;AAJD,gCAIC;AAED,MAAa,UAAW,SAAQ,KAAK;IACnC,YAAY,OAAO,GAAG,oDAAoD;QACxE,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;CACF;AAJD,gCAIC;AAED,MAAa,sBAAuB,SAAQ,KAAK;IAC/C;QACE,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC9B,CAAC;CACF;AAJD,wDAIC;AAED,MAAa,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,qEAAqE,OAAO,KAAK,CAAC,CAAC;IAC3F,CAAC;CACF;AAJD,gDAIC;AAED,MAAa,iBAAkB,SAAQ,KAAK;IAC1C;QACE,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAChC,CAAC;CACF;AAJD,8CAIC;AAED,MAAa,kBAAmB,SAAQ,KAAK;IAC3C;QACE,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACjC,CAAC;CACF;AAJD,gDAIC;AAED,MAAa,sBAAuB,SAAQ,KAAK;IAC/C;QACE,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC9B,CAAC;CACF;AAJD,wDAIC;AAED,MAAa,6BAA8B,SAAQ,KAAK;IACtD;QACE,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACtC,CAAC;CACF;AAJD,sEAIC;AAED,MAAa,yBAA0B,SAAQ,KAAK;IAClD;QACE,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC9C,CAAC;CACF;AAJD,8DAIC;AAED,MAAa,sBAAuB,SAAQ,KAAK;IAC/C,aAAa,CAAQ;IACrB,WAAW,CAAU;IAErB,YAAY,aAAoB,EAAE,WAAoB;QACpD,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;CACF;AATD,wDASC;AAED,MAAa,UAAW,SAAQ,KAAK;CAAG;AAAxC,gCAAwC;AAExC,MAAa,WAAY,SAAQ,UAAU;CAAG;AAA9C,kCAA8C;AAE9C,MAAa,SAAU,SAAQ,UAAU;CAAG;AAA5C,8BAA4C;AAE5C,MAAa,YAAa,SAAQ,KAAK;CAAG;AAA1C,oCAA0C;AAE1C,MAAa,mCAAoC,SAAQ,YAAY;IACnE,YAAY,OAAe;QACzB,KAAK,CAAC,gFAAgF,OAAO,KAAK,CAAC,CAAC;IACtG,CAAC;CACF;AAJD,kFAIC;AAED,MAAa,oCAAqC,SAAQ,YAAY;IACpE,YAAY,OAAe;QACzB,KAAK,CAAC,6EAA6E,OAAO,KAAK,CAAC,CAAC;IACnG,CAAC;CACF;AAJD,oFAIC;AAED,MAAa,eAAgB,SAAQ,UAAU;IAC7C,OAAO,CAAoB;IAC3B,YAAY,CAAgB;IAE5B,YAAY,OAA0B,EAAE,YAA2B;QACjE,KAAK,CAAC,GAAG,YAAY,CAAC,MAAM,uEAAuE,CAAC,CAAC;QACrG,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,CAAC,MAAM;QACL,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;CACF;AAfD,0CAeC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/lua-script.d.ts b/back/node_modules/@redis/client/dist/lib/lua-script.d.ts new file mode 100644 index 0000000..af772f9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/lua-script.d.ts @@ -0,0 +1,12 @@ +/// +import { Command } from './RESP/types'; +export type RedisScriptConfig = Command & { + SCRIPT: string | Buffer; + NUMBER_OF_KEYS?: number; +}; +export interface SHA1 { + SHA1: string; +} +export declare function defineScript(script: S): S & SHA1; +export declare function scriptSha1(script: RedisScriptConfig['SCRIPT']): string; +//# sourceMappingURL=lua-script.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/lua-script.d.ts.map b/back/node_modules/@redis/client/dist/lib/lua-script.d.ts.map new file mode 100644 index 0000000..ac85577 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/lua-script.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"lua-script.d.ts","sourceRoot":"","sources":["../../lib/lua-script.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG;IACxC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAA;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,iBAAiB,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAK7E;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,GAAG,MAAM,CAEtE"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/lua-script.js b/back/node_modules/@redis/client/dist/lib/lua-script.js new file mode 100644 index 0000000..70c89a6 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/lua-script.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.scriptSha1 = exports.defineScript = void 0; +const node_crypto_1 = require("node:crypto"); +function defineScript(script) { + return { + ...script, + SHA1: scriptSha1(script.SCRIPT) + }; +} +exports.defineScript = defineScript; +function scriptSha1(script) { + return (0, node_crypto_1.createHash)('sha1').update(script).digest('hex'); +} +exports.scriptSha1 = scriptSha1; +//# sourceMappingURL=lua-script.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/lua-script.js.map b/back/node_modules/@redis/client/dist/lib/lua-script.js.map new file mode 100644 index 0000000..e22e839 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/lua-script.js.map @@ -0,0 +1 @@ +{"version":3,"file":"lua-script.js","sourceRoot":"","sources":["../../lib/lua-script.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAYzC,SAAgB,YAAY,CAA8B,MAAS;IACjE,OAAO;QACL,GAAG,MAAM;QACT,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;KAChC,CAAC;AACJ,CAAC;AALD,oCAKC;AAED,SAAgB,UAAU,CAAC,MAAmC;IAC5D,OAAO,IAAA,wBAAU,EAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC;AAFD,gCAEC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/multi-command.d.ts b/back/node_modules/@redis/client/dist/lib/multi-command.d.ts new file mode 100644 index 0000000..e29b513 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/multi-command.d.ts @@ -0,0 +1,26 @@ +import { CommandArguments, RedisScript, ReplyUnion, TransformReply, TypeMapping } from './RESP/types'; +export type MULTI_REPLY = { + GENERIC: 'generic'; + TYPED: 'typed'; +}; +export type MULTI_MODE = { + TYPED: 'typed'; + UNTYPED: 'untyped'; +}; +export type MultiMode = MULTI_MODE[keyof MULTI_MODE]; +export type MultiReply = MULTI_REPLY[keyof MULTI_REPLY]; +export type MultiReplyType = T extends MULTI_REPLY['TYPED'] ? REPLIES : Array; +export interface RedisMultiQueuedCommand { + args: CommandArguments; + transformReply?: TransformReply; +} +export default class RedisMultiCommand { + private readonly typeMapping?; + constructor(typeMapping?: TypeMapping); + readonly queue: Array; + readonly scriptsInUse: Set; + addCommand(args: CommandArguments, transformReply?: TransformReply): void; + addScript(script: RedisScript, args: CommandArguments, transformReply?: TransformReply): void; + transformReplies(rawReplies: Array): Array; +} +//# sourceMappingURL=multi-command.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/multi-command.d.ts.map b/back/node_modules/@redis/client/dist/lib/multi-command.d.ts.map new file mode 100644 index 0000000..4d40f09 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/multi-command.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"multi-command.d.ts","sourceRoot":"","sources":["../../lib/multi-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGtG,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,SAAS,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,UAAU,CAAC,CAAC;AAErD,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,WAAW,CAAC,CAAC;AAExD,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,UAAU,EAAE,OAAO,IAAI,CAAC,SAAS,WAAW,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;AAEzH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,gBAAgB,CAAC;IACvB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAc;gBAE/B,WAAW,CAAC,EAAE,WAAW;IAIrC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAM;IAEpD,QAAQ,CAAC,YAAY,cAAqB;IAE1C,UAAU,CAAC,IAAI,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAAE,cAAc;IAOlE,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAAE,cAAc;IAmBtF,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;CAe7D"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/multi-command.js b/back/node_modules/@redis/client/dist/lib/multi-command.js new file mode 100644 index 0000000..4f1b0a1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/multi-command.js @@ -0,0 +1,48 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const errors_1 = require("./errors"); +class RedisMultiCommand { + typeMapping; + constructor(typeMapping) { + this.typeMapping = typeMapping; + } + queue = []; + scriptsInUse = new Set(); + addCommand(args, transformReply) { + this.queue.push({ + args, + transformReply + }); + } + addScript(script, args, transformReply) { + const redisArgs = []; + redisArgs.preserve = args.preserve; + if (this.scriptsInUse.has(script.SHA1)) { + redisArgs.push('EVALSHA', script.SHA1); + } + else { + this.scriptsInUse.add(script.SHA1); + redisArgs.push('EVAL', script.SCRIPT); + } + if (script.NUMBER_OF_KEYS !== undefined) { + redisArgs.push(script.NUMBER_OF_KEYS.toString()); + } + redisArgs.push(...args); + this.addCommand(redisArgs, transformReply); + } + transformReplies(rawReplies) { + const errorIndexes = [], replies = rawReplies.map((reply, i) => { + if (reply instanceof errors_1.ErrorReply) { + errorIndexes.push(i); + return reply; + } + const { transformReply, args } = this.queue[i]; + return transformReply ? transformReply(reply, args.preserve, this.typeMapping) : reply; + }); + if (errorIndexes.length) + throw new errors_1.MultiErrorReply(replies, errorIndexes); + return replies; + } +} +exports.default = RedisMultiCommand; +//# sourceMappingURL=multi-command.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/multi-command.js.map b/back/node_modules/@redis/client/dist/lib/multi-command.js.map new file mode 100644 index 0000000..cf11e88 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/multi-command.js.map @@ -0,0 +1 @@ +{"version":3,"file":"multi-command.js","sourceRoot":"","sources":["../../lib/multi-command.ts"],"names":[],"mappings":";;AACA,qCAAuD;AAuBvD,MAAqB,iBAAiB;IACnB,WAAW,CAAe;IAE3C,YAAY,WAAyB;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAEQ,KAAK,GAAmC,EAAE,CAAC;IAE3C,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IAE1C,UAAU,CAAC,IAAsB,EAAE,cAA+B;QAChE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,MAAmB,EAAE,IAAsB,EAAE,cAA+B;QACpF,MAAM,SAAS,GAAqB,EAAE,CAAC;QACvC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACnC,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACnC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACxC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAExB,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAC7C,CAAC;IAED,gBAAgB,CAAC,UAA0B;QACzC,MAAM,YAAY,GAAkB,EAAE,EACpC,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACpC,IAAI,KAAK,YAAY,mBAAU,EAAE,CAAC;gBAChC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACrB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/C,OAAO,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACzF,CAAC,CAAC,CAAC;QAEL,IAAI,YAAY,CAAC,MAAM;YAAE,MAAM,IAAI,wBAAe,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC1E,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AApDD,oCAoDC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MASTER.d.ts b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MASTER.d.ts new file mode 100644 index 0000000..95cd96a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MASTER.d.ts @@ -0,0 +1,16 @@ +import { RedisArgument, MapReply, BlobStringReply } from '../../RESP/types'; +import { CommandParser } from '../../client/parser'; +declare const _default: { + /** + * Returns information about the specified master. + * @param parser - The Redis command parser. + * @param dbname - Name of the master. + */ + readonly parseCommand: (this: void, parser: CommandParser, dbname: RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../../RESP/types").TypeMapping | undefined) => MapReply, BlobStringReply>; + readonly 3: () => MapReply; + }; +}; +export default _default; +//# sourceMappingURL=SENTINEL_MASTER.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MASTER.d.ts.map b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MASTER.d.ts.map new file mode 100644 index 0000000..ee0af06 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MASTER.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SENTINEL_MASTER.d.ts","sourceRoot":"","sources":["../../../../lib/sentinel/commands/SENTINEL_MASTER.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,eAAe,EAAW,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;;IAIlD;;;;OAIG;gDACkB,aAAa,UAAU,aAAa;;;0BAKtB,SAAS,eAAe,EAAE,eAAe,CAAC;;;AAX/E,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MASTER.js b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MASTER.js new file mode 100644 index 0000000..08e77a1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MASTER.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("../../commands/generic-transformers"); +exports.default = { + /** + * Returns information about the specified master. + * @param parser - The Redis command parser. + * @param dbname - Name of the master. + */ + parseCommand(parser, dbname) { + parser.push('SENTINEL', 'MASTER', dbname); + }, + transformReply: { + 2: (generic_transformers_1.transformTuplesReply), + 3: undefined + } +}; +//# sourceMappingURL=SENTINEL_MASTER.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MASTER.js.map b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MASTER.js.map new file mode 100644 index 0000000..6ccb0db --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MASTER.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SENTINEL_MASTER.js","sourceRoot":"","sources":["../../../../lib/sentinel/commands/SENTINEL_MASTER.ts"],"names":[],"mappings":";;AAEA,8EAA2E;AAE3E,kBAAe;IACb;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,MAAqB;QACvD,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAA,2CAAqC,CAAA;QACxC,CAAC,EAAE,SAAwE;KAC5E;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MONITOR.d.ts b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MONITOR.d.ts new file mode 100644 index 0000000..386d38b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MONITOR.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../../client/parser'; +import { RedisArgument, SimpleStringReply } from '../../RESP/types'; +declare const _default: { + /** + * Instructs a Sentinel to monitor a new master with the specified parameters. + * @param parser - The Redis command parser. + * @param dbname - Name that identifies the master. + * @param host - Host of the master. + * @param port - Port of the master. + * @param quorum - Number of Sentinels that need to agree to trigger a failover. + */ + readonly parseCommand: (this: void, parser: CommandParser, dbname: RedisArgument, host: RedisArgument, port: RedisArgument, quorum: RedisArgument) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=SENTINEL_MONITOR.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MONITOR.d.ts.map b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MONITOR.d.ts.map new file mode 100644 index 0000000..b06e590 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MONITOR.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SENTINEL_MONITOR.d.ts","sourceRoot":"","sources":["../../../../lib/sentinel/commands/SENTINEL_MONITOR.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,kBAAkB,CAAC;;IAG3E;;;;;;;OAOG;gDACkB,aAAa,UAAU,aAAa,QAAQ,aAAa,QAAQ,aAAa,UAAU,aAAa;mCAG5E,kBAAkB,IAAI,CAAC;;AAZvE,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MONITOR.js b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MONITOR.js new file mode 100644 index 0000000..3c4f990 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MONITOR.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Instructs a Sentinel to monitor a new master with the specified parameters. + * @param parser - The Redis command parser. + * @param dbname - Name that identifies the master. + * @param host - Host of the master. + * @param port - Port of the master. + * @param quorum - Number of Sentinels that need to agree to trigger a failover. + */ + parseCommand(parser, dbname, host, port, quorum) { + parser.push('SENTINEL', 'MONITOR', dbname, host, port, quorum); + }, + transformReply: undefined +}; +//# sourceMappingURL=SENTINEL_MONITOR.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MONITOR.js.map b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MONITOR.js.map new file mode 100644 index 0000000..b61a3b8 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_MONITOR.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SENTINEL_MONITOR.js","sourceRoot":"","sources":["../../../../lib/sentinel/commands/SENTINEL_MONITOR.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,MAAqB,EAAE,IAAmB,EAAE,IAAmB,EAAE,MAAqB;QACxH,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_REPLICAS.d.ts b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_REPLICAS.d.ts new file mode 100644 index 0000000..94f1f60 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_REPLICAS.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../../client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply, MapReply, TypeMapping } from '../../RESP/types'; +declare const _default: { + /** + * Returns a list of replicas for the specified master. + * @param parser - The Redis command parser. + * @param dbname - Name of the master. + */ + readonly parseCommand: (this: void, parser: CommandParser, dbname: RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: ArrayReply>, preserve?: any, typeMapping?: TypeMapping) => MapReply, BlobStringReply>[]; + readonly 3: () => ArrayReply>; + }; +}; +export default _default; +//# sourceMappingURL=SENTINEL_REPLICAS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_REPLICAS.d.ts.map b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_REPLICAS.d.ts.map new file mode 100644 index 0000000..96646fc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_REPLICAS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SENTINEL_REPLICAS.d.ts","sourceRoot":"","sources":["../../../../lib/sentinel/commands/SENTINEL_REPLICAS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAW,WAAW,EAAe,MAAM,kBAAkB,CAAC;;IAIzH;;;;OAIG;gDACkB,aAAa,UAAU,aAAa;;4BAI5C,WAAW,WAAW,eAAe,CAAC,CAAC,aAAa,GAAG,gBAAgB,WAAW;0BAY5D,WAAW,SAAS,eAAe,EAAE,eAAe,CAAC,CAAC;;;AAtB3F,wBAwB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_REPLICAS.js b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_REPLICAS.js new file mode 100644 index 0000000..b131065 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_REPLICAS.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("../../commands/generic-transformers"); +exports.default = { + /** + * Returns a list of replicas for the specified master. + * @param parser - The Redis command parser. + * @param dbname - Name of the master. + */ + parseCommand(parser, dbname) { + parser.push('SENTINEL', 'REPLICAS', dbname); + }, + transformReply: { + 2: (reply, preserve, typeMapping) => { + const inferred = reply; + const initial = []; + return inferred.reduce((sentinels, x) => { + sentinels.push((0, generic_transformers_1.transformTuplesReply)(x, undefined, typeMapping)); + return sentinels; + }, initial); + }, + 3: undefined + } +}; +//# sourceMappingURL=SENTINEL_REPLICAS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_REPLICAS.js.map b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_REPLICAS.js.map new file mode 100644 index 0000000..6b3505f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_REPLICAS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SENTINEL_REPLICAS.js","sourceRoot":"","sources":["../../../../lib/sentinel/commands/SENTINEL_REPLICAS.ts"],"names":[],"mappings":";;AAEA,8EAA2E;AAE3E,kBAAe;IACb;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,MAAqB;QACvD,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAA8C,EAAE,QAAc,EAAE,WAAyB,EAAE,EAAE;YAC/F,MAAM,QAAQ,GAAG,KAA6C,CAAC;YAC/D,MAAM,OAAO,GAAsD,EAAE,CAAC;YAEtE,OAAO,QAAQ,CAAC,MAAM,CACpB,CAAC,SAA4D,EAAE,CAA8B,EAAE,EAAE;gBAC/F,SAAS,CAAC,IAAI,CAAC,IAAA,2CAAoB,EAAC,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;gBAChE,OAAO,SAAS,CAAC;YACnB,CAAC,EACD,OAAO,CACR,CAAC;QACJ,CAAC;QACD,CAAC,EAAE,SAAoF;KACxF;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SENTINELS.d.ts b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SENTINELS.d.ts new file mode 100644 index 0000000..199dff2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SENTINELS.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '../../client/parser'; +import { RedisArgument, ArrayReply, MapReply, BlobStringReply, TypeMapping } from '../../RESP/types'; +declare const _default: { + /** + * Returns a list of Sentinel instances for the specified master. + * @param parser - The Redis command parser. + * @param dbname - Name of the master. + */ + readonly parseCommand: (this: void, parser: CommandParser, dbname: RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: ArrayReply>, preserve?: any, typeMapping?: TypeMapping) => MapReply, BlobStringReply>[]; + readonly 3: () => ArrayReply>; + }; +}; +export default _default; +//# sourceMappingURL=SENTINEL_SENTINELS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SENTINELS.d.ts.map b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SENTINELS.d.ts.map new file mode 100644 index 0000000..777a18c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SENTINELS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SENTINEL_SENTINELS.d.ts","sourceRoot":"","sources":["../../../../lib/sentinel/commands/SENTINEL_SENTINELS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAW,WAAW,EAAe,MAAM,kBAAkB,CAAC;;IAIzH;;;;OAIG;gDACkB,aAAa,UAAU,aAAa;;4BAI5C,WAAW,WAAW,eAAe,CAAC,CAAC,aAAa,GAAG,gBAAgB,WAAW;0BAY5D,WAAW,SAAS,eAAe,EAAE,eAAe,CAAC,CAAC;;;AAtB3F,wBAwB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SENTINELS.js b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SENTINELS.js new file mode 100644 index 0000000..885e41c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SENTINELS.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("../../commands/generic-transformers"); +exports.default = { + /** + * Returns a list of Sentinel instances for the specified master. + * @param parser - The Redis command parser. + * @param dbname - Name of the master. + */ + parseCommand(parser, dbname) { + parser.push('SENTINEL', 'SENTINELS', dbname); + }, + transformReply: { + 2: (reply, preserve, typeMapping) => { + const inferred = reply; + const initial = []; + return inferred.reduce((sentinels, x) => { + sentinels.push((0, generic_transformers_1.transformTuplesReply)(x, undefined, typeMapping)); + return sentinels; + }, initial); + }, + 3: undefined + } +}; +//# sourceMappingURL=SENTINEL_SENTINELS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SENTINELS.js.map b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SENTINELS.js.map new file mode 100644 index 0000000..f9f45d4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SENTINELS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SENTINEL_SENTINELS.js","sourceRoot":"","sources":["../../../../lib/sentinel/commands/SENTINEL_SENTINELS.ts"],"names":[],"mappings":";;AAEA,8EAA2E;AAE3E,kBAAe;IACb;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,MAAqB;QACvD,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAA8C,EAAE,QAAc,EAAE,WAAyB,EAAE,EAAE;YAC/F,MAAM,QAAQ,GAAG,KAA6C,CAAC;YAC/D,MAAM,OAAO,GAAsD,EAAE,CAAC;YAEtE,OAAO,QAAQ,CAAC,MAAM,CACpB,CAAC,SAA4D,EAAE,CAA8B,EAAE,EAAE;gBAC/F,SAAS,CAAC,IAAI,CAAC,IAAA,2CAAoB,EAAC,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;gBAChE,OAAO,SAAS,CAAC;YACnB,CAAC,EACD,OAAO,CACR,CAAC;QACJ,CAAC;QACD,CAAC,EAAE,SAAoF;KACxF;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SET.d.ts b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SET.d.ts new file mode 100644 index 0000000..3af0e1e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SET.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '../../client/parser'; +import { RedisArgument, SimpleStringReply } from '../../RESP/types'; +export type SentinelSetOptions = Array<{ + option: RedisArgument; + value: RedisArgument; +}>; +declare const _default: { + /** + * Sets configuration parameters for a specific master. + * @param parser - The Redis command parser. + * @param dbname - Name of the master. + * @param options - Configuration options to set as option-value pairs. + */ + readonly parseCommand: (this: void, parser: CommandParser, dbname: RedisArgument, options: SentinelSetOptions) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=SENTINEL_SET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SET.d.ts.map b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SET.d.ts.map new file mode 100644 index 0000000..1024fb2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SENTINEL_SET.d.ts","sourceRoot":"","sources":["../../../../lib/sentinel/commands/SENTINEL_SET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,kBAAkB,CAAC;AAE7E,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC;IACrC,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,aAAa,CAAC;CACtB,CAAC,CAAC;;IAGD;;;;;OAKG;gDACkB,aAAa,UAAU,aAAa;mCAOX,kBAAkB,IAAI,CAAC;;AAdvE,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SET.js b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SET.js new file mode 100644 index 0000000..3ee6b31 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SET.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + /** + * Sets configuration parameters for a specific master. + * @param parser - The Redis command parser. + * @param dbname - Name of the master. + * @param options - Configuration options to set as option-value pairs. + */ + parseCommand(parser, dbname, options) { + parser.push('SENTINEL', 'SET', dbname); + for (const option of options) { + parser.push(option.option, option.value); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=SENTINEL_SET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SET.js.map b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SET.js.map new file mode 100644 index 0000000..9668f1a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/commands/SENTINEL_SET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SENTINEL_SET.js","sourceRoot":"","sources":["../../../../lib/sentinel/commands/SENTINEL_SET.ts"],"names":[],"mappings":";;AAQA,kBAAe;IACb;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,MAAqB,EAAE,OAA2B;QACpF,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAEvC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/commands/index.d.ts b/back/node_modules/@redis/client/dist/lib/sentinel/commands/index.d.ts new file mode 100644 index 0000000..8c7c713 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/commands/index.d.ts @@ -0,0 +1,62 @@ +declare const _default: { + readonly SENTINEL_SENTINELS: { + readonly parseCommand: (this: void, parser: import("../../..").CommandParser, dbname: import("../../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../../RESP/types").ArrayReply>>, preserve?: any, typeMapping?: import("../../RESP/types").TypeMapping | undefined) => import("../../RESP/types").MapReply, import("../../RESP/types").BlobStringReply>[]; + readonly 3: () => import("../../RESP/types").ArrayReply, import("../../RESP/types").BlobStringReply>>; + }; + }; + readonly sentinelSentinels: { + readonly parseCommand: (this: void, parser: import("../../..").CommandParser, dbname: import("../../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../../RESP/types").ArrayReply>>, preserve?: any, typeMapping?: import("../../RESP/types").TypeMapping | undefined) => import("../../RESP/types").MapReply, import("../../RESP/types").BlobStringReply>[]; + readonly 3: () => import("../../RESP/types").ArrayReply, import("../../RESP/types").BlobStringReply>>; + }; + }; + readonly SENTINEL_MASTER: { + readonly parseCommand: (this: void, parser: import("../../..").CommandParser, dbname: import("../../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../../RESP/types").TypeMapping | undefined) => import("../../RESP/types").MapReply, import("../../RESP/types").BlobStringReply>; + readonly 3: () => import("../../RESP/types").MapReply, import("../../RESP/types").BlobStringReply>; + }; + }; + readonly sentinelMaster: { + readonly parseCommand: (this: void, parser: import("../../..").CommandParser, dbname: import("../../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../../RESP/types").TypeMapping | undefined) => import("../../RESP/types").MapReply, import("../../RESP/types").BlobStringReply>; + readonly 3: () => import("../../RESP/types").MapReply, import("../../RESP/types").BlobStringReply>; + }; + }; + readonly SENTINEL_REPLICAS: { + readonly parseCommand: (this: void, parser: import("../../..").CommandParser, dbname: import("../../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../../RESP/types").ArrayReply>>, preserve?: any, typeMapping?: import("../../RESP/types").TypeMapping | undefined) => import("../../RESP/types").MapReply, import("../../RESP/types").BlobStringReply>[]; + readonly 3: () => import("../../RESP/types").ArrayReply, import("../../RESP/types").BlobStringReply>>; + }; + }; + readonly sentinelReplicas: { + readonly parseCommand: (this: void, parser: import("../../..").CommandParser, dbname: import("../../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../../RESP/types").ArrayReply>>, preserve?: any, typeMapping?: import("../../RESP/types").TypeMapping | undefined) => import("../../RESP/types").MapReply, import("../../RESP/types").BlobStringReply>[]; + readonly 3: () => import("../../RESP/types").ArrayReply, import("../../RESP/types").BlobStringReply>>; + }; + }; + readonly SENTINEL_MONITOR: { + readonly parseCommand: (this: void, parser: import("../../..").CommandParser, dbname: import("../../RESP/types").RedisArgument, host: import("../../RESP/types").RedisArgument, port: import("../../RESP/types").RedisArgument, quorum: import("../../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../../RESP/types").SimpleStringReply<"OK">; + }; + readonly sentinelMonitor: { + readonly parseCommand: (this: void, parser: import("../../..").CommandParser, dbname: import("../../RESP/types").RedisArgument, host: import("../../RESP/types").RedisArgument, port: import("../../RESP/types").RedisArgument, quorum: import("../../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../../RESP/types").SimpleStringReply<"OK">; + }; + readonly SENTINEL_SET: { + readonly parseCommand: (this: void, parser: import("../../..").CommandParser, dbname: import("../../RESP/types").RedisArgument, options: import("./SENTINEL_SET").SentinelSetOptions) => void; + readonly transformReply: () => import("../../RESP/types").SimpleStringReply<"OK">; + }; + readonly sentinelSet: { + readonly parseCommand: (this: void, parser: import("../../..").CommandParser, dbname: import("../../RESP/types").RedisArgument, options: import("./SENTINEL_SET").SentinelSetOptions) => void; + readonly transformReply: () => import("../../RESP/types").SimpleStringReply<"OK">; + }; +}; +export default _default; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/commands/index.d.ts.map b/back/node_modules/@redis/client/dist/lib/sentinel/commands/index.d.ts.map new file mode 100644 index 0000000..c13e637 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/commands/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/sentinel/commands/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,wBAWmC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/commands/index.js b/back/node_modules/@redis/client/dist/lib/sentinel/commands/index.js new file mode 100644 index 0000000..2ac9bb2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/commands/index.js @@ -0,0 +1,23 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const SENTINEL_MASTER_1 = __importDefault(require("./SENTINEL_MASTER")); +const SENTINEL_MONITOR_1 = __importDefault(require("./SENTINEL_MONITOR")); +const SENTINEL_REPLICAS_1 = __importDefault(require("./SENTINEL_REPLICAS")); +const SENTINEL_SENTINELS_1 = __importDefault(require("./SENTINEL_SENTINELS")); +const SENTINEL_SET_1 = __importDefault(require("./SENTINEL_SET")); +exports.default = { + SENTINEL_SENTINELS: SENTINEL_SENTINELS_1.default, + sentinelSentinels: SENTINEL_SENTINELS_1.default, + SENTINEL_MASTER: SENTINEL_MASTER_1.default, + sentinelMaster: SENTINEL_MASTER_1.default, + SENTINEL_REPLICAS: SENTINEL_REPLICAS_1.default, + sentinelReplicas: SENTINEL_REPLICAS_1.default, + SENTINEL_MONITOR: SENTINEL_MONITOR_1.default, + sentinelMonitor: SENTINEL_MONITOR_1.default, + SENTINEL_SET: SENTINEL_SET_1.default, + sentinelSet: SENTINEL_SET_1.default +}; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/commands/index.js.map b/back/node_modules/@redis/client/dist/lib/sentinel/commands/index.js.map new file mode 100644 index 0000000..579c4d1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/commands/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/sentinel/commands/index.ts"],"names":[],"mappings":";;;;;AACA,wEAAgD;AAChD,0EAAkD;AAClD,4EAAoD;AACpD,8EAAsD;AACtD,kEAA0C;AAE1C,kBAAe;IACb,kBAAkB,EAAlB,4BAAkB;IAClB,iBAAiB,EAAE,4BAAkB;IACrC,eAAe,EAAf,yBAAe;IACf,cAAc,EAAE,yBAAe;IAC/B,iBAAiB,EAAjB,2BAAiB;IACjB,gBAAgB,EAAE,2BAAiB;IACnC,gBAAgB,EAAhB,0BAAgB;IAChB,eAAe,EAAE,0BAAgB;IACjC,YAAY,EAAZ,sBAAY;IACZ,WAAW,EAAE,sBAAY;CACO,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/index.d.ts b/back/node_modules/@redis/client/dist/lib/sentinel/index.d.ts new file mode 100644 index 0000000..d15b3f7 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/index.d.ts @@ -0,0 +1,225 @@ +/// +import { EventEmitter } from 'node:events'; +import { CommandArguments, RedisFunctions, RedisModules, RedisScripts, ReplyUnion, RespVersions, TypeMapping } from '../RESP/types'; +import RedisClient, { RedisClientType } from '../client'; +import { CommandOptions } from '../client/commands-queue'; +import { RedisNode, RedisSentinelClientType, RedisSentinelOptions, RedisSentinelType, SentinelCommander } from './types'; +import { RedisMultiQueuedCommand } from '../multi-command'; +import { RedisSentinelMultiCommandType } from './multi-commands'; +import { PubSubListener } from '../client/pub-sub'; +import { RedisVariadicArgument } from '../commands/generic-transformers'; +import { PooledClientSideCacheProvider } from '../client/cache'; +interface ClientInfo { + id: number; +} +export declare class RedisSentinelClient { + #private; + readonly _self: RedisSentinelClient; + /** + * Indicates if the client connection is open + * + * @returns `true` if the client connection is open, `false` otherwise + */ + get isOpen(): boolean; + /** + * Indicates if the client connection is ready to accept commands + * + * @returns `true` if the client connection is ready, `false` otherwise + */ + get isReady(): boolean; + /** + * Gets the command options configured for this client + * + * @returns The command options for this client or `undefined` if none were set + */ + get commandOptions(): CommandOptions | undefined; + constructor(internal: RedisSentinelInternal, clientInfo: ClientInfo, commandOptions?: CommandOptions); + static factory(config?: SentinelCommander): (internal: RedisSentinelInternal, clientInfo: ClientInfo, commandOptions?: CommandOptions) => RedisSentinelClientType; + static create(options: RedisSentinelOptions, internal: RedisSentinelInternal, clientInfo: ClientInfo, commandOptions?: CommandOptions): RedisSentinelClientType; + withCommandOptions, TYPE_MAPPING extends TypeMapping>(options: OPTIONS): RedisSentinelClientType; + private _commandOptionsProxy; + /** + * Override the `typeMapping` command option + */ + withTypeMapping(typeMapping: TYPE_MAPPING): RedisSentinelClientType; + _execute(isReadonly: boolean | undefined, fn: (client: RedisClient) => Promise): Promise; + sendCommand(isReadonly: boolean | undefined, args: CommandArguments, options?: CommandOptions): Promise; + /** + * @internal + */ + _executePipeline(isReadonly: boolean | undefined, commands: Array): Promise; + /**f + * @internal + */ + _executeMulti(isReadonly: boolean | undefined, commands: Array): Promise; + MULTI(): RedisSentinelMultiCommandType<[], M, F, S, RESP, TYPE_MAPPING>; + multi: () => RedisSentinelMultiCommandType<[], M, F, S, RESP, TYPE_MAPPING>; + WATCH(key: RedisVariadicArgument): Promise<"OK">; + watch: (key: RedisVariadicArgument) => Promise<"OK">; + UNWATCH(): Promise<"OK">; + unwatch: () => Promise<"OK">; + /** + * Releases the client lease back to the pool + * + * After calling this method, the client instance should no longer be used as it + * will be returned to the client pool and may be given to other operations. + * + * @returns A promise that resolves when the client is ready to be reused, or undefined + * if the client was immediately ready + * @throws Error if the lease has already been released + */ + release(): Promise | undefined; +} +export default class RedisSentinel extends EventEmitter { + #private; + readonly _self: RedisSentinel; + /** + * Indicates if the sentinel connection is open + * + * @returns `true` if the sentinel connection is open, `false` otherwise + */ + get isOpen(): boolean; + /** + * Indicates if the sentinel connection is ready to accept commands + * + * @returns `true` if the sentinel connection is ready, `false` otherwise + */ + get isReady(): boolean; + get commandOptions(): CommandOptions | undefined; + get clientSideCache(): PooledClientSideCacheProvider | undefined; + constructor(options: RedisSentinelOptions); + static factory(config?: SentinelCommander): (options: Omit>) => RedisSentinelType; + static create(options: RedisSentinelOptions): RedisSentinelType; + withCommandOptions, TYPE_MAPPING extends TypeMapping>(options: OPTIONS): RedisSentinelType; + private _commandOptionsProxy; + /** + * Override the `typeMapping` command option + */ + withTypeMapping(typeMapping: TYPE_MAPPING): RedisSentinelType; + connect(): Promise>; + _execute(isReadonly: boolean | undefined, fn: (client: RedisClient) => Promise): Promise; + use(fn: (sentinelClient: RedisSentinelClientType) => Promise): Promise; + sendCommand(isReadonly: boolean | undefined, args: CommandArguments, options?: CommandOptions): Promise; + /** + * @internal + */ + _executePipeline(isReadonly: boolean | undefined, commands: Array): Promise; + /**f + * @internal + */ + _executeMulti(isReadonly: boolean | undefined, commands: Array): Promise; + MULTI(): RedisSentinelMultiCommandType<[], M, F, S, RESP, TYPE_MAPPING>; + multi: () => RedisSentinelMultiCommandType<[], M, F, S, RESP, TYPE_MAPPING>; + close(): Promise; + destroy(): Promise; + SUBSCRIBE(channels: string | Array, listener: PubSubListener, bufferMode?: T): Promise; + subscribe: (channels: string | Array, listener: PubSubListener, bufferMode?: T | undefined) => Promise; + UNSUBSCRIBE(channels?: string | Array, listener?: PubSubListener, bufferMode?: T): Promise; + unsubscribe: (channels?: string | Array, listener?: PubSubListener, bufferMode?: T | undefined) => Promise; + PSUBSCRIBE(patterns: string | Array, listener: PubSubListener, bufferMode?: T): Promise; + pSubscribe: (patterns: string | Array, listener: PubSubListener, bufferMode?: T | undefined) => Promise; + PUNSUBSCRIBE(patterns?: string | Array, listener?: PubSubListener, bufferMode?: T): Promise; + pUnsubscribe: (patterns?: string | Array, listener?: PubSubListener | undefined, bufferMode?: T | undefined) => Promise; + /** + * Acquires a master client lease for exclusive operations + * + * Used when multiple commands need to run on an exclusive client (for example, using `WATCH/MULTI/EXEC`). + * The returned client must be released after use with the `release()` method. + * + * @returns A promise that resolves to a Redis client connected to the master node + * @example + * ```javascript + * const clientLease = await sentinel.acquire(); + * + * try { + * await clientLease.watch('key'); + * const resp = await clientLease.multi() + * .get('key') + * .exec(); + * } finally { + * clientLease.release(); + * } + * ``` + */ + acquire(): Promise>; + getSentinelNode(): RedisNode | undefined; + getMasterNode(): RedisNode | undefined; + getReplicaNodes(): Map; + setTracer(tracer?: Array): void; +} +declare class RedisSentinelInternal extends EventEmitter { + #private; + get isOpen(): boolean; + get isReady(): boolean; + get useReplicas(): boolean; + get clientSideCache(): PooledClientSideCacheProvider | undefined; + constructor(options: RedisSentinelOptions); + /** + * Gets a client lease from the master client pool + * + * @returns A client info object or a promise that resolves to a client info object + * when a client becomes available + */ + getClientLease(): Promise; + /** + * Releases a client lease back to the pool + * + * If the client was used for a transaction that might have left it in a dirty state, + * it will be reset before being returned to the pool. + * + * @param clientInfo The client info object representing the client to release + * @returns A promise that resolves when the client is ready to be reused, or undefined + * if the client was immediately ready or no longer exists + */ + releaseClientLease(clientInfo: ClientInfo): Promise | undefined; + connect(): Promise; + execute(fn: (client: RedisClientType) => Promise, clientInfo?: ClientInfo): Promise; + close(): Promise; + destroy(): Promise; + subscribe(channels: string | Array, listener: PubSubListener, bufferMode?: T): Promise; + unsubscribe(channels?: string | Array, listener?: PubSubListener, bufferMode?: T): Promise; + pSubscribe(patterns: string | Array, listener: PubSubListener, bufferMode?: T): Promise; + pUnsubscribe(patterns?: string | Array, listener?: PubSubListener, bufferMode?: T): Promise; + observe(): Promise<{ + sentinelConnected: RedisNode; + sentinelData: { + [x: string]: string; + }[]; + masterData: { + [x: string]: string; + }; + replicaData: { + [x: string]: string; + }[]; + currentMaster: RedisNode | undefined; + currentReplicas: Map; + currentSentinel: RedisNode | undefined; + replicaPoolSize: number; + useReplicas: boolean; + }>; + analyze(observed: Awaited["observe"]>>): { + sentinelList: RedisNode[]; + epoch: number; + sentinelToOpen: RedisNode | undefined; + masterToOpen: RedisNode | undefined; + replicasToClose: RedisNode[]; + replicasToOpen: Map; + }; + transform(analyzed: ReturnType["analyze"]>): Promise; + getMasterNode(): RedisNode | undefined; + getSentinelNode(): RedisNode | undefined; + getReplicaNodes(): Map; + setTracer(tracer?: Array): void; +} +export declare class RedisSentinelFactory extends EventEmitter { + #private; + options: RedisSentinelOptions; + constructor(options: RedisSentinelOptions); + updateSentinelRootNodes(): Promise; + getMasterNode(): Promise; + getMasterClient(): Promise>; + getReplicaNodes(): Promise; + getReplicaClient(): Promise>; +} +export {}; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/index.d.ts.map b/back/node_modules/@redis/client/dist/lib/sentinel/index.d.ts.map new file mode 100644 index 0000000..9355e02 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/sentinel/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/index.js b/back/node_modules/@redis/client/dist/lib/sentinel/index.js new file mode 100644 index 0000000..af89107 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/index.js @@ -0,0 +1,1184 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.RedisSentinelFactory = exports.RedisSentinelClient = void 0; +const node_events_1 = require("node:events"); +const client_1 = __importDefault(require("../client")); +const commander_1 = require("../commander"); +const commands_1 = require("../commands"); +const utils_1 = require("./utils"); +const multi_commands_1 = __importDefault(require("./multi-commands")); +const pub_sub_proxy_1 = require("./pub-sub-proxy"); +const promises_1 = require("node:timers/promises"); +const module_1 = __importDefault(require("./module")); +const wait_queue_1 = require("./wait-queue"); +const cache_1 = require("../client/cache"); +class RedisSentinelClient { + #clientInfo; + #internal; + _self; + /** + * Indicates if the client connection is open + * + * @returns `true` if the client connection is open, `false` otherwise + */ + get isOpen() { + return this._self.#internal.isOpen; + } + /** + * Indicates if the client connection is ready to accept commands + * + * @returns `true` if the client connection is ready, `false` otherwise + */ + get isReady() { + return this._self.#internal.isReady; + } + /** + * Gets the command options configured for this client + * + * @returns The command options for this client or `undefined` if none were set + */ + get commandOptions() { + return this._self.#commandOptions; + } + #commandOptions; + constructor(internal, clientInfo, commandOptions) { + this._self = this; + this.#internal = internal; + this.#clientInfo = clientInfo; + this.#commandOptions = commandOptions; + } + static factory(config) { + const SentinelClient = (0, commander_1.attachConfig)({ + BaseClass: RedisSentinelClient, + commands: commands_1.NON_STICKY_COMMANDS, + createCommand: (utils_1.createCommand), + createModuleCommand: (utils_1.createModuleCommand), + createFunctionCommand: (utils_1.createFunctionCommand), + createScriptCommand: (utils_1.createScriptCommand), + config + }); + SentinelClient.prototype.Multi = multi_commands_1.default.extend(config); + return (internal, clientInfo, commandOptions) => { + // returning a "proxy" to prevent the namespaces._self to leak between "proxies" + return Object.create(new SentinelClient(internal, clientInfo, commandOptions)); + }; + } + static create(options, internal, clientInfo, commandOptions) { + return RedisSentinelClient.factory(options)(internal, clientInfo, commandOptions); + } + withCommandOptions(options) { + const proxy = Object.create(this); + proxy._commandOptions = options; + return proxy; + } + _commandOptionsProxy(key, value) { + const proxy = Object.create(this); + proxy._commandOptions = Object.create(this._self.#commandOptions ?? null); + proxy._commandOptions[key] = value; + return proxy; + } + /** + * Override the `typeMapping` command option + */ + withTypeMapping(typeMapping) { + return this._commandOptionsProxy('typeMapping', typeMapping); + } + async _execute(isReadonly, fn) { + if (this._self.#clientInfo === undefined) { + throw new Error("Attempted execution on released RedisSentinelClient lease"); + } + return await this._self.#internal.execute(fn, this._self.#clientInfo); + } + async sendCommand(isReadonly, args, options) { + return this._execute(isReadonly, client => client.sendCommand(args, options)); + } + /** + * @internal + */ + async _executePipeline(isReadonly, commands) { + return this._execute(isReadonly, client => client._executePipeline(commands)); + } + /**f + * @internal + */ + async _executeMulti(isReadonly, commands) { + return this._execute(isReadonly, client => client._executeMulti(commands)); + } + MULTI() { + return new this.Multi(this); + } + multi = this.MULTI; + WATCH(key) { + if (this._self.#clientInfo === undefined) { + throw new Error("Attempted execution on released RedisSentinelClient lease"); + } + return this._execute(false, client => client.watch(key)); + } + watch = this.WATCH; + UNWATCH() { + if (this._self.#clientInfo === undefined) { + throw new Error('Attempted execution on released RedisSentinelClient lease'); + } + return this._execute(false, client => client.unwatch()); + } + unwatch = this.UNWATCH; + /** + * Releases the client lease back to the pool + * + * After calling this method, the client instance should no longer be used as it + * will be returned to the client pool and may be given to other operations. + * + * @returns A promise that resolves when the client is ready to be reused, or undefined + * if the client was immediately ready + * @throws Error if the lease has already been released + */ + release() { + if (this._self.#clientInfo === undefined) { + throw new Error('RedisSentinelClient lease already released'); + } + const result = this._self.#internal.releaseClientLease(this._self.#clientInfo); + this._self.#clientInfo = undefined; + return result; + } +} +exports.RedisSentinelClient = RedisSentinelClient; +class RedisSentinel extends node_events_1.EventEmitter { + _self; + #internal; + #options; + /** + * Indicates if the sentinel connection is open + * + * @returns `true` if the sentinel connection is open, `false` otherwise + */ + get isOpen() { + return this._self.#internal.isOpen; + } + /** + * Indicates if the sentinel connection is ready to accept commands + * + * @returns `true` if the sentinel connection is ready, `false` otherwise + */ + get isReady() { + return this._self.#internal.isReady; + } + get commandOptions() { + return this._self.#commandOptions; + } + #commandOptions; + #trace = () => { }; + #reservedClientInfo; + #masterClientCount = 0; + #masterClientInfo; + get clientSideCache() { + return this._self.#internal.clientSideCache; + } + constructor(options) { + super(); + this._self = this; + this.#options = options; + if (options.commandOptions) { + this.#commandOptions = options.commandOptions; + } + this.#internal = new RedisSentinelInternal(options); + this.#internal.on('error', err => this.emit('error', err)); + /* pass through underling events */ + /* TODO: perhaps make this a struct and one vent, instead of multiple events */ + this.#internal.on('topology-change', (event) => { + if (!this.emit('topology-change', event)) { + this._self.#trace(`RedisSentinel: re-emit for topology-change for ${event.type} event returned false`); + } + }); + } + static factory(config) { + const Sentinel = (0, commander_1.attachConfig)({ + BaseClass: RedisSentinel, + commands: commands_1.NON_STICKY_COMMANDS, + createCommand: (utils_1.createCommand), + createModuleCommand: (utils_1.createModuleCommand), + createFunctionCommand: (utils_1.createFunctionCommand), + createScriptCommand: (utils_1.createScriptCommand), + config + }); + Sentinel.prototype.Multi = multi_commands_1.default.extend(config); + return (options) => { + // returning a "proxy" to prevent the namespaces.self to leak between "proxies" + return Object.create(new Sentinel(options)); + }; + } + static create(options) { + return RedisSentinel.factory(options)(options); + } + withCommandOptions(options) { + const proxy = Object.create(this); + proxy._commandOptions = options; + return proxy; + } + _commandOptionsProxy(key, value) { + const proxy = Object.create(this); + // Create new commandOptions object with the inherited properties + proxy._self.#commandOptions = { + ...(this._self.#commandOptions || {}), + [key]: value + }; + return proxy; + } + /** + * Override the `typeMapping` command option + */ + withTypeMapping(typeMapping) { + return this._commandOptionsProxy('typeMapping', typeMapping); + } + async connect() { + await this._self.#internal.connect(); + if (this._self.#options.reserveClient) { + this._self.#reservedClientInfo = await this._self.#internal.getClientLease(); + } + return this; + } + async _execute(isReadonly, fn) { + let clientInfo; + if (!isReadonly || !this._self.#internal.useReplicas) { + if (this._self.#reservedClientInfo) { + clientInfo = this._self.#reservedClientInfo; + } + else { + this._self.#masterClientInfo ??= await this._self.#internal.getClientLease(); + clientInfo = this._self.#masterClientInfo; + this._self.#masterClientCount++; + } + } + try { + return await this._self.#internal.execute(fn, clientInfo); + } + finally { + if (clientInfo !== undefined && + clientInfo === this._self.#masterClientInfo && + --this._self.#masterClientCount === 0) { + const promise = this._self.#internal.releaseClientLease(clientInfo); + this._self.#masterClientInfo = undefined; + if (promise) + await promise; + } + } + } + async use(fn) { + const clientInfo = await this._self.#internal.getClientLease(); + try { + return await fn(RedisSentinelClient.create(this._self.#options, this._self.#internal, clientInfo, this._self.#commandOptions)); + } + finally { + const promise = this._self.#internal.releaseClientLease(clientInfo); + if (promise) + await promise; + } + } + async sendCommand(isReadonly, args, options) { + return this._execute(isReadonly, client => client.sendCommand(args, options)); + } + /** + * @internal + */ + async _executePipeline(isReadonly, commands) { + return this._execute(isReadonly, client => client._executePipeline(commands)); + } + /**f + * @internal + */ + async _executeMulti(isReadonly, commands) { + return this._execute(isReadonly, client => client._executeMulti(commands)); + } + MULTI() { + return new this.Multi(this); + } + multi = this.MULTI; + async close() { + return this._self.#internal.close(); + } + destroy() { + return this._self.#internal.destroy(); + } + async SUBSCRIBE(channels, listener, bufferMode) { + return this._self.#internal.subscribe(channels, listener, bufferMode); + } + subscribe = this.SUBSCRIBE; + async UNSUBSCRIBE(channels, listener, bufferMode) { + return this._self.#internal.unsubscribe(channels, listener, bufferMode); + } + unsubscribe = this.UNSUBSCRIBE; + async PSUBSCRIBE(patterns, listener, bufferMode) { + return this._self.#internal.pSubscribe(patterns, listener, bufferMode); + } + pSubscribe = this.PSUBSCRIBE; + async PUNSUBSCRIBE(patterns, listener, bufferMode) { + return this._self.#internal.pUnsubscribe(patterns, listener, bufferMode); + } + pUnsubscribe = this.PUNSUBSCRIBE; + /** + * Acquires a master client lease for exclusive operations + * + * Used when multiple commands need to run on an exclusive client (for example, using `WATCH/MULTI/EXEC`). + * The returned client must be released after use with the `release()` method. + * + * @returns A promise that resolves to a Redis client connected to the master node + * @example + * ```javascript + * const clientLease = await sentinel.acquire(); + * + * try { + * await clientLease.watch('key'); + * const resp = await clientLease.multi() + * .get('key') + * .exec(); + * } finally { + * clientLease.release(); + * } + * ``` + */ + async acquire() { + const clientInfo = await this._self.#internal.getClientLease(); + return RedisSentinelClient.create(this._self.#options, this._self.#internal, clientInfo, this._self.#commandOptions); + } + getSentinelNode() { + return this._self.#internal.getSentinelNode(); + } + getMasterNode() { + return this._self.#internal.getMasterNode(); + } + getReplicaNodes() { + return this._self.#internal.getReplicaNodes(); + } + setTracer(tracer) { + if (tracer) { + this._self.#trace = (msg) => { tracer.push(msg); }; + } + else { + this._self.#trace = () => { }; + } + this._self.#internal.setTracer(tracer); + } +} +exports.default = RedisSentinel; +class RedisSentinelInternal extends node_events_1.EventEmitter { + #isOpen = false; + get isOpen() { + return this.#isOpen; + } + #isReady = false; + get isReady() { + return this.#isReady; + } + #name; + #nodeClientOptions; + #sentinelClientOptions; + #nodeAddressMap; + #scanInterval; + #passthroughClientErrorEvents; + #RESP; + #anotherReset = false; + #configEpoch = 0; + #sentinelRootNodes; + #sentinelClient; + #masterClients = []; + #masterClientQueue; + #masterPoolSize; + #replicaClients = []; + #replicaClientsIdx = 0; + #replicaPoolSize; + get useReplicas() { + return this.#replicaPoolSize > 0; + } + #connectPromise; + #maxCommandRediscovers; + #pubSubProxy; + #scanTimer; + #destroy = false; + #trace = () => { }; + #clientSideCache; + get clientSideCache() { + return this.#clientSideCache; + } + #validateOptions(options) { + if (options?.clientSideCache && options?.RESP !== 3) { + throw new Error('Client Side Caching is only supported with RESP3'); + } + } + constructor(options) { + super(); + this.#validateOptions(options); + this.#name = options.name; + this.#RESP = options.RESP; + this.#sentinelRootNodes = Array.from(options.sentinelRootNodes); + this.#maxCommandRediscovers = options.maxCommandRediscovers ?? 16; + this.#masterPoolSize = options.masterPoolSize ?? 1; + this.#replicaPoolSize = options.replicaPoolSize ?? 0; + this.#nodeAddressMap = options.nodeAddressMap; + this.#scanInterval = options.scanInterval ?? 0; + this.#passthroughClientErrorEvents = options.passthroughClientErrorEvents ?? false; + this.#nodeClientOptions = (options.nodeClientOptions ? { ...options.nodeClientOptions } : {}); + if (this.#nodeClientOptions.url !== undefined) { + throw new Error("invalid nodeClientOptions for Sentinel"); + } + if (options.clientSideCache) { + if (options.clientSideCache instanceof cache_1.PooledClientSideCacheProvider) { + this.#clientSideCache = this.#nodeClientOptions.clientSideCache = options.clientSideCache; + } + else { + const cscConfig = options.clientSideCache; + this.#clientSideCache = this.#nodeClientOptions.clientSideCache = new cache_1.BasicPooledClientSideCache(cscConfig); + // this.#clientSideCache = this.#nodeClientOptions.clientSideCache = new PooledNoRedirectClientSideCache(cscConfig); + } + } + this.#sentinelClientOptions = options.sentinelClientOptions ? Object.assign({}, options.sentinelClientOptions) : {}; + this.#sentinelClientOptions.modules = module_1.default; + if (this.#sentinelClientOptions.url !== undefined) { + throw new Error("invalid sentinelClientOptions for Sentinel"); + } + this.#masterClientQueue = new wait_queue_1.WaitQueue(); + for (let i = 0; i < this.#masterPoolSize; i++) { + this.#masterClientQueue.push(i); + } + /* persistent object for life of sentinel object */ + this.#pubSubProxy = new pub_sub_proxy_1.PubSubProxy(this.#nodeClientOptions, err => this.emit('error', err)); + } + #createClient(node, clientOptions, reconnectStrategy) { + const socket = (0, utils_1.getMappedNode)(node.host, node.port, this.#nodeAddressMap); + return client_1.default.create({ + //first take the globally set RESP + RESP: this.#RESP, + //then take the client options, which can in theory overwrite it + ...clientOptions, + socket: { + ...clientOptions.socket, + host: socket.host, + port: socket.port, + ...(reconnectStrategy !== undefined && { reconnectStrategy }) + } + }); + } + /** + * Gets a client lease from the master client pool + * + * @returns A client info object or a promise that resolves to a client info object + * when a client becomes available + */ + getClientLease() { + const id = this.#masterClientQueue.shift(); + if (id !== undefined) { + return Promise.resolve({ id }); + } + return this.#masterClientQueue.wait().then(id => ({ id })); + } + /** + * Releases a client lease back to the pool + * + * If the client was used for a transaction that might have left it in a dirty state, + * it will be reset before being returned to the pool. + * + * @param clientInfo The client info object representing the client to release + * @returns A promise that resolves when the client is ready to be reused, or undefined + * if the client was immediately ready or no longer exists + */ + releaseClientLease(clientInfo) { + const client = this.#masterClients[clientInfo.id]; + // client can be undefined if releasing in middle of a reconfigure + if (client !== undefined) { + const dirtyPromise = client.resetIfDirty(); + if (dirtyPromise) { + return dirtyPromise + .then(() => this.#masterClientQueue.push(clientInfo.id)); + } + } + this.#masterClientQueue.push(clientInfo.id); + } + async connect() { + if (this.#isOpen) { + throw new Error("already attempting to open"); + } + try { + this.#isOpen = true; + this.#connectPromise = this.#connect(); + await this.#connectPromise; + this.#isReady = true; + } + finally { + this.#connectPromise = undefined; + if (this.#scanInterval > 0) { + this.#scanTimer = setInterval(this.#reset.bind(this), this.#scanInterval); + } + } + } + async #connect() { + let count = 0; + while (true) { + this.#trace("starting connect loop"); + count += 1; + if (this.#destroy) { + this.#trace("in #connect and want to destroy"); + return; + } + try { + this.#anotherReset = false; + await this.transform(this.analyze(await this.observe())); + if (this.#anotherReset) { + this.#trace("#connect: anotherReset is true, so continuing"); + continue; + } + this.#trace("#connect: returning"); + return; + } + catch (e) { + this.#trace(`#connect: exception ${e.message}`); + if (!this.#isReady && count > this.#maxCommandRediscovers) { + throw e; + } + if (e.message !== 'no valid master node') { + console.log(e); + } + await (0, promises_1.setTimeout)(1000); + } + finally { + this.#trace("finished connect"); + } + } + } + async execute(fn, clientInfo) { + let iter = 0; + while (true) { + if (this.#connectPromise !== undefined) { + await this.#connectPromise; + } + const client = this.#getClient(clientInfo); + if (!client.isReady) { + await this.#reset(); + continue; + } + const sockOpts = client.options?.socket; + this.#trace("attemping to send command to " + sockOpts?.host + ":" + sockOpts?.port); + try { + /* + // force testing of READONLY errors + if (clientInfo !== undefined) { + if (Math.floor(Math.random() * 10) < 1) { + console.log("throwing READONLY error"); + throw new Error("READONLY You can't write against a read only replica."); + } + } + */ + return await fn(client); + } + catch (err) { + if (++iter > this.#maxCommandRediscovers || !(err instanceof Error)) { + throw err; + } + /* + rediscover and retry if doing a command against a "master" + a) READONLY error (topology has changed) but we haven't been notified yet via pubsub + b) client is "not ready" (disconnected), which means topology might have changed, but sentinel might not see it yet + */ + if (clientInfo !== undefined && (err.message.startsWith('READONLY') || !client.isReady)) { + await this.#reset(); + continue; + } + throw err; + } + } + } + async #createPubSub(client) { + /* Whenever sentinels or slaves get added, or when slave configuration changes, reconfigure */ + await client.pSubscribe(['switch-master', '[-+]sdown', '+slave', '+sentinel', '[-+]odown', '+slave-reconf-done'], (message, channel) => { + this.#handlePubSubControlChannel(channel, message); + }, true); + return client; + } + async #handlePubSubControlChannel(channel, message) { + this.#trace("pubsub control channel message on " + channel); + this.#reset(); + } + // if clientInfo is defined, it corresponds to a master client in the #masterClients array, otherwise loop around replicaClients + #getClient(clientInfo) { + if (clientInfo !== undefined) { + return this.#masterClients[clientInfo.id]; + } + if (this.#replicaClientsIdx >= this.#replicaClients.length) { + this.#replicaClientsIdx = 0; + } + if (this.#replicaClients.length == 0) { + throw new Error("no replicas available for read"); + } + return this.#replicaClients[this.#replicaClientsIdx++]; + } + async #reset() { + /* closing / don't reset */ + if (this.#isReady == false || this.#destroy == true) { + return; + } + // already in #connect() + if (this.#connectPromise !== undefined) { + this.#anotherReset = true; + return await this.#connectPromise; + } + try { + this.#connectPromise = this.#connect(); + return await this.#connectPromise; + } + finally { + this.#trace("finished reconfgure"); + this.#connectPromise = undefined; + } + } + #handleSentinelFailure(node) { + const found = this.#sentinelRootNodes.findIndex((rootNode) => rootNode.host === node.host && rootNode.port === node.port); + if (found !== -1) { + this.#sentinelRootNodes.splice(found, 1); + } + this.#reset(); + } + async close() { + this.#destroy = true; + if (this.#connectPromise != undefined) { + await this.#connectPromise; + } + this.#isReady = false; + this.#clientSideCache?.onPoolClose(); + if (this.#scanTimer) { + clearInterval(this.#scanTimer); + this.#scanTimer = undefined; + } + const promises = []; + if (this.#sentinelClient !== undefined) { + if (this.#sentinelClient.isOpen) { + promises.push(this.#sentinelClient.close()); + } + this.#sentinelClient = undefined; + } + for (const client of this.#masterClients) { + if (client.isOpen) { + promises.push(client.close()); + } + } + this.#masterClients = []; + for (const client of this.#replicaClients) { + if (client.isOpen) { + promises.push(client.close()); + } + } + this.#replicaClients = []; + await Promise.all(promises); + this.#pubSubProxy.destroy(); + this.#isOpen = false; + } + // destroy has to be async because its stopping others async events, timers and the like + // and shouldn't return until its finished. + async destroy() { + this.#destroy = true; + if (this.#connectPromise != undefined) { + await this.#connectPromise; + } + this.#isReady = false; + this.#clientSideCache?.onPoolClose(); + if (this.#scanTimer) { + clearInterval(this.#scanTimer); + this.#scanTimer = undefined; + } + if (this.#sentinelClient !== undefined) { + if (this.#sentinelClient.isOpen) { + this.#sentinelClient.destroy(); + } + this.#sentinelClient = undefined; + } + for (const client of this.#masterClients) { + if (client.isOpen) { + client.destroy(); + } + } + this.#masterClients = []; + for (const client of this.#replicaClients) { + if (client.isOpen) { + client.destroy(); + } + } + this.#replicaClients = []; + this.#pubSubProxy.destroy(); + this.#isOpen = false; + this.#destroy = false; + } + async subscribe(channels, listener, bufferMode) { + return this.#pubSubProxy.subscribe(channels, listener, bufferMode); + } + async unsubscribe(channels, listener, bufferMode) { + return this.#pubSubProxy.unsubscribe(channels, listener, bufferMode); + } + async pSubscribe(patterns, listener, bufferMode) { + return this.#pubSubProxy.pSubscribe(patterns, listener, bufferMode); + } + async pUnsubscribe(patterns, listener, bufferMode) { + return this.#pubSubProxy.pUnsubscribe(patterns, listener, bufferMode); + } + // observe/analyze/transform remediation functions + async observe() { + for (const node of this.#sentinelRootNodes) { + let client; + try { + this.#trace(`observe: trying to connect to sentinel: ${node.host}:${node.port}`); + client = this.#createClient(node, this.#sentinelClientOptions, false); + client.on('error', (err) => this.emit('error', `obseve client error: ${err}`)); + await client.connect(); + this.#trace(`observe: connected to sentinel`); + const [sentinelData, masterData, replicaData] = await Promise.all([ + client.sentinel.sentinelSentinels(this.#name), + client.sentinel.sentinelMaster(this.#name), + client.sentinel.sentinelReplicas(this.#name) + ]); + this.#trace("observe: got all sentinel data"); + const ret = { + sentinelConnected: node, + sentinelData: sentinelData, + masterData: masterData, + replicaData: replicaData, + currentMaster: this.getMasterNode(), + currentReplicas: this.getReplicaNodes(), + currentSentinel: this.getSentinelNode(), + replicaPoolSize: this.#replicaPoolSize, + useReplicas: this.useReplicas + }; + return ret; + } + catch (err) { + this.#trace(`observe: error ${err}`); + this.emit('error', err); + } + finally { + if (client !== undefined && client.isOpen) { + this.#trace(`observe: destroying sentinel client`); + client.destroy(); + } + } + } + this.#trace(`observe: none of the sentinels are available`); + throw new Error('None of the sentinels are available'); + } + analyze(observed) { + let master = (0, utils_1.parseNode)(observed.masterData); + if (master === undefined) { + this.#trace(`analyze: no valid master node because ${observed.masterData.flags}`); + throw new Error("no valid master node"); + } + if (master.host === observed.currentMaster?.host && master.port === observed.currentMaster?.port) { + this.#trace(`analyze: master node hasn't changed from ${observed.currentMaster?.host}:${observed.currentMaster?.port}`); + master = undefined; + } + else { + this.#trace(`analyze: master node has changed to ${master.host}:${master.port} from ${observed.currentMaster?.host}:${observed.currentMaster?.port}`); + } + let sentinel = observed.sentinelConnected; + if (sentinel.host === observed.currentSentinel?.host && sentinel.port === observed.currentSentinel.port) { + this.#trace(`analyze: sentinel node hasn't changed`); + sentinel = undefined; + } + else { + this.#trace(`analyze: sentinel node has changed to ${sentinel.host}:${sentinel.port}`); + } + const replicasToClose = []; + const replicasToOpen = new Map(); + const desiredSet = new Set(); + const seen = new Set(); + if (observed.useReplicas) { + const replicaList = (0, utils_1.createNodeList)(observed.replicaData); + for (const node of replicaList) { + desiredSet.add(JSON.stringify(node)); + } + for (const [node, value] of observed.currentReplicas) { + if (!desiredSet.has(JSON.stringify(node))) { + replicasToClose.push(node); + this.#trace(`analyze: adding ${node.host}:${node.port} to replicsToClose`); + } + else { + seen.add(JSON.stringify(node)); + if (value != observed.replicaPoolSize) { + replicasToOpen.set(node, observed.replicaPoolSize - value); + this.#trace(`analyze: adding ${node.host}:${node.port} to replicsToOpen`); + } + } + } + for (const node of replicaList) { + if (!seen.has(JSON.stringify(node))) { + replicasToOpen.set(node, observed.replicaPoolSize); + this.#trace(`analyze: adding ${node.host}:${node.port} to replicsToOpen`); + } + } + } + const ret = { + sentinelList: [observed.sentinelConnected].concat((0, utils_1.createNodeList)(observed.sentinelData)), + epoch: Number(observed.masterData['config-epoch']), + sentinelToOpen: sentinel, + masterToOpen: master, + replicasToClose: replicasToClose, + replicasToOpen: replicasToOpen, + }; + return ret; + } + async transform(analyzed) { + this.#trace("transform: enter"); + let promises = []; + if (analyzed.sentinelToOpen) { + this.#trace(`transform: opening a new sentinel`); + if (this.#sentinelClient !== undefined && this.#sentinelClient.isOpen) { + this.#trace(`transform: destroying old sentinel as open`); + this.#sentinelClient.destroy(); + this.#sentinelClient = undefined; + } + else { + this.#trace(`transform: not destroying old sentinel as not open`); + } + this.#trace(`transform: creating new sentinel to ${analyzed.sentinelToOpen.host}:${analyzed.sentinelToOpen.port}`); + const node = analyzed.sentinelToOpen; + const client = this.#createClient(analyzed.sentinelToOpen, this.#sentinelClientOptions, false); + client.on('error', (err) => { + if (this.#passthroughClientErrorEvents) { + this.emit('error', new Error(`Sentinel Client (${node.host}:${node.port}): ${err.message}`, { cause: err })); + } + const event = { + type: 'SENTINEL', + node: (0, utils_1.clientSocketToNode)(client.options.socket), + error: err + }; + this.emit('client-error', event); + this.#handleSentinelFailure(node); + }) + .on('end', () => this.#handleSentinelFailure(node)); + this.#sentinelClient = client; + this.#trace(`transform: adding sentinel client connect() to promise list`); + const promise = this.#sentinelClient.connect().then((client) => { return this.#createPubSub(client); }); + promises.push(promise); + this.#trace(`created sentinel client to ${analyzed.sentinelToOpen.host}:${analyzed.sentinelToOpen.port}`); + const event = { + type: "SENTINEL_CHANGE", + node: analyzed.sentinelToOpen + }; + this.#trace(`transform: emiting topology-change event for sentinel_change`); + if (!this.emit('topology-change', event)) { + this.#trace(`transform: emit for topology-change for sentinel_change returned false`); + } + } + if (analyzed.masterToOpen) { + this.#trace(`transform: opening a new master`); + const masterPromises = []; + const masterWatches = []; + this.#trace(`transform: destroying old masters if open`); + for (const client of this.#masterClients) { + masterWatches.push(client.isWatching || client.isDirtyWatch); + if (client.isOpen) { + client.destroy(); + } + } + this.#masterClients = []; + this.#trace(`transform: creating all master clients and adding connect promises`); + for (let i = 0; i < this.#masterPoolSize; i++) { + const node = analyzed.masterToOpen; + const client = this.#createClient(analyzed.masterToOpen, this.#nodeClientOptions); + client.on('error', (err) => { + if (this.#passthroughClientErrorEvents) { + this.emit('error', new Error(`Master Client (${node.host}:${node.port}): ${err.message}`, { cause: err })); + } + const event = { + type: "MASTER", + node: (0, utils_1.clientSocketToNode)(client.options.socket), + error: err + }; + this.emit('client-error', event); + }); + if (masterWatches[i]) { + client.setDirtyWatch("sentinel config changed in middle of a WATCH Transaction"); + } + this.#masterClients.push(client); + masterPromises.push(client.connect()); + this.#trace(`created master client to ${analyzed.masterToOpen.host}:${analyzed.masterToOpen.port}`); + } + this.#trace(`transform: adding promise to change #pubSubProxy node`); + masterPromises.push(this.#pubSubProxy.changeNode(analyzed.masterToOpen)); + promises.push(...masterPromises); + const event = { + type: "MASTER_CHANGE", + node: analyzed.masterToOpen + }; + this.#trace(`transform: emiting topology-change event for master_change`); + if (!this.emit('topology-change', event)) { + this.#trace(`transform: emit for topology-change for master_change returned false`); + } + this.#configEpoch++; + } + const replicaCloseSet = new Set(); + for (const node of analyzed.replicasToClose) { + const str = JSON.stringify(node); + replicaCloseSet.add(str); + } + const newClientList = []; + const removedSet = new Set(); + for (const replica of this.#replicaClients) { + const node = (0, utils_1.clientSocketToNode)(replica.options.socket); + const str = JSON.stringify(node); + if (replicaCloseSet.has(str) || !replica.isOpen) { + if (replica.isOpen) { + const sockOpts = replica.options?.socket; + this.#trace(`destroying replica client to ${sockOpts?.host}:${sockOpts?.port}`); + replica.destroy(); + } + if (!removedSet.has(str)) { + const event = { + type: "REPLICA_REMOVE", + node: node + }; + this.emit('topology-change', event); + removedSet.add(str); + } + } + else { + newClientList.push(replica); + } + } + this.#replicaClients = newClientList; + if (analyzed.replicasToOpen.size != 0) { + for (const [node, size] of analyzed.replicasToOpen) { + for (let i = 0; i < size; i++) { + const client = this.#createClient(node, this.#nodeClientOptions); + client.on('error', (err) => { + if (this.#passthroughClientErrorEvents) { + this.emit('error', new Error(`Replica Client (${node.host}:${node.port}): ${err.message}`, { cause: err })); + } + const event = { + type: "REPLICA", + node: (0, utils_1.clientSocketToNode)(client.options.socket), + error: err + }; + this.emit('client-error', event); + }); + this.#replicaClients.push(client); + promises.push(client.connect()); + this.#trace(`created replica client to ${node.host}:${node.port}`); + } + const event = { + type: "REPLICA_ADD", + node: node + }; + this.emit('topology-change', event); + } + } + if (analyzed.sentinelList.length != this.#sentinelRootNodes.length) { + this.#sentinelRootNodes = analyzed.sentinelList; + const event = { + type: "SENTINE_LIST_CHANGE", + size: analyzed.sentinelList.length + }; + this.emit('topology-change', event); + } + await Promise.all(promises); + this.#trace("transform: exit"); + } + // introspection functions + getMasterNode() { + if (this.#masterClients.length == 0) { + return undefined; + } + for (const master of this.#masterClients) { + if (master.isReady) { + return (0, utils_1.clientSocketToNode)(master.options.socket); + } + } + return undefined; + } + getSentinelNode() { + if (this.#sentinelClient === undefined) { + return undefined; + } + return (0, utils_1.clientSocketToNode)(this.#sentinelClient.options.socket); + } + getReplicaNodes() { + const ret = new Map(); + const initialMap = new Map(); + for (const replica of this.#replicaClients) { + const node = (0, utils_1.clientSocketToNode)(replica.options.socket); + const hash = JSON.stringify(node); + if (replica.isReady) { + initialMap.set(hash, (initialMap.get(hash) ?? 0) + 1); + } + else { + if (!initialMap.has(hash)) { + initialMap.set(hash, 0); + } + } + } + for (const [key, value] of initialMap) { + ret.set(JSON.parse(key), value); + } + return ret; + } + setTracer(tracer) { + if (tracer) { + this.#trace = (msg) => { tracer.push(msg); }; + } + else { + // empty function is faster than testing if something is defined or not + this.#trace = () => { }; + } + } +} +class RedisSentinelFactory extends node_events_1.EventEmitter { + options; + #sentinelRootNodes; + #replicaIdx = -1; + constructor(options) { + super(); + this.options = options; + this.#sentinelRootNodes = options.sentinelRootNodes; + } + async updateSentinelRootNodes() { + for (const node of this.#sentinelRootNodes) { + const client = client_1.default.create({ + ...this.options.sentinelClientOptions, + socket: { + ...this.options.sentinelClientOptions?.socket, + host: node.host, + port: node.port, + reconnectStrategy: false + }, + modules: module_1.default + }).on('error', (err) => this.emit(`updateSentinelRootNodes: ${err}`)); + try { + await client.connect(); + } + catch { + if (client.isOpen) { + client.destroy(); + } + continue; + } + try { + const sentinelData = await client.sentinel.sentinelSentinels(this.options.name); + this.#sentinelRootNodes = [node].concat((0, utils_1.createNodeList)(sentinelData)); + return; + } + finally { + client.destroy(); + } + } + throw new Error("Couldn't connect to any sentinel node"); + } + async getMasterNode() { + let connected = false; + for (const node of this.#sentinelRootNodes) { + const client = client_1.default.create({ + ...this.options.sentinelClientOptions, + socket: { + ...this.options.sentinelClientOptions?.socket, + host: node.host, + port: node.port, + reconnectStrategy: false + }, + modules: module_1.default + }).on('error', err => this.emit(`getMasterNode: ${err}`)); + try { + await client.connect(); + } + catch { + if (client.isOpen) { + client.destroy(); + } + continue; + } + connected = true; + try { + const masterData = await client.sentinel.sentinelMaster(this.options.name); + let master = (0, utils_1.parseNode)(masterData); + if (master === undefined) { + continue; + } + return master; + } + finally { + client.destroy(); + } + } + if (connected) { + throw new Error("Master Node Not Enumerated"); + } + throw new Error("couldn't connect to any sentinels"); + } + async getMasterClient() { + const master = await this.getMasterNode(); + const socket = (0, utils_1.getMappedNode)(master.host, master.port, this.options.nodeAddressMap); + return client_1.default.create({ + ...this.options.nodeClientOptions, + socket: { + ...this.options.nodeClientOptions?.socket, + host: socket.host, + port: socket.port + } + }); + } + async getReplicaNodes() { + let connected = false; + for (const node of this.#sentinelRootNodes) { + const client = client_1.default.create({ + ...this.options.sentinelClientOptions, + socket: { + ...this.options.sentinelClientOptions?.socket, + host: node.host, + port: node.port, + reconnectStrategy: false + }, + modules: module_1.default + }).on('error', err => this.emit(`getReplicaNodes: ${err}`)); + try { + await client.connect(); + } + catch { + if (client.isOpen) { + client.destroy(); + } + continue; + } + connected = true; + try { + const replicaData = await client.sentinel.sentinelReplicas(this.options.name); + const replicas = (0, utils_1.createNodeList)(replicaData); + if (replicas.length == 0) { + continue; + } + return replicas; + } + finally { + client.destroy(); + } + } + if (connected) { + throw new Error("No Replicas Nodes Enumerated"); + } + throw new Error("couldn't connect to any sentinels"); + } + async getReplicaClient() { + const replicas = await this.getReplicaNodes(); + if (replicas.length == 0) { + throw new Error("no available replicas"); + } + this.#replicaIdx++; + if (this.#replicaIdx >= replicas.length) { + this.#replicaIdx = 0; + } + const replica = replicas[this.#replicaIdx]; + const socket = (0, utils_1.getMappedNode)(replica.host, replica.port, this.options.nodeAddressMap); + return client_1.default.create({ + ...this.options.nodeClientOptions, + socket: { + ...this.options.nodeClientOptions?.socket, + host: socket.host, + port: socket.port + } + }); + } +} +exports.RedisSentinelFactory = RedisSentinelFactory; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/index.js.map b/back/node_modules/@redis/client/dist/lib/sentinel/index.js.map new file mode 100644 index 0000000..b176781 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/sentinel/index.ts"],"names":[],"mappings":";;;;;;AAAA,6CAA2C;AAE3C,uDAA6E;AAE7E,4CAA4C;AAC5C,0CAAkD;AAElD,mCAAuK;AAEvK,sEAA4F;AAE5F,mDAA8C;AAC9C,mDAAkD;AAClD,sDAA0C;AAE1C,6CAAyC;AAGzC,2CAA4F;AAM5F,MAAa,mBAAmB;IAO9B,WAAW,CAAyB;IACpC,SAAS,CAAqD;IACrD,KAAK,CAAmD;IAEjE;;;;OAIG;IAEH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;IACpC,CAAC;IAED,eAAe,CAAgC;IAE/C,YACE,QAA4D,EAC5D,UAAsB,EACtB,cAA6C;QAE7C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,OAAO,CAMZ,MAAuD;QACvD,MAAM,cAAc,GAAG,IAAA,wBAAY,EAAC;YAClC,SAAS,EAAE,mBAAmB;YAC9B,QAAQ,EAAE,8BAAmB;YAC7B,aAAa,EAAE,CAAA,qBAAkC,CAAA;YACjD,mBAAmB,EAAE,CAAA,2BAAiD,CAAA;YACtE,qBAAqB,EAAE,CAAA,6BAAmD,CAAA;YAC1E,mBAAmB,EAAE,CAAA,2BAAwC,CAAA;YAC7D,MAAM;SACP,CAAC,CAAC;QAEH,cAAc,CAAC,SAAS,CAAC,KAAK,GAAG,wBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE1E,OAAO,CACL,QAA4D,EAC5D,UAAsB,EACtB,cAA6C,EAC7C,EAAE;YACF,gFAAgF;YAChF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE,cAAc,CAAC,CAAyD,CAAC;QACzI,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,MAAM,CAOX,OAA0D,EAC1D,QAA4D,EAC5D,UAAsB,EACtB,cAA6C;QAE7C,OAAO,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IACpF,CAAC;IAED,kBAAkB,CAGhB,OAAgB;QAChB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC;QAChC,OAAO,KAMN,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAI1B,GAAM,EACN,KAAQ;QAER,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,KAAK,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC;QAC1E,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACnC,OAAO,KAMN,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,eAAe,CAAmC,WAAyB;QACzE,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,UAA+B,EAC/B,EAA8G;QAE9G,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,WAAW,CACf,UAA+B,EAC/B,IAAsB,EACtB,OAAwB;QAExB,OAAO,IAAI,CAAC,QAAQ,CAClB,UAAU,EACV,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAC5C,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CACpB,UAA+B,EAC/B,QAAwC;QAExC,OAAO,IAAI,CAAC,QAAQ,CAClB,UAAU,EACV,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAC5C,CAAC;IACJ,CAAC;IAED;;QAEI;IACJ,KAAK,CAAC,aAAa,CACjB,UAA+B,EAC/B,QAAwC;QAExC,OAAO,IAAI,CAAC,QAAQ,CAClB,UAAU,EACV,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CACzC,CAAC;IACJ,CAAC;IAED,KAAK;QACH,OAAO,IAAK,IAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAEnB,KAAK,CAAC,GAA0B;QAC9B,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAClB,KAAK,EACL,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAC5B,CAAA;IACH,CAAC;IAED,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAEnB,OAAO;QACL,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAClB,KAAK,EACL,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAC3B,CAAA;IACH,CAAC;IAED,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAEvB;;;;;;;;;OASG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC/E,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC;QACnC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA5OD,kDA4OC;AAED,MAAqB,aAMnB,SAAQ,0BAAY;IACX,KAAK,CAA6C;IAE3D,SAAS,CAAqD;IAC9D,QAAQ,CAAoD;IAE5D;;;;OAIG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;IACtC,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;IACpC,CAAC;IAED,eAAe,CAAgC;IAE/C,MAAM,GAA6B,GAAG,EAAE,GAAG,CAAC,CAAC;IAE7C,mBAAmB,CAAc;IACjC,kBAAkB,GAAG,CAAC,CAAC;IACvB,iBAAiB,CAAc;IAE/B,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC;IAC9C,CAAC;IAED,YAAY,OAA0D;QACpE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAExB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAqB,CAA8B,OAAO,CAAC,CAAC;QACjF,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAE3D,mCAAmC;QACnC,+EAA+E;QAC/E,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,KAAyB,EAAE,EAAE;YACjE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,kDAAkD,KAAK,CAAC,IAAI,uBAAuB,CAAC,CAAC;YACzG,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,OAAO,CAMZ,MAAuD;QACvD,MAAM,QAAQ,GAAG,IAAA,wBAAY,EAAC;YAC5B,SAAS,EAAE,aAAa;YACxB,QAAQ,EAAE,8BAAmB;YAC7B,aAAa,EAAE,CAAA,qBAA4B,CAAA;YAC3C,mBAAmB,EAAE,CAAA,2BAA2C,CAAA;YAChE,qBAAqB,EAAE,CAAA,6BAA6C,CAAA;YACpE,mBAAmB,EAAE,CAAA,2BAAkC,CAAA;YACvD,MAAM;SACP,CAAC,CAAC;QAEH,QAAQ,CAAC,SAAS,CAAC,KAAK,GAAG,wBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEpE,OAAO,CAAC,OAA4E,EAAE,EAAE;YACtF,+EAA+E;YAC/E,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAmD,CAAC;QAChG,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,MAAM,CAMX,OAA0D;QAC1D,OAAO,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,kBAAkB,CAGhB,OAAgB;QAChB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC;QAChC,OAAO,KAMN,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAI1B,GAAM,EACN,KAAQ;QAER,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,iEAAiE;QACjE,KAAK,CAAC,KAAK,CAAC,eAAe,GAAG;YAC5B,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC;YACrC,CAAC,GAAG,CAAC,EAAE,KAAK;SACb,CAAC;QACF,OAAO,KAMN,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,eAAe,CAAmC,WAAyB;QACzE,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAErC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;QAC/E,CAAC;QAED,OAAO,IAAiE,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,UAA+B,EAC/B,EAA8G;QAE9G,IAAI,UAAkC,CAAC;QACvC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YACrD,IAAI,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;gBACnC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,CAAC,iBAAiB,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;gBAC7E,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;gBAC1C,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAClC,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAC5D,CAAC;gBAAS,CAAC;YACT,IACE,UAAU,KAAK,SAAS;gBACxB,UAAU,KAAK,IAAI,CAAC,KAAK,CAAC,iBAAiB;gBAC3C,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,KAAK,CAAC,EACrC,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;gBACpE,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,SAAS,CAAC;gBACzC,IAAI,OAAO;oBAAE,MAAM,OAAO,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,EAAwF;QACnG,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;QAE/D,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CACb,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAC9G,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YACpE,IAAI,OAAO;gBAAE,MAAM,OAAO,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CACf,UAA+B,EAC/B,IAAsB,EACtB,OAAwB;QAExB,OAAO,IAAI,CAAC,QAAQ,CAClB,UAAU,EACV,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAC5C,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CACpB,UAA+B,EAC/B,QAAwC;QAExC,OAAO,IAAI,CAAC,QAAQ,CAClB,UAAU,EACV,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAC5C,CAAC;IACJ,CAAC;IAED;;QAEI;IACJ,KAAK,CAAC,aAAa,CACjB,UAA+B,EAC/B,QAAwC;QAExC,OAAO,IAAI,CAAC,QAAQ,CAClB,UAAU,EACV,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CACzC,CAAC;IACJ,CAAC;IAED,KAAK;QACH,OAAO,IAAK,IAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAEnB,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACtC,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,SAAS,CACb,QAAgC,EAChC,QAA2B,EAC3B,UAAc;QAEd,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACxE,CAAC;IAED,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IAE3B,KAAK,CAAC,WAAW,CACf,QAAiC,EACjC,QAAkC,EAClC,UAAc;QAEd,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC1E,CAAC;IAED,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IAE/B,KAAK,CAAC,UAAU,CACd,QAAgC,EAChC,QAA2B,EAC3B,UAAc;QAEd,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACzE,CAAC;IAED,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IAE7B,KAAK,CAAC,YAAY,CAChB,QAAiC,EACjC,QAA4B,EAC5B,UAAc;QAEd,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC3E,CAAC;IAED,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IAEjC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;QAC/D,OAAO,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACvH,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;IAChD,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;IAC9C,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;IAChD,CAAC;IAED,SAAS,CAAC,MAAsB;QAC9B,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;CACF;AAnVD,gCAmVC;AAED,MAAM,qBAMJ,SAAQ,0BAAY;IACpB,OAAO,GAAG,KAAK,CAAC;IAEhB,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,QAAQ,GAAG,KAAK,CAAC;IAEjB,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEQ,KAAK,CAAS;IACd,kBAAkB,CAAyE;IAC3F,sBAAsB,CAAiI;IACvJ,eAAe,CAAkB;IACjC,aAAa,CAAS;IACtB,6BAA6B,CAAU;IACvC,KAAK,CAAgB;IAE9B,aAAa,GAAG,KAAK,CAAC;IAEtB,YAAY,GAAW,CAAC,CAAC;IAEzB,kBAAkB,CAAmB;IACrC,eAAe,CAA0F;IAEzG,cAAc,GAAkG,EAAE,CAAC;IACnH,kBAAkB,CAAoB;IAC7B,eAAe,CAAS;IAEjC,eAAe,GAAkG,EAAE,CAAC;IACpH,kBAAkB,GAAW,CAAC,CAAC;IACtB,gBAAgB,CAAS;IAElC,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,eAAe,CAAiB;IAChC,sBAAsB,CAAS;IACtB,YAAY,CAAc;IAEnC,UAAU,CAAiB;IAE3B,QAAQ,GAAG,KAAK,CAAC;IAEjB,MAAM,GAA6B,GAAG,EAAE,GAAG,CAAC,CAAC;IAE7C,gBAAgB,CAAiC;IACjD,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,gBAAgB,CAAC,OAA2D;QAC1E,IAAI,OAAO,EAAE,eAAe,IAAI,OAAO,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,YAAY,OAA0D;QACpE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAE/B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;QAE1B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,IAAI,EAAE,CAAC;QAClE,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,eAAe,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;QAC9C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,6BAA6B,GAAG,OAAO,CAAC,4BAA4B,IAAI,KAAK,CAAC;QAEnF,IAAI,CAAC,kBAAkB,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAC,GAAG,OAAO,CAAC,iBAAiB,EAAC,CAAC,CAAC,CAAC,EAAE,CAA2E,CAAC;QACtK,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,eAAe,YAAY,qCAA6B,EAAE,CAAC;gBACrE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;YAC5F,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC;gBAC1C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,eAAe,GAAG,IAAI,kCAA0B,CAAC,SAAS,CAAC,CAAC;gBACpH,2HAA2H;YACrH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAqG,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvN,IAAI,CAAC,sBAAsB,CAAC,OAAO,GAAG,gBAAmB,CAAC;QAE1D,IAAI,IAAI,CAAC,sBAAsB,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,CAAC,kBAAkB,GAAG,IAAI,sBAAS,EAAE,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;QAED,mDAAmD;QACnD,IAAI,CAAC,YAAY,GAAG,IAAI,2BAAW,CACjC,IAAI,CAAC,kBAAkB,EACvB,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAC/B,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,IAAe,EAAE,aAAiC,EAAE,iBAAyB;QACzF,MAAM,MAAM,GAAG,IAAA,qBAAa,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACzE,OAAO,gBAAW,CAAC,MAAM,CAAC;YACxB,kCAAkC;YAClC,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,gEAAgE;YAChE,GAAG,aAAa;YAChB,MAAM,EAAE;gBACN,GAAG,aAAa,CAAC,MAAM;gBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,GAAG,CAAC,iBAAiB,KAAK,SAAS,IAAI,EAAE,iBAAiB,EAAE,CAAC;aAC9D;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,cAAc;QACZ,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAC3C,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;;;OASG;IACH,kBAAkB,CAAC,UAAsB;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAClD,kEAAkE;QAClE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;YAC3C,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,YAAY;qBAChB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC/C,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YAEpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,IAAI,CAAC,eAAe,CAAC;YAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YACjC,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;YAErC,KAAK,IAAE,CAAC,CAAC;YACT,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAA;gBAC9C,OAAO;YACT,CAAC;YACD,IAAI,CAAC;gBACH,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACzD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvB,IAAI,CAAC,MAAM,CAAC,+CAA+C,CAAC,CAAC;oBAC7D,SAAS;gBACX,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;gBACnC,OAAO;YACT,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBAChD,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAC1D,MAAM,CAAC,CAAC;gBACV,CAAC;gBAED,IAAI,CAAC,CAAC,OAAO,KAAK,sBAAsB,EAAE,CAAC;oBACzC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACjB,CAAC;gBACD,MAAM,IAAA,qBAAU,EAAC,IAAI,CAAC,CAAC;YACzB,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CACX,EAAkH,EAClH,UAAuB;QAEvB,IAAI,IAAI,GAAG,CAAC,CAAC;QAEb,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;gBACvC,MAAM,IAAI,CAAC,eAAe,CAAC;YAC7B,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAE3C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBACpB,SAAS;YACX,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,EAAE,MAAuC,CAAC;YACzE,IAAI,CAAC,MAAM,CAAC,+BAA+B,GAAG,QAAQ,EAAE,IAAI,GAAG,GAAG,GAAG,QAAQ,EAAE,IAAI,CAAC,CAAA;YAEpF,IAAI,CAAC;gBACH;;;;;;;;kBAQE;gBACF,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,sBAAsB,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,EAAE,CAAC;oBACpE,MAAM,GAAG,CAAC;gBACZ,CAAC;gBAED;;;;kBAIE;gBACF,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxF,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;oBACpB,SAAS;gBACX,CAAC;gBAED,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAA8F;QAChH,8FAA8F;QAC9F,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;YACrI,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,OAAe,EAAE,OAAe;QAChE,IAAI,CAAC,MAAM,CAAC,oCAAoC,GAAG,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,gIAAgI;IAChI,UAAU,CAAC,UAAuB;QAChC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;YAC3D,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,MAAM;QACV,2BAA2B;QAC3B,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;YACpD,OAAO;QACT,CAAC;QAED,wBAAwB;QACxB,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACvC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC;QACpC,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvC,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC;QACpC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;YACnC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACnC,CAAC;IACH,CAAC;IAED,sBAAsB,CAAC,IAAe;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAC3C,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAC3E,CAAC;QACF,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,IAAI,IAAI,CAAC,eAAe,IAAI,SAAS,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,eAAe,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAC;QAErC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC9B,CAAC;QAED,MAAM,QAAQ,GAAG,EAAE,CAAC;QAEpB,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;gBAChC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QAEzB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAE1B,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE5B,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAE5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,wFAAwF;IACxF,2CAA2C;IAC3C,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,IAAI,IAAI,CAAC,eAAe,IAAI,SAAS,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,eAAe,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAC;QAErC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC9B,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;gBAChC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YACjC,CAAC;YACD,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QAEzB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAE1B,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAE5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,SAAS,CACb,QAAgC,EAChC,QAA2B,EAC3B,UAAc;QAEd,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,WAAW,CACf,QAAiC,EACjC,QAAkC,EAClC,UAAc;QAEd,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,UAAU,CACd,QAAgC,EAChC,QAA2B,EAC3B,UAAc;QAEd,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,QAAiC,EACjC,QAA4B,EAC5B,UAAc;QAEd,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACxE,CAAC;IAED,kDAAkD;IAClD,KAAK,CAAC,OAAO;QACX,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC3C,IAAI,MAAyF,CAAC;YAC9F,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,2CAA2C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;gBAChF,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAqF,CAAC;gBAC1J,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC/E,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAA;gBAE7C,MAAM,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBAChE,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC7C,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC1C,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;iBAC7C,CAAC,CAAC;gBAEH,IAAI,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC;gBAE9C,MAAM,GAAG,GAAG;oBACV,iBAAiB,EAAE,IAAI;oBACvB,YAAY,EAAE,YAAY;oBAC1B,UAAU,EAAE,UAAU;oBACtB,WAAW,EAAE,WAAW;oBACxB,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE;oBACnC,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE;oBACvC,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE;oBACvC,eAAe,EAAE,IAAI,CAAC,gBAAgB;oBACtC,WAAW,EAAE,IAAI,CAAC,WAAW;iBAC9B,CAAA;gBAED,OAAO,GAAG,CAAC;YACb,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC;gBACrC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC1B,CAAC;oBAAS,CAAC;gBACT,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC1C,IAAI,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC;oBACnD,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,8CAA8C,CAAC,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,CAAC,QAA4F;QAClG,IAAI,MAAM,GAAG,IAAA,iBAAS,EAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,yCAAyC,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;YAClF,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,aAAa,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;YACjG,IAAI,CAAC,MAAM,CAAC,4CAA4C,QAAQ,CAAC,aAAa,EAAE,IAAI,IAAI,QAAQ,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YACxH,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,uCAAuC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,SAAS,QAAQ,CAAC,aAAa,EAAE,IAAI,IAAI,QAAQ,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACxJ,CAAC;QAED,IAAI,QAAQ,GAA0B,QAAQ,CAAC,iBAAiB,CAAC;QACjE,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,eAAe,EAAE,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;YACxG,IAAI,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC;YACrD,QAAQ,GAAG,SAAS,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,yCAAyC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACzF,CAAC;QAED,MAAM,eAAe,GAAqB,EAAE,CAAC;QAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAqB,CAAC;QAEpD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAE/B,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YACzB,MAAM,WAAW,GAAG,IAAA,sBAAc,EAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;YAExD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACvC,CAAC;YAED,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;gBACrD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBAC1C,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3B,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,oBAAoB,CAAC,CAAC;gBAC7E,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC/B,IAAI,KAAK,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;wBACtC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC;wBAC3D,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,mBAAmB,CAAC,CAAC;oBAC5E,CAAC;gBACH,CAAC;YACH,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBACpC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;oBACnD,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,mBAAmB,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG;YACV,YAAY,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,IAAA,sBAAc,EAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACxF,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAElD,cAAc,EAAE,QAAQ;YACxB,YAAY,EAAE,MAAM;YACpB,eAAe,EAAE,eAAe;YAChC,cAAc,EAAE,cAAc;SAC/B,CAAC;QAEF,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAmF;QACjG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAEhC,IAAI,QAAQ,GAAwB,EAAE,CAAC;QAEvC,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC;YACjD,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;gBACtE,IAAI,CAAC,MAAM,CAAC,4CAA4C,CAAC,CAAC;gBAC1D,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAA;gBAC9B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,oDAAoD,CAAC,CAAC;YACpE,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,uCAAuC,QAAQ,CAAC,cAAc,CAAC,IAAI,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;YACnH,MAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAC/F,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;gBAChC,IAAI,IAAI,CAAC,6BAA6B,EAAE,CAAC;oBACvC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC/G,CAAC;gBACD,MAAM,KAAK,GAAqB;oBAC9B,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,IAAA,0BAAkB,EAAC,MAAM,CAAC,OAAQ,CAAC,MAAO,CAAC;oBACjD,KAAK,EAAE,GAAG;iBACX,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC,CAAC;iBACD,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;YACpD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;YAE9B,IAAI,CAAC,MAAM,CAAC,6DAA6D,CAAC,CAAC;YAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;YACvG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEvB,IAAI,CAAC,MAAM,CAAC,8BAA8B,QAAQ,CAAC,cAAc,CAAC,IAAI,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1G,MAAM,KAAK,GAAuB;gBAChC,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ,CAAC,cAAc;aAC9B,CAAA;YACD,IAAI,CAAC,MAAM,CAAC,8DAA8D,CAAC,CAAC;YAC5E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,MAAM,CAAC,wEAAwE,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC;YAC/C,MAAM,cAAc,GAAG,EAAE,CAAC;YAC1B,MAAM,aAAa,GAAmB,EAAE,CAAC;YAEzC,IAAI,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC;YACzD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;gBAE7D,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClB,MAAM,CAAC,OAAO,EAAE,CAAA;gBAClB,CAAC;YACH,CAAC;YAED,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YAEzB,IAAI,CAAC,MAAM,CAAC,oEAAoE,CAAC,CAAC;YAClF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC;gBACnC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAClF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;oBAChC,IAAI,IAAI,CAAC,6BAA6B,EAAE,CAAC;wBACvC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,kBAAkB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC7G,CAAC;oBACD,MAAM,KAAK,GAAqB;wBAC9B,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,IAAA,0BAAkB,EAAC,MAAM,CAAC,OAAQ,CAAC,MAAO,CAAC;wBACjD,KAAK,EAAE,GAAG;qBACX,CAAC;oBACF,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;gBACnC,CAAC,CAAC,CAAC;gBAEH,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrB,MAAM,CAAC,aAAa,CAAC,0DAA0D,CAAC,CAAC;gBACnF,CAAC;gBACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACjC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBAEtC,IAAI,CAAC,MAAM,CAAC,4BAA4B,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;YACtG,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,uDAAuD,CAAC,CAAC;YACrE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;YACzE,QAAQ,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;YACjC,MAAM,KAAK,GAAuB;gBAChC,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,QAAQ,CAAC,YAAY;aAC5B,CAAA;YACD,IAAI,CAAC,MAAM,CAAC,4DAA4D,CAAC,CAAC;YAC1E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,MAAM,CAAC,sEAAsE,CAAC,CAAC;YACtF,CAAC;YACD,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;YAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACjC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAED,MAAM,aAAa,GAAkG,EAAE,CAAC;QACxH,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QAErC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,IAAA,0BAAkB,EAAC,OAAO,CAAC,OAAQ,CAAC,MAAO,CAAC,CAAC;YAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAEjC,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAChD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,MAAuC,CAAC;oBAC1E,IAAI,CAAC,MAAM,CAAC,gCAAgC,QAAQ,EAAE,IAAI,IAAI,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;oBAChF,OAAO,CAAC,OAAO,EAAE,CAAA;gBACnB,CAAC;gBACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,MAAM,KAAK,GAAuB;wBAChC,IAAI,EAAE,gBAAgB;wBACtB,IAAI,EAAE,IAAI;qBACX,CAAA;oBACD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;oBACpC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC;QAErC,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;YACtC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;gBACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;oBACjE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;wBAChC,IAAI,IAAI,CAAC,6BAA6B,EAAE,CAAC;4BACvC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;wBAC9G,CAAC;wBACD,MAAM,KAAK,GAAqB;4BAC9B,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE,IAAA,0BAAkB,EAAC,MAAM,CAAC,OAAQ,CAAC,MAAO,CAAC;4BACjD,KAAK,EAAE,GAAG;yBACX,CAAC;wBACF,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;oBAEH,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAClC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;oBAEhC,IAAI,CAAC,MAAM,CAAC,6BAA6B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrE,CAAC;gBACD,MAAM,KAAK,GAAuB;oBAChC,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,IAAI;iBACX,CAAA;gBACD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;YACnE,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,YAAY,CAAC;YAChD,MAAM,KAAK,GAAuB;gBAChC,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,MAAM;aACnC,CAAA;YACD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACjC,CAAC;IAED,0BAA0B;IAC1B,aAAa;QACX,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACpC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,IAAA,0BAAkB,EAAC,MAAM,CAAC,OAAQ,CAAC,MAAO,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAA,0BAAkB,EAAC,IAAI,CAAC,eAAe,CAAC,OAAQ,CAAC,MAAO,CAAC,CAAC;IACnE,CAAC;IAED,eAAe;QACb,MAAM,GAAG,GAAG,IAAI,GAAG,EAAqB,CAAC;QACzC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE7C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,IAAA,0BAAkB,EAAC,OAAO,CAAC,OAAQ,CAAC,MAAO,CAAC,CAAC;YAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAElC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1B,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;YACtC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAc,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,SAAS,CAAC,MAAsB;QAC9B,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,uEAAuE;YACvE,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;CACF;AAED,MAAa,oBAAqB,SAAQ,0BAAY;IACpD,OAAO,CAAuB;IAC9B,kBAAkB,CAAmB;IACrC,WAAW,GAAW,CAAC,CAAC,CAAC;IAEzB,YAAY,OAA6B;QACvC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,gBAAW,CAAC,MAAM,CAAC;gBAChC,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB;gBACrC,MAAM,EAAE;oBACN,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM;oBAC7C,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,iBAAiB,EAAE,KAAK;iBACzB;gBACD,OAAO,EAAE,gBAAmB;aAC7B,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClB,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,CAAC;gBACD,SAAS;YACX,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChF,IAAI,CAAC,kBAAkB,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAA,sBAAc,EAAC,YAAY,CAAC,CAAC,CAAC;gBACtE,OAAO;YACT,CAAC;oBAAS,CAAC;gBACT,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,gBAAW,CAAC,MAAM,CAAC;gBAChC,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB;gBACrC,MAAM,EAAE;oBACN,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM;oBAC7C,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,iBAAiB,EAAE,KAAK;iBACzB;gBACD,OAAO,EAAE,gBAAmB;aAC7B,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC,CAAC;YAE1D,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClB,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,CAAC;gBACD,SAAS;YACX,CAAC;YAED,SAAS,GAAG,IAAI,CAAC;YAEjB,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAE3E,IAAI,MAAM,GAAG,IAAA,iBAAS,EAAC,UAAU,CAAC,CAAC;gBACnC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,SAAS;gBACX,CAAC;gBAED,OAAO,MAAM,CAAC;YAChB,CAAC;oBAAS,CAAC;gBACT,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAA,qBAAa,EAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACpF,OAAO,gBAAW,CAAC,MAAM,CAAC;YACxB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB;YACjC,MAAM,EAAE;gBACN,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM;gBACzC,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,gBAAW,CAAC,MAAM,CAAC;gBAChC,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB;gBACrC,MAAM,EAAE;oBACN,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM;oBAC7C,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,iBAAiB,EAAE,KAAK;iBACzB;gBACD,OAAO,EAAE,gBAAmB;aAC7B,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC,CAAC;YAE5D,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClB,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,CAAC;gBACD,SAAS;YACX,CAAC;YAED,SAAS,GAAG,IAAI,CAAC;YAEjB,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAE9E,MAAM,QAAQ,GAAG,IAAA,sBAAc,EAAC,WAAW,CAAC,CAAC;gBAC7C,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACzB,SAAS;gBACX,CAAC;gBAED,OAAO,QAAQ,CAAC;YAClB,CAAC;oBAAS,CAAC;gBACT,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACxC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACvB,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAA,qBAAa,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACtF,OAAO,gBAAW,CAAC,MAAM,CAAC;YACxB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB;YACjC,MAAM,EAAE;gBACN,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM;gBACzC,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB;SACF,CAAC,CAAC;IACL,CAAC;CACF;AA9KD,oDA8KC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/module.d.ts b/back/node_modules/@redis/client/dist/lib/sentinel/module.d.ts new file mode 100644 index 0000000..ee4979b --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/module.d.ts @@ -0,0 +1,64 @@ +declare const _default: { + readonly sentinel: { + readonly SENTINEL_SENTINELS: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, dbname: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").ArrayReply>>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>[]; + readonly 3: () => import("../RESP/types").ArrayReply, import("../RESP/types").BlobStringReply>>; + }; + }; + readonly sentinelSentinels: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, dbname: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").ArrayReply>>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>[]; + readonly 3: () => import("../RESP/types").ArrayReply, import("../RESP/types").BlobStringReply>>; + }; + }; + readonly SENTINEL_MASTER: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, dbname: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>; + readonly 3: () => import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>; + }; + }; + readonly sentinelMaster: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, dbname: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").ArrayReply>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>; + readonly 3: () => import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>; + }; + }; + readonly SENTINEL_REPLICAS: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, dbname: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").ArrayReply>>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>[]; + readonly 3: () => import("../RESP/types").ArrayReply, import("../RESP/types").BlobStringReply>>; + }; + }; + readonly sentinelReplicas: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, dbname: import("../RESP/types").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: import("../RESP/types").ArrayReply>>, preserve?: any, typeMapping?: import("../RESP/types").TypeMapping | undefined) => import("../RESP/types").MapReply, import("../RESP/types").BlobStringReply>[]; + readonly 3: () => import("../RESP/types").ArrayReply, import("../RESP/types").BlobStringReply>>; + }; + }; + readonly SENTINEL_MONITOR: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, dbname: import("../RESP/types").RedisArgument, host: import("../RESP/types").RedisArgument, port: import("../RESP/types").RedisArgument, quorum: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly sentinelMonitor: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, dbname: import("../RESP/types").RedisArgument, host: import("../RESP/types").RedisArgument, port: import("../RESP/types").RedisArgument, quorum: import("../RESP/types").RedisArgument) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly SENTINEL_SET: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, dbname: import("../RESP/types").RedisArgument, options: import("./commands/SENTINEL_SET").SentinelSetOptions) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + readonly sentinelSet: { + readonly parseCommand: (this: void, parser: import("../..").CommandParser, dbname: import("../RESP/types").RedisArgument, options: import("./commands/SENTINEL_SET").SentinelSetOptions) => void; + readonly transformReply: () => import("../RESP/types").SimpleStringReply<"OK">; + }; + }; +}; +export default _default; +//# sourceMappingURL=module.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/module.d.ts.map b/back/node_modules/@redis/client/dist/lib/sentinel/module.d.ts.map new file mode 100644 index 0000000..fe69261 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/module.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../lib/sentinel/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,wBAEkC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/module.js b/back/node_modules/@redis/client/dist/lib/sentinel/module.js new file mode 100644 index 0000000..c3d3d9a --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/module.js @@ -0,0 +1,10 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const commands_1 = __importDefault(require("./commands")); +exports.default = { + sentinel: commands_1.default +}; +//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/module.js.map b/back/node_modules/@redis/client/dist/lib/sentinel/module.js.map new file mode 100644 index 0000000..6606c67 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../lib/sentinel/module.ts"],"names":[],"mappings":";;;;;AAEA,0DAAkC;AAElC,kBAAe;IACb,QAAQ,EAAR,kBAAQ;CACuB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/multi-commands.d.ts b/back/node_modules/@redis/client/dist/lib/sentinel/multi-commands.d.ts new file mode 100644 index 0000000..d37f9e2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/multi-commands.d.ts @@ -0,0 +1,43 @@ +import { NON_STICKY_COMMANDS } from '../commands'; +import { MULTI_REPLY, MultiReply, MultiReplyType } from '../multi-command'; +import { ReplyWithTypeMapping, CommandReply, Command, CommandArguments, CommanderConfig, RedisFunctions, RedisModules, RedisScripts, RespVersions, TransformReply, TypeMapping } from '../RESP/types'; +import { RedisSentinelType } from './types'; +import { Tail } from '../commands/generic-transformers'; +type CommandSignature, C extends Command, M extends RedisModules, F extends RedisFunctions, S extends RedisScripts, RESP extends RespVersions, TYPE_MAPPING extends TypeMapping> = (...args: Tail>) => RedisSentinelMultiCommandType<[ + ...REPLIES, + ReplyWithTypeMapping, TYPE_MAPPING> +], M, F, S, RESP, TYPE_MAPPING>; +type WithCommands, M extends RedisModules, F extends RedisFunctions, S extends RedisScripts, RESP extends RespVersions, TYPE_MAPPING extends TypeMapping> = { + [P in keyof typeof NON_STICKY_COMMANDS]: CommandSignature; +}; +type WithModules, M extends RedisModules, F extends RedisFunctions, S extends RedisScripts, RESP extends RespVersions, TYPE_MAPPING extends TypeMapping> = { + [P in keyof M]: { + [C in keyof M[P]]: CommandSignature; + }; +}; +type WithFunctions, M extends RedisModules, F extends RedisFunctions, S extends RedisScripts, RESP extends RespVersions, TYPE_MAPPING extends TypeMapping> = { + [L in keyof F]: { + [C in keyof F[L]]: CommandSignature; + }; +}; +type WithScripts, M extends RedisModules, F extends RedisFunctions, S extends RedisScripts, RESP extends RespVersions, TYPE_MAPPING extends TypeMapping> = { + [P in keyof S]: CommandSignature; +}; +export type RedisSentinelMultiCommandType, M extends RedisModules, F extends RedisFunctions, S extends RedisScripts, RESP extends RespVersions, TYPE_MAPPING extends TypeMapping> = (RedisSentinelMultiCommand & WithCommands & WithModules & WithFunctions & WithScripts); +export default class RedisSentinelMultiCommand { + #private; + private static _createCommand; + private static _createModuleCommand; + private static _createFunctionCommand; + private static _createScriptCommand; + static extend, F extends RedisFunctions = Record, S extends RedisScripts = Record, RESP extends RespVersions = 2>(config?: CommanderConfig): any; + constructor(sentinel: RedisSentinelType, typeMapping: TypeMapping); + addCommand(isReadonly: boolean | undefined, args: CommandArguments, transformReply?: TransformReply): this; + exec(execAsPipeline?: boolean): Promise>; + EXEC: (execAsPipeline?: boolean) => Promise>; + execTyped(execAsPipeline?: boolean): Promise; + execAsPipeline(): Promise>; + execAsPipelineTyped(): Promise; +} +export {}; +//# sourceMappingURL=multi-commands.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/multi-commands.d.ts.map b/back/node_modules/@redis/client/dist/lib/sentinel/multi-commands.d.ts.map new file mode 100644 index 0000000..a05a359 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/multi-commands.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"multi-commands.d.ts","sourceRoot":"","sources":["../../../lib/sentinel/multi-commands.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/multi-commands.js b/back/node_modules/@redis/client/dist/lib/sentinel/multi-commands.js new file mode 100644 index 0000000..7b91fdf --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/multi-commands.js @@ -0,0 +1,103 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const commands_1 = require("../commands"); +const multi_command_1 = __importDefault(require("../multi-command")); +const commander_1 = require("../commander"); +const parser_1 = require("../client/parser"); +class RedisSentinelMultiCommand { + static _createCommand(command, resp) { + const transformReply = (0, commander_1.getTransformReply)(command, resp); + return function (...args) { + const parser = new parser_1.BasicCommandParser(); + command.parseCommand(parser, ...args); + const redisArgs = parser.redisArgs; + redisArgs.preserve = parser.preserve; + return this.addCommand(command.IS_READ_ONLY, redisArgs, transformReply); + }; + } + static _createModuleCommand(command, resp) { + const transformReply = (0, commander_1.getTransformReply)(command, resp); + return function (...args) { + const parser = new parser_1.BasicCommandParser(); + command.parseCommand(parser, ...args); + const redisArgs = parser.redisArgs; + redisArgs.preserve = parser.preserve; + return this._self.addCommand(command.IS_READ_ONLY, redisArgs, transformReply); + }; + } + static _createFunctionCommand(name, fn, resp) { + const prefix = (0, commander_1.functionArgumentsPrefix)(name, fn); + const transformReply = (0, commander_1.getTransformReply)(fn, resp); + return function (...args) { + const parser = new parser_1.BasicCommandParser(); + parser.push(...prefix); + fn.parseCommand(parser, ...args); + const redisArgs = parser.redisArgs; + redisArgs.preserve = parser.preserve; + return this._self.addCommand(fn.IS_READ_ONLY, redisArgs, transformReply); + }; + } + static _createScriptCommand(script, resp) { + const transformReply = (0, commander_1.getTransformReply)(script, resp); + return function (...args) { + const parser = new parser_1.BasicCommandParser(); + script.parseCommand(parser, ...args); + const scriptArgs = parser.redisArgs; + scriptArgs.preserve = parser.preserve; + return this.#addScript(script.IS_READ_ONLY, script, scriptArgs, transformReply); + }; + } + static extend(config) { + return (0, commander_1.attachConfig)({ + BaseClass: RedisSentinelMultiCommand, + commands: commands_1.NON_STICKY_COMMANDS, + createCommand: RedisSentinelMultiCommand._createCommand, + createModuleCommand: RedisSentinelMultiCommand._createModuleCommand, + createFunctionCommand: RedisSentinelMultiCommand._createFunctionCommand, + createScriptCommand: RedisSentinelMultiCommand._createScriptCommand, + config + }); + } + #multi = new multi_command_1.default(); + #sentinel; + #isReadonly = true; + constructor(sentinel, typeMapping) { + this.#multi = new multi_command_1.default(typeMapping); + this.#sentinel = sentinel; + } + #setState(isReadonly) { + this.#isReadonly &&= isReadonly; + } + addCommand(isReadonly, args, transformReply) { + this.#setState(isReadonly); + this.#multi.addCommand(args, transformReply); + return this; + } + #addScript(isReadonly, script, args, transformReply) { + this.#setState(isReadonly); + this.#multi.addScript(script, args, transformReply); + return this; + } + async exec(execAsPipeline = false) { + if (execAsPipeline) + return this.execAsPipeline(); + return this.#multi.transformReplies(await this.#sentinel._executeMulti(this.#isReadonly, this.#multi.queue)); + } + EXEC = this.exec; + execTyped(execAsPipeline = false) { + return this.exec(execAsPipeline); + } + async execAsPipeline() { + if (this.#multi.queue.length === 0) + return []; + return this.#multi.transformReplies(await this.#sentinel._executePipeline(this.#isReadonly, this.#multi.queue)); + } + execAsPipelineTyped() { + return this.execAsPipeline(); + } +} +exports.default = RedisSentinelMultiCommand; +//# sourceMappingURL=multi-commands.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/multi-commands.js.map b/back/node_modules/@redis/client/dist/lib/sentinel/multi-commands.js.map new file mode 100644 index 0000000..04fcf86 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/multi-commands.js.map @@ -0,0 +1 @@ +{"version":3,"file":"multi-commands.js","sourceRoot":"","sources":["../../../lib/sentinel/multi-commands.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/pub-sub-proxy.d.ts b/back/node_modules/@redis/client/dist/lib/sentinel/pub-sub-proxy.d.ts new file mode 100644 index 0000000..bfa1bba --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/pub-sub-proxy.d.ts @@ -0,0 +1,18 @@ +/// +import EventEmitter from 'node:events'; +import { RedisClientOptions } from '../client'; +import { PubSubListener } from '../client/pub-sub'; +import { RedisNode } from './types'; +type OnError = (err: unknown) => unknown; +export declare class PubSubProxy extends EventEmitter { + #private; + constructor(clientOptions: RedisClientOptions, onError: OnError); + changeNode(node: RedisNode): Promise; + subscribe(channels: string | Array, listener: PubSubListener, bufferMode?: T): Promise | Promise | undefined>; + unsubscribe(channels?: string | Array, listener?: PubSubListener, bufferMode?: T): Promise; + pSubscribe(patterns: string | Array, listener: PubSubListener, bufferMode?: T): Promise; + pUnsubscribe(patterns?: string | Array, listener?: PubSubListener, bufferMode?: T): Promise; + destroy(): void; +} +export {}; +//# sourceMappingURL=pub-sub-proxy.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/pub-sub-proxy.d.ts.map b/back/node_modules/@redis/client/dist/lib/sentinel/pub-sub-proxy.d.ts.map new file mode 100644 index 0000000..ba3d72d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/pub-sub-proxy.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"pub-sub-proxy.d.ts","sourceRoot":"","sources":["../../../lib/sentinel/pub-sub-proxy.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAe,cAAc,EAAuB,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAqBpC,KAAK,OAAO,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC;AAEzC,qBAAa,WAAY,SAAQ,YAAY;;gBAQ/B,aAAa,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO;IAyEzD,UAAU,CAAC,IAAI,EAAE,SAAS;IAwChC,SAAS,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,EACjC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,EAChC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,EAC3B,UAAU,CAAC,EAAE,CAAC;IAoBV,WAAW,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,EACzC,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,EACjC,QAAQ,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,EAClC,UAAU,CAAC,EAAE,CAAC;IAKV,UAAU,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,EACxC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,EAChC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,EAC3B,UAAU,CAAC,EAAE,CAAC;IAOV,YAAY,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,EAC1C,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,EACjC,QAAQ,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAC5B,UAAU,CAAC,EAAE,CAAC;IAKhB,OAAO;CAWR"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/pub-sub-proxy.js b/back/node_modules/@redis/client/dist/lib/sentinel/pub-sub-proxy.js new file mode 100644 index 0000000..359b558 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/pub-sub-proxy.js @@ -0,0 +1,142 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PubSubProxy = void 0; +const node_events_1 = __importDefault(require("node:events")); +const pub_sub_1 = require("../client/pub-sub"); +const client_1 = __importDefault(require("../client")); +class PubSubProxy extends node_events_1.default { + #clientOptions; + #onError; + #node; + #state; + #subscriptions; + constructor(clientOptions, onError) { + super(); + this.#clientOptions = clientOptions; + this.#onError = onError; + } + #createClient() { + if (this.#node === undefined) { + throw new Error("pubSubProxy: didn't define node to do pubsub against"); + } + return new client_1.default({ + ...this.#clientOptions, + socket: { + ...this.#clientOptions.socket, + host: this.#node.host, + port: this.#node.port + } + }); + } + async #initiatePubSubClient(withSubscriptions = false) { + const client = this.#createClient() + .on('error', this.#onError); + const connectPromise = client.connect() + .then(async (client) => { + if (this.#state?.client !== client) { + // if pubsub was deactivated while connecting (`this.#pubSubClient === undefined`) + // or if the node changed (`this.#pubSubClient.client !== client`) + client.destroy(); + return this.#state?.connectPromise; + } + if (withSubscriptions && this.#subscriptions) { + await Promise.all([ + client.extendPubSubListeners(pub_sub_1.PUBSUB_TYPE.CHANNELS, this.#subscriptions[pub_sub_1.PUBSUB_TYPE.CHANNELS]), + client.extendPubSubListeners(pub_sub_1.PUBSUB_TYPE.PATTERNS, this.#subscriptions[pub_sub_1.PUBSUB_TYPE.PATTERNS]) + ]); + } + if (this.#state.client !== client) { + // if the node changed (`this.#pubSubClient.client !== client`) + client.destroy(); + return this.#state?.connectPromise; + } + this.#state.connectPromise = undefined; + return client; + }) + .catch(err => { + this.#state = undefined; + throw err; + }); + this.#state = { + client, + connectPromise + }; + return connectPromise; + } + #getPubSubClient() { + if (!this.#state) + return this.#initiatePubSubClient(); + return (this.#state.connectPromise ?? + this.#state.client); + } + async changeNode(node) { + this.#node = node; + if (!this.#state) + return; + // if `connectPromise` is undefined, `this.#subscriptions` is already set + // and `this.#state.client` might not have the listeners set yet + if (this.#state.connectPromise === undefined) { + this.#subscriptions = { + [pub_sub_1.PUBSUB_TYPE.CHANNELS]: this.#state.client.getPubSubListeners(pub_sub_1.PUBSUB_TYPE.CHANNELS), + [pub_sub_1.PUBSUB_TYPE.PATTERNS]: this.#state.client.getPubSubListeners(pub_sub_1.PUBSUB_TYPE.PATTERNS) + }; + this.#state.client.destroy(); + } + await this.#initiatePubSubClient(true); + } + #executeCommand(fn) { + const client = this.#getPubSubClient(); + if (client instanceof client_1.default) { + return fn(client); + } + return client.then(client => { + // if pubsub was deactivated while connecting + if (client === undefined) + return; + return fn(client); + }).catch(err => { + if (this.#state?.client.isPubSubActive) { + this.#state.client.destroy(); + this.#state = undefined; + } + throw err; + }); + } + subscribe(channels, listener, bufferMode) { + return this.#executeCommand(client => client.SUBSCRIBE(channels, listener, bufferMode)); + } + #unsubscribe(fn) { + return this.#executeCommand(async (client) => { + const reply = await fn(client); + if (!client.isPubSubActive) { + client.destroy(); + this.#state = undefined; + } + return reply; + }); + } + async unsubscribe(channels, listener, bufferMode) { + return this.#unsubscribe(client => client.UNSUBSCRIBE(channels, listener, bufferMode)); + } + async pSubscribe(patterns, listener, bufferMode) { + return this.#executeCommand(client => client.PSUBSCRIBE(patterns, listener, bufferMode)); + } + async pUnsubscribe(patterns, listener, bufferMode) { + return this.#unsubscribe(client => client.PUNSUBSCRIBE(patterns, listener, bufferMode)); + } + destroy() { + this.#subscriptions = undefined; + if (this.#state === undefined) + return; + // `connectPromise` already handles the case of `this.#pubSubState = undefined` + if (!this.#state.connectPromise) { + this.#state.client.destroy(); + } + this.#state = undefined; + } +} +exports.PubSubProxy = PubSubProxy; +//# sourceMappingURL=pub-sub-proxy.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/pub-sub-proxy.js.map b/back/node_modules/@redis/client/dist/lib/sentinel/pub-sub-proxy.js.map new file mode 100644 index 0000000..b03d69c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/pub-sub-proxy.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pub-sub-proxy.js","sourceRoot":"","sources":["../../../lib/sentinel/pub-sub-proxy.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/types.d.ts b/back/node_modules/@redis/client/dist/lib/sentinel/types.d.ts new file mode 100644 index 0000000..cec29cb --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/types.d.ts @@ -0,0 +1,157 @@ +import { RedisClientOptions } from '../client'; +import { CommandOptions } from '../client/commands-queue'; +import { CommandSignature, CommanderConfig, RedisFunctions, RedisModules, RedisScripts, RespVersions, TypeMapping } from '../RESP/types'; +import { NON_STICKY_COMMANDS } from '../commands'; +import RedisSentinel, { RedisSentinelClient } from '.'; +import { RedisTcpSocketOptions } from '../client/socket'; +import { ClientSideCacheConfig, PooledClientSideCacheProvider } from '../client/cache'; +export interface RedisNode { + host: string; + port: number; +} +export type NodeAddressMap = { + [address: string]: RedisNode; +} | ((address: string) => RedisNode | undefined); +export interface RedisSentinelOptions extends SentinelCommander { + /** + * The sentinel identifier for a particular database cluster + */ + name: string; + /** + * An array of root nodes that are part of the sentinel cluster, which will be used to get the topology. Each element in the array is a client configuration object. There is no need to specify every node in the cluster: 3 should be enough to reliably connect and obtain the sentinel configuration from the server + */ + sentinelRootNodes: Array; + /** + * The maximum number of times a command will retry due to topology changes. + */ + maxCommandRediscovers?: number; + /** + * The configuration values for every node in the cluster. Use this for example when specifying an ACL user to connect with + */ + nodeClientOptions?: RedisClientOptions; + /** + * The configuration values for every sentinel in the cluster. Use this for example when specifying an ACL user to connect with + */ + sentinelClientOptions?: RedisClientOptions; + /** + * The number of clients connected to the master node + */ + masterPoolSize?: number; + /** + * The number of clients connected to each replica node. + * When greater than 0, the client will distribute the load by executing read-only commands (such as `GET`, `GEOSEARCH`, etc.) across all the cluster nodes. + */ + replicaPoolSize?: number; + /** + * Mapping between the addresses returned by sentinel and the addresses the client should connect to + * Useful when the sentinel nodes are running on another network + */ + nodeAddressMap?: NodeAddressMap; + /** + * Interval in milliseconds to periodically scan for changes in the sentinel topology. + * The client will query the sentinel for changes at this interval. + * + * Default: 10000 (10 seconds) + */ + scanInterval?: number; + /** + * When `true`, error events from client instances inside the sentinel will be propagated to the sentinel instance. + * This allows handling all client errors through a single error handler on the sentinel instance. + * + * Default: false + */ + passthroughClientErrorEvents?: boolean; + /** + * When `true`, one client will be reserved for the sentinel object. + * When `false`, the sentinel object will wait for the first available client from the pool. + */ + reserveClient?: boolean; + /** + * Client Side Caching configuration for the pool. + * + * Enables Redis Servers and Clients to work together to cache results from commands + * sent to a server. The server will notify the client when cached results are no longer valid. + * In pooled mode, the cache is shared across all clients in the pool. + * + * Note: Client Side Caching is only supported with RESP3. + * + * @example Anonymous cache configuration + * ``` + * const client = createSentinel({ + * clientSideCache: { + * ttl: 0, + * maxEntries: 0, + * evictPolicy: "LRU" + * }, + * minimum: 5 + * }); + * ``` + * + * @example Using a controllable cache + * ``` + * const cache = new BasicPooledClientSideCache({ + * ttl: 0, + * maxEntries: 0, + * evictPolicy: "LRU" + * }); + * const client = createSentinel({ + * clientSideCache: cache, + * minimum: 5 + * }); + * ``` + */ + clientSideCache?: PooledClientSideCacheProvider | ClientSideCacheConfig; +} +export interface SentinelCommander extends CommanderConfig { + commandOptions?: CommandOptions; +} +export type RedisSentinelClientOptions = Omit>; +type WithCommands = { + [P in keyof typeof NON_STICKY_COMMANDS]: CommandSignature<(typeof NON_STICKY_COMMANDS)[P], RESP, TYPE_MAPPING>; +}; +type WithModules = { + [P in keyof M]: { + [C in keyof M[P]]: CommandSignature; + }; +}; +type WithFunctions = { + [L in keyof F]: { + [C in keyof F[L]]: CommandSignature; + }; +}; +type WithScripts = { + [P in keyof S]: CommandSignature; +}; +export type RedisSentinelClientType = (RedisSentinelClient & WithCommands & WithModules & WithFunctions & WithScripts); +export type RedisSentinelType = (RedisSentinel & WithCommands & WithModules & WithFunctions & WithScripts); +export interface SentinelCommandOptions extends CommandOptions { +} +export type ProxySentinel = RedisSentinel; +export type ProxySentinelClient = RedisSentinelClient; +export type NamespaceProxySentinel = { + _self: ProxySentinel; +}; +export type NamespaceProxySentinelClient = { + _self: ProxySentinelClient; +}; +export type NodeInfo = { + ip: any; + port: any; + flags: any; +}; +export type RedisSentinelEvent = NodeChangeEvent | SizeChangeEvent; +export type NodeChangeEvent = { + type: "SENTINEL_CHANGE" | "MASTER_CHANGE" | "REPLICA_ADD" | "REPLICA_REMOVE"; + node: RedisNode; +}; +export type SizeChangeEvent = { + type: "SENTINE_LIST_CHANGE"; + size: Number; +}; +export type ClientErrorEvent = { + type: 'MASTER' | 'REPLICA' | 'SENTINEL' | 'PUBSUBPROXY'; + node: RedisNode; + error: Error; +}; +export {}; +//# sourceMappingURL=types.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/types.d.ts.map b/back/node_modules/@redis/client/dist/lib/sentinel/types.d.ts.map new file mode 100644 index 0000000..81535f4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/types.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/sentinel/types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/types.js b/back/node_modules/@redis/client/dist/lib/sentinel/types.js new file mode 100644 index 0000000..11e638d --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/types.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/types.js.map b/back/node_modules/@redis/client/dist/lib/sentinel/types.js.map new file mode 100644 index 0000000..ccf95d5 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/types.js.map @@ -0,0 +1 @@ +{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../lib/sentinel/types.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/utils.d.ts b/back/node_modules/@redis/client/dist/lib/sentinel/utils.d.ts new file mode 100644 index 0000000..c39d14c --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/utils.d.ts @@ -0,0 +1,21 @@ +import { ArrayReply, Command, RedisFunction, RedisScript, RespVersions, UnwrapReply } from '../RESP/types'; +import { RedisSocketOptions } from '../client/socket'; +import { NamespaceProxySentinel, NamespaceProxySentinelClient, NodeAddressMap, ProxySentinel, ProxySentinelClient, RedisNode } from './types'; +export declare function parseNode(node: Record): RedisNode | undefined; +export declare function createNodeList(nodes: UnwrapReply>>): RedisNode[]; +export declare function clientSocketToNode(socket: RedisSocketOptions): RedisNode; +export declare function createCommand(command: Command, resp: RespVersions): (this: T, ...args: Array) => Promise; +export declare function createFunctionCommand(name: string, fn: RedisFunction, resp: RespVersions): (this: T, ...args: Array) => Promise; +export declare function createModuleCommand(command: Command, resp: RespVersions): (this: T, ...args: Array) => Promise; +export declare function createScriptCommand(script: RedisScript, resp: RespVersions): (this: T, ...args: Array) => Promise; +/** + * Returns the mapped node address for the given host and port using the nodeAddressMap. + * If no mapping exists, returns the original host and port. + * + * @param host The original host + * @param port The original port + * @param nodeAddressMap The node address map (object or function) + * @returns The mapped node or the original node if no mapping exists + */ +export declare function getMappedNode(host: string, port: number, nodeAddressMap: NodeAddressMap | undefined): RedisNode; +//# sourceMappingURL=utils.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/utils.d.ts.map b/back/node_modules/@redis/client/dist/lib/sentinel/utils.d.ts.map new file mode 100644 index 0000000..c48d667 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/utils.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../lib/sentinel/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE3G,OAAO,EAAE,kBAAkB,EAAyB,MAAM,kBAAkB,CAAC;AAE7E,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAG9I,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAAG,SAAS,CAO7E;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,eAYpF;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAOxE;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,aAAa,GAAG,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,UAGlF,CAAC,WAAW,MAAM,OAAO,CAAC,kBASxD;AAED,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,sBAAsB,GAAG,4BAA4B,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,UAI3H,CAAC,WAAW,MAAM,OAAO,CAAC,kBAUxD;AAED,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,sBAAsB,GAAG,4BAA4B,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,UAG1G,CAAC,WAAW,MAAM,OAAO,CAAC,kBASxD;AAED,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,aAAa,GAAG,mBAAmB,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,UAI3F,CAAC,WAAW,MAAM,OAAO,CAAC,kBAUxD;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,cAAc,GAAG,SAAS,GACzC,SAAS,CAaX"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/utils.js b/back/node_modules/@redis/client/dist/lib/sentinel/utils.js new file mode 100644 index 0000000..3423bf0 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/utils.js @@ -0,0 +1,98 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getMappedNode = exports.createScriptCommand = exports.createModuleCommand = exports.createFunctionCommand = exports.createCommand = exports.clientSocketToNode = exports.createNodeList = exports.parseNode = void 0; +const parser_1 = require("../client/parser"); +const commander_1 = require("../commander"); +/* TODO: should use map interface, would need a transform reply probably? as resp2 is list form, which this depends on */ +function parseNode(node) { + if (node.flags.includes("s_down") || node.flags.includes("disconnected") || node.flags.includes("failover_in_progress")) { + return undefined; + } + return { host: node.ip, port: Number(node.port) }; +} +exports.parseNode = parseNode; +function createNodeList(nodes) { + var nodeList = []; + for (const nodeData of nodes) { + const node = parseNode(nodeData); + if (node === undefined) { + continue; + } + nodeList.push(node); + } + return nodeList; +} +exports.createNodeList = createNodeList; +function clientSocketToNode(socket) { + const s = socket; + return { + host: s.host, + port: s.port + }; +} +exports.clientSocketToNode = clientSocketToNode; +function createCommand(command, resp) { + const transformReply = (0, commander_1.getTransformReply)(command, resp); + return async function (...args) { + const parser = new parser_1.BasicCommandParser(); + command.parseCommand(parser, ...args); + return this._self._execute(command.IS_READ_ONLY, client => client._executeCommand(command, parser, this.commandOptions, transformReply)); + }; +} +exports.createCommand = createCommand; +function createFunctionCommand(name, fn, resp) { + const prefix = (0, commander_1.functionArgumentsPrefix)(name, fn); + const transformReply = (0, commander_1.getTransformReply)(fn, resp); + return async function (...args) { + const parser = new parser_1.BasicCommandParser(); + parser.push(...prefix); + fn.parseCommand(parser, ...args); + return this._self._execute(fn.IS_READ_ONLY, client => client._executeCommand(fn, parser, this._self.commandOptions, transformReply)); + }; +} +exports.createFunctionCommand = createFunctionCommand; +; +function createModuleCommand(command, resp) { + const transformReply = (0, commander_1.getTransformReply)(command, resp); + return async function (...args) { + const parser = new parser_1.BasicCommandParser(); + command.parseCommand(parser, ...args); + return this._self._execute(command.IS_READ_ONLY, client => client._executeCommand(command, parser, this._self.commandOptions, transformReply)); + }; +} +exports.createModuleCommand = createModuleCommand; +; +function createScriptCommand(script, resp) { + const prefix = (0, commander_1.scriptArgumentsPrefix)(script); + const transformReply = (0, commander_1.getTransformReply)(script, resp); + return async function (...args) { + const parser = new parser_1.BasicCommandParser(); + parser.push(...prefix); + script.parseCommand(parser, ...args); + return this._self._execute(script.IS_READ_ONLY, client => client._executeScript(script, parser, this.commandOptions, transformReply)); + }; +} +exports.createScriptCommand = createScriptCommand; +/** + * Returns the mapped node address for the given host and port using the nodeAddressMap. + * If no mapping exists, returns the original host and port. + * + * @param host The original host + * @param port The original port + * @param nodeAddressMap The node address map (object or function) + * @returns The mapped node or the original node if no mapping exists + */ +function getMappedNode(host, port, nodeAddressMap) { + if (nodeAddressMap === undefined) { + return { host, port }; + } + const address = `${host}:${port}`; + switch (typeof nodeAddressMap) { + case 'object': + return nodeAddressMap[address] ?? { host, port }; + case 'function': + return nodeAddressMap(address) ?? { host, port }; + } +} +exports.getMappedNode = getMappedNode; +//# sourceMappingURL=utils.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/utils.js.map b/back/node_modules/@redis/client/dist/lib/sentinel/utils.js.map new file mode 100644 index 0000000..8e92346 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../lib/sentinel/utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/wait-queue.d.ts b/back/node_modules/@redis/client/dist/lib/sentinel/wait-queue.d.ts new file mode 100644 index 0000000..97d92d2 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/wait-queue.d.ts @@ -0,0 +1,7 @@ +export declare class WaitQueue { + #private; + push(value: T): void; + shift(): T | undefined; + wait(): Promise; +} +//# sourceMappingURL=wait-queue.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/wait-queue.d.ts.map b/back/node_modules/@redis/client/dist/lib/sentinel/wait-queue.d.ts.map new file mode 100644 index 0000000..06aa05e --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/wait-queue.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"wait-queue.d.ts","sourceRoot":"","sources":["../../../lib/sentinel/wait-queue.ts"],"names":[],"mappings":"AAEA,qBAAa,SAAS,CAAC,CAAC;;IAItB,IAAI,CAAC,KAAK,EAAE,CAAC;IAUb,KAAK;IAIL,IAAI;CAGL"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/wait-queue.js b/back/node_modules/@redis/client/dist/lib/sentinel/wait-queue.js new file mode 100644 index 0000000..7e8b1b9 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/wait-queue.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.WaitQueue = void 0; +const linked_list_1 = require("../client/linked-list"); +class WaitQueue { + #list = new linked_list_1.SinglyLinkedList(); + #queue = new linked_list_1.SinglyLinkedList(); + push(value) { + const resolve = this.#queue.shift(); + if (resolve !== undefined) { + resolve(value); + return; + } + this.#list.push(value); + } + shift() { + return this.#list.shift(); + } + wait() { + return new Promise(resolve => this.#queue.push(resolve)); + } +} +exports.WaitQueue = WaitQueue; +//# sourceMappingURL=wait-queue.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/sentinel/wait-queue.js.map b/back/node_modules/@redis/client/dist/lib/sentinel/wait-queue.js.map new file mode 100644 index 0000000..f98891f --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/sentinel/wait-queue.js.map @@ -0,0 +1 @@ +{"version":3,"file":"wait-queue.js","sourceRoot":"","sources":["../../../lib/sentinel/wait-queue.ts"],"names":[],"mappings":";;;AAAA,uDAAyD;AAEzD,MAAa,SAAS;IACpB,KAAK,GAAG,IAAI,8BAAgB,EAAK,CAAC;IAClC,MAAM,GAAG,IAAI,8BAAgB,EAAwB,CAAC;IAEtD,IAAI,CAAC,KAAQ;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,CAAC;YACf,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,IAAI;QACF,OAAO,IAAI,OAAO,CAAI,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9D,CAAC;CACF;AArBD,8BAqBC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/single-entry-cache.d.ts b/back/node_modules/@redis/client/dist/lib/single-entry-cache.d.ts new file mode 100644 index 0000000..cc11edc --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/single-entry-cache.d.ts @@ -0,0 +1,16 @@ +export default class SingleEntryCache { + #private; + /** + * Retrieves an instance from the cache based on the provided key object. + * + * @param keyObj - The key object to look up in the cache. + * @returns The cached instance if found, undefined otherwise. + * + * @remarks + * This method uses JSON.stringify for comparison, which may not work correctly + * if the properties in the key object are rearranged or reordered. + */ + get(keyObj?: K): V | undefined; + set(keyObj: K | undefined, obj: V): void; +} +//# sourceMappingURL=single-entry-cache.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/single-entry-cache.d.ts.map b/back/node_modules/@redis/client/dist/lib/single-entry-cache.d.ts.map new file mode 100644 index 0000000..aa023ba --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/single-entry-cache.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"single-entry-cache.d.ts","sourceRoot":"","sources":["../../lib/single-entry-cache.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,gBAAgB,CAAC,CAAC,EAAE,CAAC;;IAIxC;;;;;;;;;OASG;IACH,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAI9B,GAAG,CAAC,MAAM,EAAG,CAAC,GAAG,SAAS,EAAE,GAAG,EAAE,CAAC;CAInC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/single-entry-cache.js b/back/node_modules/@redis/client/dist/lib/single-entry-cache.js new file mode 100644 index 0000000..18ddcbd --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/single-entry-cache.js @@ -0,0 +1,38 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class SingleEntryCache { + #cached; + #serializedKey; + /** + * Retrieves an instance from the cache based on the provided key object. + * + * @param keyObj - The key object to look up in the cache. + * @returns The cached instance if found, undefined otherwise. + * + * @remarks + * This method uses JSON.stringify for comparison, which may not work correctly + * if the properties in the key object are rearranged or reordered. + */ + get(keyObj) { + return JSON.stringify(keyObj, makeCircularReplacer()) === this.#serializedKey ? this.#cached : undefined; + } + set(keyObj, obj) { + this.#cached = obj; + this.#serializedKey = JSON.stringify(keyObj, makeCircularReplacer()); + } +} +exports.default = SingleEntryCache; +function makeCircularReplacer() { + const seen = new WeakSet(); + return function serialize(_, value) { + if (value && typeof value === 'object') { + if (seen.has(value)) { + return 'circular'; + } + seen.add(value); + return value; + } + return value; + }; +} +//# sourceMappingURL=single-entry-cache.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/single-entry-cache.js.map b/back/node_modules/@redis/client/dist/lib/single-entry-cache.js.map new file mode 100644 index 0000000..66e07a4 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/single-entry-cache.js.map @@ -0,0 +1 @@ +{"version":3,"file":"single-entry-cache.js","sourceRoot":"","sources":["../../lib/single-entry-cache.ts"],"names":[],"mappings":";;AAAA,MAAqB,gBAAgB;IACnC,OAAO,CAAK;IACZ,cAAc,CAAU;IAExB;;;;;;;;;OASG;IACH,GAAG,CAAC,MAAU;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3G,CAAC;IAED,GAAG,CAAC,MAAsB,EAAE,GAAM;QAChC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;IACvE,CAAC;CACF;AAtBD,mCAsBC;AAED,SAAS,oBAAoB;IAC3B,MAAM,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;IAC3B,OAAO,SAAS,SAAS,CAAC,CAAS,EAAE,KAAU;QAC7C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpB,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAChB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/utils/digest.d.ts b/back/node_modules/@redis/client/dist/lib/utils/digest.d.ts new file mode 100644 index 0000000..263fb21 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/utils/digest.d.ts @@ -0,0 +1,13 @@ +import { RedisArgument } from '../RESP/types'; +/** + * Computes a deterministic 64-bit XXH3 digest of the input. + * + * This produces the same digest that Redis computes internally via the `DIGEST` command, + * allowing you to use it with conditional SET and DELEX operations (`IFDEQ`, `IFDNE`). + * + * @param value - The value to compute the digest for (string or Buffer) + * @returns A 16-character lowercase hexadecimal digest + * @throws If the `@node-rs/xxhash` package is not found + */ +export declare function digest(value: RedisArgument): Promise; +//# sourceMappingURL=digest.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/utils/digest.d.ts.map b/back/node_modules/@redis/client/dist/lib/utils/digest.d.ts.map new file mode 100644 index 0000000..069aef1 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/utils/digest.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"digest.d.ts","sourceRoot":"","sources":["../../../lib/utils/digest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAoB9C;;;;;;;;;GASG;AACH,wBAAsB,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAKlE"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/utils/digest.js b/back/node_modules/@redis/client/dist/lib/utils/digest.js new file mode 100644 index 0000000..8603f20 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/utils/digest.js @@ -0,0 +1,34 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.digest = void 0; +let xxh3Cache = null; +async function getXxh3() { + if (!xxh3Cache) { + try { + const module = await import('@node-rs/xxhash'); + xxh3Cache = module.xxh3; + } + catch { + throw new Error('The "digest" function requires the "@node-rs/xxhash" package, but it was not found.'); + } + } + return xxh3Cache; +} +/** + * Computes a deterministic 64-bit XXH3 digest of the input. + * + * This produces the same digest that Redis computes internally via the `DIGEST` command, + * allowing you to use it with conditional SET and DELEX operations (`IFDEQ`, `IFDNE`). + * + * @param value - The value to compute the digest for (string or Buffer) + * @returns A 16-character lowercase hexadecimal digest + * @throws If the `@node-rs/xxhash` package is not found + */ +async function digest(value) { + const xxh3 = await getXxh3(); + const data = typeof value === 'string' ? value : new Uint8Array(value); + const hash = xxh3.xxh64(data); + return hash.toString(16).padStart(16, '0'); +} +exports.digest = digest; +//# sourceMappingURL=digest.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/lib/utils/digest.js.map b/back/node_modules/@redis/client/dist/lib/utils/digest.js.map new file mode 100644 index 0000000..79c5891 --- /dev/null +++ b/back/node_modules/@redis/client/dist/lib/utils/digest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"digest.js","sourceRoot":"","sources":["../../../lib/utils/digest.ts"],"names":[],"mappings":";;;AAIA,IAAI,SAAS,GAAsB,IAAI,CAAC;AAExC,KAAK,UAAU,OAAO;IACpB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAC/C,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,qFAAqF,CACtF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,MAAM,CAAC,KAAoB;IAC/C,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AAC7C,CAAC;AALD,wBAKC"} \ No newline at end of file diff --git a/back/node_modules/@redis/client/dist/package.json b/back/node_modules/@redis/client/dist/package.json new file mode 100644 index 0000000..2966841 --- /dev/null +++ b/back/node_modules/@redis/client/dist/package.json @@ -0,0 +1,46 @@ +{ + "name": "@redis/client", + "version": "5.11.0", + "license": "MIT", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist/", + "!dist/tsconfig.tsbuildinfo" + ], + "scripts": { + "test": "nyc -r text-summary -r lcov mocha -r tsx --reporter mocha-multi-reporters --reporter-options configFile=mocha-multi-reporter-config.json --exit './lib/**/*.spec.ts'", + "release": "release-it" + }, + "dependencies": { + "cluster-key-slot": "1.1.2" + }, + "devDependencies": { + "@node-rs/xxhash": "1.7.6", + "@redis/test-utils": "*", + "@types/sinon": "^17.0.3", + "sinon": "^17.0.1" + }, + "peerDependencies": { + "@node-rs/xxhash": "^1.1.0" + }, + "peerDependenciesMeta": { + "@node-rs/xxhash": { + "optional": true + } + }, + "engines": { + "node": ">= 18" + }, + "repository": { + "type": "git", + "url": "git://github.com/redis/node-redis.git" + }, + "bugs": { + "url": "https://github.com/redis/node-redis/issues" + }, + "homepage": "https://github.com/redis/node-redis/tree/master/packages/client", + "keywords": [ + "redis" + ] +} diff --git a/back/node_modules/@redis/client/package.json b/back/node_modules/@redis/client/package.json new file mode 100644 index 0000000..643e729 --- /dev/null +++ b/back/node_modules/@redis/client/package.json @@ -0,0 +1,46 @@ +{ + "name": "@redis/client", + "version": "5.11.0", + "license": "MIT", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist/", + "!dist/tsconfig.tsbuildinfo" + ], + "scripts": { + "test": "nyc -r text-summary -r lcov mocha -r tsx --reporter mocha-multi-reporters --reporter-options configFile=mocha-multi-reporter-config.json --exit './lib/**/*.spec.ts'", + "release": "release-it" + }, + "dependencies": { + "cluster-key-slot": "1.1.2" + }, + "devDependencies": { + "@node-rs/xxhash": "1.7.6", + "@redis/test-utils": "*", + "@types/sinon": "^17.0.3", + "sinon": "^17.0.1" + }, + "peerDependencies": { + "@node-rs/xxhash": "^1.1.0" + }, + "peerDependenciesMeta": { + "@node-rs/xxhash": { + "optional": true + } + }, + "engines": { + "node": ">= 18" + }, + "repository": { + "type": "git", + "url": "git://github.com/redis/node-redis.git" + }, + "bugs": { + "url": "https://github.com/redis/node-redis/issues" + }, + "homepage": "https://github.com/redis/node-redis/tree/master/packages/client", + "keywords": [ + "redis" + ] +} diff --git a/back/node_modules/@redis/json/README.md b/back/node_modules/@redis/json/README.md new file mode 100644 index 0000000..ed60a64 --- /dev/null +++ b/back/node_modules/@redis/json/README.md @@ -0,0 +1,76 @@ +# @redis/json + +This package provides support for the [RedisJSON](https://redis.io/docs/latest/develop/data-types/json/) module, which adds JSON as a native data type to Redis. + +Should be used with [`redis`/`@redis/client`](https://github.com/redis/node-redis). + +:warning: To use these extra commands, your Redis server must have the RedisJSON module installed. + +## Usage + +For a complete example, see [`managing-json.js`](https://github.com/redis/node-redis/blob/master/examples/managing-json.js) in the [examples folder](https://github.com/redis/node-redis/tree/master/examples). + +### Storing JSON Documents in Redis + +The [`JSON.SET`](https://redis.io/commands/json.set/) command stores a JSON value at a given JSON Path in a Redis key. + +Here, we'll store a JSON document in the root of the Redis key "`mydoc`": + +```javascript +await client.json.set('noderedis:jsondata', '$', { + name: 'Roberta McDonald', + pets: [{ + name: 'Rex', + species: 'dog', + age: 3, + isMammal: true + }, { + name: 'Goldie', + species: 'fish', + age: 2, + isMammal: false + }] +}); +``` + +For more information about RedisJSON's path syntax, [check out the documentation](https://redis.io/docs/latest/develop/data-types/json/path). + +### Retrieving JSON Documents from Redis + +With RedisJSON, we can retrieve all or part(s) of a JSON document using the [`JSON.GET`](https://redis.io/commands/json.get/) command and one or more JSON Paths. Let's get the name and age of one of the pets: + +```javascript +const results = await client.json.get('noderedis:jsondata', { + path: [ + '.pets[1].name', + '.pets[1].age' + ] +}); +``` + +`results` will contain the following: + +```javascript + { '.pets[1].name': 'Goldie', '.pets[1].age': 2 } +``` + +### Performing Atomic Updates on JSON Documents Stored in Redis + +RedisJSON includes commands that can atomically update values in a JSON document, in place in Redis without having to first retrieve the entire document. + +Using the [`JSON.NUMINCRBY`](https://redis.io/commands/json.numincrby/) command, we can update the age of one of the pets like this: + +```javascript +await client.json.numIncrBy('noderedis:jsondata', '.pets[1].age', 1); +``` + +And we can add a new object to the pets array with the [`JSON.ARRAPPEND`](https://redis.io/commands/json.arrappend/) command: + +```javascript +await client.json.arrAppend('noderedis:jsondata', '.pets', { + name: 'Robin', + species: 'bird', + age: 1, + isMammal: false +}); +``` diff --git a/back/node_modules/@redis/json/dist/lib/commands/ARRAPPEND.d.ts b/back/node_modules/@redis/json/dist/lib/commands/ARRAPPEND.d.ts new file mode 100644 index 0000000..40aa198 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/ARRAPPEND.d.ts @@ -0,0 +1,20 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisJSON } from '@redis/client/dist/lib/commands/generic-transformers'; +import { RedisArgument, NumberReply, ArrayReply, NullReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Appends one or more values to the end of an array in a JSON document. + * Returns the new array length after append, or null if the path does not exist. + * + * @param parser - The Redis command parser + * @param key - The key to append to + * @param path - Path to the array in the JSON document + * @param json - The first value to append + * @param jsons - Additional values to append + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, path: RedisArgument, json: RedisJSON, ...jsons: Array) => void; + readonly transformReply: () => NumberReply | ArrayReply; +}; +export default _default; +//# sourceMappingURL=ARRAPPEND.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/ARRAPPEND.d.ts.map b/back/node_modules/@redis/json/dist/lib/commands/ARRAPPEND.d.ts.map new file mode 100644 index 0000000..50dbd27 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/ARRAPPEND.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ARRAPPEND.d.ts","sourceRoot":"","sources":["../../../lib/commands/ARRAPPEND.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,SAAS,EAA8B,MAAM,sDAAsD,CAAC;AAC7G,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAW,MAAM,mCAAmC,CAAC;;;IAI7G;;;;;;;;;OASG;gDAEO,aAAa,OAChB,aAAa,QACZ,aAAa,QACb,SAAS,YACL,MAAM,SAAS,CAAC;mCAUkB,WAAW,GAAG,WAAW,WAAW,GAAG,SAAS,CAAC;;AA3BjG,wBA4B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/ARRAPPEND.js b/back/node_modules/@redis/json/dist/lib/commands/ARRAPPEND.js new file mode 100644 index 0000000..0707c00 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/ARRAPPEND.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Appends one or more values to the end of an array in a JSON document. + * Returns the new array length after append, or null if the path does not exist. + * + * @param parser - The Redis command parser + * @param key - The key to append to + * @param path - Path to the array in the JSON document + * @param json - The first value to append + * @param jsons - Additional values to append + */ + parseCommand(parser, key, path, json, ...jsons) { + parser.push('JSON.ARRAPPEND'); + parser.pushKey(key); + parser.push(path, (0, generic_transformers_1.transformRedisJsonArgument)(json)); + for (let i = 0; i < jsons.length; i++) { + parser.push((0, generic_transformers_1.transformRedisJsonArgument)(jsons[i])); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=ARRAPPEND.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/ARRAPPEND.js.map b/back/node_modules/@redis/json/dist/lib/commands/ARRAPPEND.js.map new file mode 100644 index 0000000..9d6fd75 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/ARRAPPEND.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ARRAPPEND.js","sourceRoot":"","sources":["../../../lib/commands/ARRAPPEND.ts"],"names":[],"mappings":";;AACA,+FAA6G;AAG7G,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;;OASG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,IAAmB,EACnB,IAAe,EACf,GAAG,KAAuB;QAE1B,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAA,iDAA0B,EAAC,IAAI,CAAC,CAAC,CAAC;QAEpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,IAAA,iDAA0B,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAA+E;CACrE,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/ARRINDEX.d.ts b/back/node_modules/@redis/json/dist/lib/commands/ARRINDEX.d.ts new file mode 100644 index 0000000..7b7bfb1 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/ARRINDEX.d.ts @@ -0,0 +1,28 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, NumberReply, ArrayReply, NullReply } from '@redis/client/dist/lib/RESP/types'; +import { RedisJSON } from '@redis/client/dist/lib/commands/generic-transformers'; +export interface JsonArrIndexOptions { + range?: { + start: number; + stop?: number; + }; +} +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns the index of the first occurrence of a value in a JSON array. + * If the specified value is not found, it returns -1, or null if the path does not exist. + * + * @param parser - The Redis command parser + * @param key - The key containing the array + * @param path - Path to the array in the JSON document + * @param json - The value to search for + * @param options - Optional range parameters for the search + * @param options.range.start - Starting index for the search + * @param options.range.stop - Optional ending index for the search + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, path: RedisArgument, json: RedisJSON, options?: JsonArrIndexOptions) => void; + readonly transformReply: () => NumberReply | ArrayReply; +}; +export default _default; +//# sourceMappingURL=ARRINDEX.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/ARRINDEX.d.ts.map b/back/node_modules/@redis/json/dist/lib/commands/ARRINDEX.d.ts.map new file mode 100644 index 0000000..b108ca0 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/ARRINDEX.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ARRINDEX.d.ts","sourceRoot":"","sources":["../../../lib/commands/ARRINDEX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAW,MAAM,mCAAmC,CAAC;AAC/G,OAAO,EAAE,SAAS,EAA8B,MAAM,sDAAsD,CAAC;AAE7G,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;;;IAIC;;;;;;;;;;;OAWG;gDAEO,aAAa,OAChB,aAAa,QACZ,aAAa,QACb,SAAS,YACL,mBAAmB;mCAce,WAAW,GAAG,WAAW,WAAW,GAAG,SAAS,CAAC;;AAjCjG,wBAkC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/ARRINDEX.js b/back/node_modules/@redis/json/dist/lib/commands/ARRINDEX.js new file mode 100644 index 0000000..70550ae --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/ARRINDEX.js @@ -0,0 +1,31 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns the index of the first occurrence of a value in a JSON array. + * If the specified value is not found, it returns -1, or null if the path does not exist. + * + * @param parser - The Redis command parser + * @param key - The key containing the array + * @param path - Path to the array in the JSON document + * @param json - The value to search for + * @param options - Optional range parameters for the search + * @param options.range.start - Starting index for the search + * @param options.range.stop - Optional ending index for the search + */ + parseCommand(parser, key, path, json, options) { + parser.push('JSON.ARRINDEX'); + parser.pushKey(key); + parser.push(path, (0, generic_transformers_1.transformRedisJsonArgument)(json)); + if (options?.range) { + parser.push(options.range.start.toString()); + if (options.range.stop !== undefined) { + parser.push(options.range.stop.toString()); + } + } + }, + transformReply: undefined +}; +//# sourceMappingURL=ARRINDEX.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/ARRINDEX.js.map b/back/node_modules/@redis/json/dist/lib/commands/ARRINDEX.js.map new file mode 100644 index 0000000..3bdaef9 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/ARRINDEX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ARRINDEX.js","sourceRoot":"","sources":["../../../lib/commands/ARRINDEX.ts"],"names":[],"mappings":";;AAEA,+FAA6G;AAS7G,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;;;;;OAWG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,IAAmB,EACnB,IAAe,EACf,OAA6B;QAE7B,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAA,iDAA0B,EAAC,IAAI,CAAC,CAAC,CAAC;QAEpD,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAE5C,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACrC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAA+E;CACrE,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/ARRINSERT.d.ts b/back/node_modules/@redis/json/dist/lib/commands/ARRINSERT.d.ts new file mode 100644 index 0000000..8cc271e --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/ARRINSERT.d.ts @@ -0,0 +1,21 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, NumberReply, ArrayReply, NullReply } from '@redis/client/dist/lib/RESP/types'; +import { RedisJSON } from '@redis/client/dist/lib/commands/generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Inserts one or more values into an array at the specified index. + * Returns the new array length after insert, or null if the path does not exist. + * + * @param parser - The Redis command parser + * @param key - The key containing the array + * @param path - Path to the array in the JSON document + * @param index - The position where to insert the values + * @param json - The first value to insert + * @param jsons - Additional values to insert + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, path: RedisArgument, index: number, json: RedisJSON, ...jsons: Array) => void; + readonly transformReply: () => NumberReply | ArrayReply; +}; +export default _default; +//# sourceMappingURL=ARRINSERT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/ARRINSERT.d.ts.map b/back/node_modules/@redis/json/dist/lib/commands/ARRINSERT.d.ts.map new file mode 100644 index 0000000..4419a17 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/ARRINSERT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ARRINSERT.d.ts","sourceRoot":"","sources":["../../../lib/commands/ARRINSERT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAW,MAAM,mCAAmC,CAAC;AAC/G,OAAO,EAAE,SAAS,EAA8B,MAAM,sDAAsD,CAAC;;;IAI3G;;;;;;;;;;OAUG;gDAEO,aAAa,OAChB,aAAa,QACZ,aAAa,SACZ,MAAM,QACP,SAAS,YACL,MAAM,SAAS,CAAC;mCAUkB,WAAW,GAAG,WAAW,WAAW,GAAG,SAAS,CAAC;;AA7BjG,wBA8B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/ARRINSERT.js b/back/node_modules/@redis/json/dist/lib/commands/ARRINSERT.js new file mode 100644 index 0000000..99ae56c --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/ARRINSERT.js @@ -0,0 +1,27 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Inserts one or more values into an array at the specified index. + * Returns the new array length after insert, or null if the path does not exist. + * + * @param parser - The Redis command parser + * @param key - The key containing the array + * @param path - Path to the array in the JSON document + * @param index - The position where to insert the values + * @param json - The first value to insert + * @param jsons - Additional values to insert + */ + parseCommand(parser, key, path, index, json, ...jsons) { + parser.push('JSON.ARRINSERT'); + parser.pushKey(key); + parser.push(path, index.toString(), (0, generic_transformers_1.transformRedisJsonArgument)(json)); + for (let i = 0; i < jsons.length; i++) { + parser.push((0, generic_transformers_1.transformRedisJsonArgument)(jsons[i])); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=ARRINSERT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/ARRINSERT.js.map b/back/node_modules/@redis/json/dist/lib/commands/ARRINSERT.js.map new file mode 100644 index 0000000..62a010c --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/ARRINSERT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ARRINSERT.js","sourceRoot":"","sources":["../../../lib/commands/ARRINSERT.ts"],"names":[],"mappings":";;AAEA,+FAA6G;AAE7G,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;;;OAUG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,IAAmB,EACnB,KAAa,EACb,IAAe,EACf,GAAG,KAAuB;QAE1B,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAA,iDAA0B,EAAC,IAAI,CAAC,CAAC,CAAC;QAEtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,IAAA,iDAA0B,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAA+E;CACrE,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/ARRLEN.d.ts b/back/node_modules/@redis/json/dist/lib/commands/ARRLEN.d.ts new file mode 100644 index 0000000..869e472 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/ARRLEN.d.ts @@ -0,0 +1,21 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, ArrayReply, NumberReply, NullReply } from '@redis/client/dist/lib/RESP/types'; +export interface JsonArrLenOptions { + path?: RedisArgument; +} +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns the length of an array in a JSON document. + * Returns null if the path does not exist or the value is not an array. + * + * @param parser - The Redis command parser + * @param key - The key containing the array + * @param options - Optional parameters + * @param options.path - Path to the array in the JSON document + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, options?: JsonArrLenOptions) => void; + readonly transformReply: () => NumberReply | ArrayReply; +}; +export default _default; +//# sourceMappingURL=ARRLEN.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/ARRLEN.d.ts.map b/back/node_modules/@redis/json/dist/lib/commands/ARRLEN.d.ts.map new file mode 100644 index 0000000..20d96bd --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/ARRLEN.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ARRLEN.d.ts","sourceRoot":"","sources":["../../../lib/commands/ARRLEN.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAW,MAAM,mCAAmC,CAAC;AAE/G,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;;;IAIC;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa,YAAY,iBAAiB;mCAOrC,WAAW,GAAG,WAAW,WAAW,GAAG,SAAS,CAAC;;AAlBjG,wBAmB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/ARRLEN.js b/back/node_modules/@redis/json/dist/lib/commands/ARRLEN.js new file mode 100644 index 0000000..9de1eb7 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/ARRLEN.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns the length of an array in a JSON document. + * Returns null if the path does not exist or the value is not an array. + * + * @param parser - The Redis command parser + * @param key - The key containing the array + * @param options - Optional parameters + * @param options.path - Path to the array in the JSON document + */ + parseCommand(parser, key, options) { + parser.push('JSON.ARRLEN'); + parser.pushKey(key); + if (options?.path !== undefined) { + parser.push(options.path); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=ARRLEN.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/ARRLEN.js.map b/back/node_modules/@redis/json/dist/lib/commands/ARRLEN.js.map new file mode 100644 index 0000000..4b8d5d5 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/ARRLEN.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ARRLEN.js","sourceRoot":"","sources":["../../../lib/commands/ARRLEN.ts"],"names":[],"mappings":";;AAOA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,OAA2B;QACjF,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAA+E;CACrE,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/ARRPOP.d.ts b/back/node_modules/@redis/json/dist/lib/commands/ARRPOP.d.ts new file mode 100644 index 0000000..42ac7ad --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/ARRPOP.d.ts @@ -0,0 +1,26 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, ArrayReply, NullReply, BlobStringReply } from '@redis/client/dist/lib/RESP/types'; +export interface RedisArrPopOptions { + path: RedisArgument; + index?: number; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Removes and returns an element from an array in a JSON document. + * Returns null if the path does not exist or the value is not an array. + * + * @param parser - The Redis command parser + * @param key - The key containing the array + * @param options - Optional parameters + * @param options.path - Path to the array in the JSON document + * @param options.index - Optional index to pop from. Default is -1 (last element) + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, options?: RedisArrPopOptions) => void; + readonly transformReply: (this: void, reply: NullReply | BlobStringReply | ArrayReply) => string | number | boolean | Date | { + [key: string]: import("@redis/client/dist/lib/commands/generic-transformers").RedisJSON; + [key: number]: import("@redis/client/dist/lib/commands/generic-transformers").RedisJSON; + } | NullReply | (import("@redis/client/dist/lib/commands/generic-transformers").RedisJSON | NullReply)[] | null; +}; +export default _default; +//# sourceMappingURL=ARRPOP.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/ARRPOP.d.ts.map b/back/node_modules/@redis/json/dist/lib/commands/ARRPOP.d.ts.map new file mode 100644 index 0000000..ac42fc1 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/ARRPOP.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ARRPOP.d.ts","sourceRoot":"","sources":["../../../lib/commands/ARRPOP.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAwB,MAAM,mCAAmC,CAAC;AAGhI,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;;;IAIC;;;;;;;;;OASG;gDACkB,aAAa,OAAO,aAAa,YAAY,kBAAkB;iDAY9D,SAAS,GAAG,eAAe,GAAG,WAAW,SAAS,GAAG,eAAe,CAAC;;;;;AAxB7F,wBA6B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/ARRPOP.js b/back/node_modules/@redis/json/dist/lib/commands/ARRPOP.js new file mode 100644 index 0000000..c4ecfde --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/ARRPOP.js @@ -0,0 +1,32 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Removes and returns an element from an array in a JSON document. + * Returns null if the path does not exist or the value is not an array. + * + * @param parser - The Redis command parser + * @param key - The key containing the array + * @param options - Optional parameters + * @param options.path - Path to the array in the JSON document + * @param options.index - Optional index to pop from. Default is -1 (last element) + */ + parseCommand(parser, key, options) { + parser.push('JSON.ARRPOP'); + parser.pushKey(key); + if (options) { + parser.push(options.path); + if (options.index !== undefined) { + parser.push(options.index.toString()); + } + } + }, + transformReply(reply) { + return (0, generic_transformers_1.isArrayReply)(reply) ? + reply.map(item => (0, generic_transformers_1.transformRedisJsonNullReply)(item)) : + (0, generic_transformers_1.transformRedisJsonNullReply)(reply); + } +}; +//# sourceMappingURL=ARRPOP.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/ARRPOP.js.map b/back/node_modules/@redis/json/dist/lib/commands/ARRPOP.js.map new file mode 100644 index 0000000..9bd8cc4 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/ARRPOP.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ARRPOP.js","sourceRoot":"","sources":["../../../lib/commands/ARRPOP.ts"],"names":[],"mappings":";;AAEA,+FAAiH;AAOjH,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;;OASG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,OAA4B;QAClF,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAE1B,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;IACH,CAAC;IACD,cAAc,CAAC,KAA4E;QACzF,OAAO,IAAA,mCAAY,EAAC,KAAK,CAAC,CAAC,CAAC;YACzB,KAA8C,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,kDAA2B,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChG,IAAA,kDAA2B,EAAC,KAAK,CAAC,CAAC;IACvC,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/ARRTRIM.d.ts b/back/node_modules/@redis/json/dist/lib/commands/ARRTRIM.d.ts new file mode 100644 index 0000000..7bf9cfc --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/ARRTRIM.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, ArrayReply, NumberReply, NullReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Trims an array in a JSON document to include only elements within the specified range. + * Returns the new array length after trimming, or null if the path does not exist. + * + * @param parser - The Redis command parser + * @param key - The key containing the array + * @param path - Path to the array in the JSON document + * @param start - Starting index (inclusive) + * @param stop - Ending index (inclusive) + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, path: RedisArgument, start: number, stop: number) => void; + readonly transformReply: () => NumberReply | ArrayReply; +}; +export default _default; +//# sourceMappingURL=ARRTRIM.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/ARRTRIM.d.ts.map b/back/node_modules/@redis/json/dist/lib/commands/ARRTRIM.d.ts.map new file mode 100644 index 0000000..19c7fc0 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/ARRTRIM.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ARRTRIM.d.ts","sourceRoot":"","sources":["../../../lib/commands/ARRTRIM.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAW,MAAM,mCAAmC,CAAC;;;IAI7G;;;;;;;;;OASG;gDACkB,aAAa,OAAO,aAAa,QAAQ,aAAa,SAAS,MAAM,QAAQ,MAAM;mCAK1D,WAAW,GAAG,WAAW,WAAW,GAAG,SAAS,CAAC;;AAjBjG,wBAkB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/ARRTRIM.js b/back/node_modules/@redis/json/dist/lib/commands/ARRTRIM.js new file mode 100644 index 0000000..c480d7a --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/ARRTRIM.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Trims an array in a JSON document to include only elements within the specified range. + * Returns the new array length after trimming, or null if the path does not exist. + * + * @param parser - The Redis command parser + * @param key - The key containing the array + * @param path - Path to the array in the JSON document + * @param start - Starting index (inclusive) + * @param stop - Ending index (inclusive) + */ + parseCommand(parser, key, path, start, stop) { + parser.push('JSON.ARRTRIM'); + parser.pushKey(key); + parser.push(path, start.toString(), stop.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=ARRTRIM.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/ARRTRIM.js.map b/back/node_modules/@redis/json/dist/lib/commands/ARRTRIM.js.map new file mode 100644 index 0000000..9c5e716 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/ARRTRIM.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ARRTRIM.js","sourceRoot":"","sources":["../../../lib/commands/ARRTRIM.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;;OASG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,IAAmB,EAAE,KAAa,EAAE,IAAY;QACtG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,cAAc,EAAE,SAA+E;CACrE,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/CLEAR.d.ts b/back/node_modules/@redis/json/dist/lib/commands/CLEAR.d.ts new file mode 100644 index 0000000..d5fd2e0 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/CLEAR.d.ts @@ -0,0 +1,21 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, NumberReply } from '@redis/client/dist/lib/RESP/types'; +export interface JsonClearOptions { + path?: RedisArgument; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Clears container values (arrays/objects) in a JSON document. + * Returns the number of values cleared (0 or 1), or null if the path does not exist. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param options - Optional parameters + * @param options.path - Path to the container to clear + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, options?: JsonClearOptions) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=CLEAR.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/CLEAR.d.ts.map b/back/node_modules/@redis/json/dist/lib/commands/CLEAR.d.ts.map new file mode 100644 index 0000000..a111fb8 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/CLEAR.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CLEAR.d.ts","sourceRoot":"","sources":["../../../lib/commands/CLEAR.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,mCAAmC,CAAC;AAExF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;;;IAIC;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa,YAAY,gBAAgB;mCAQpC,WAAW;;AAnB3D,wBAoB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/CLEAR.js b/back/node_modules/@redis/json/dist/lib/commands/CLEAR.js new file mode 100644 index 0000000..2aa1fb0 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/CLEAR.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Clears container values (arrays/objects) in a JSON document. + * Returns the number of values cleared (0 or 1), or null if the path does not exist. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param options - Optional parameters + * @param options.path - Path to the container to clear + */ + parseCommand(parser, key, options) { + parser.push('JSON.CLEAR'); + parser.pushKey(key); + if (options?.path !== undefined) { + parser.push(options.path); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=CLEAR.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/CLEAR.js.map b/back/node_modules/@redis/json/dist/lib/commands/CLEAR.js.map new file mode 100644 index 0000000..85050e4 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/CLEAR.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CLEAR.js","sourceRoot":"","sources":["../../../lib/commands/CLEAR.ts"],"names":[],"mappings":";;AAOA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,OAA0B;QAChF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/DEBUG_MEMORY.d.ts b/back/node_modules/@redis/json/dist/lib/commands/DEBUG_MEMORY.d.ts new file mode 100644 index 0000000..efbd305 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/DEBUG_MEMORY.d.ts @@ -0,0 +1,21 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, NumberReply } from '@redis/client/dist/lib/RESP/types'; +export interface JsonDebugMemoryOptions { + path?: RedisArgument; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Reports memory usage details for a JSON document value. + * Returns size in bytes of the value, or null if the key or path does not exist. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param options - Optional parameters + * @param options.path - Path to the value to examine + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, options?: JsonDebugMemoryOptions) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=DEBUG_MEMORY.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/DEBUG_MEMORY.d.ts.map b/back/node_modules/@redis/json/dist/lib/commands/DEBUG_MEMORY.d.ts.map new file mode 100644 index 0000000..195eb72 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/DEBUG_MEMORY.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"DEBUG_MEMORY.d.ts","sourceRoot":"","sources":["../../../lib/commands/DEBUG_MEMORY.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,mCAAmC,CAAC;AAExF,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;;;IAIC;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa,YAAY,sBAAsB;mCAQ1C,WAAW;;AAnB3D,wBAoB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/DEBUG_MEMORY.js b/back/node_modules/@redis/json/dist/lib/commands/DEBUG_MEMORY.js new file mode 100644 index 0000000..3d64fc6 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/DEBUG_MEMORY.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Reports memory usage details for a JSON document value. + * Returns size in bytes of the value, or null if the key or path does not exist. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param options - Optional parameters + * @param options.path - Path to the value to examine + */ + parseCommand(parser, key, options) { + parser.push('JSON.DEBUG', 'MEMORY'); + parser.pushKey(key); + if (options?.path !== undefined) { + parser.push(options.path); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=DEBUG_MEMORY.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/DEBUG_MEMORY.js.map b/back/node_modules/@redis/json/dist/lib/commands/DEBUG_MEMORY.js.map new file mode 100644 index 0000000..aef5491 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/DEBUG_MEMORY.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DEBUG_MEMORY.js","sourceRoot":"","sources":["../../../lib/commands/DEBUG_MEMORY.ts"],"names":[],"mappings":";;AAOA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,OAAgC;QACtF,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/DEL.d.ts b/back/node_modules/@redis/json/dist/lib/commands/DEL.d.ts new file mode 100644 index 0000000..8e61064 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/DEL.d.ts @@ -0,0 +1,21 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, NumberReply } from '@redis/client/dist/lib/RESP/types'; +export interface JsonDelOptions { + path?: RedisArgument; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Deletes a value from a JSON document. + * Returns the number of paths deleted (0 or 1), or null if the key does not exist. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param options - Optional parameters + * @param options.path - Path to the value to delete + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, options?: JsonDelOptions) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=DEL.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/DEL.d.ts.map b/back/node_modules/@redis/json/dist/lib/commands/DEL.d.ts.map new file mode 100644 index 0000000..ed68160 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/DEL.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"DEL.d.ts","sourceRoot":"","sources":["../../../lib/commands/DEL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,mCAAmC,CAAC;AAExF,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,aAAa,CAAA;CACrB;;;IAIC;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa,YAAY,cAAc;mCAQlC,WAAW;;AAnB3D,wBAoB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/DEL.js b/back/node_modules/@redis/json/dist/lib/commands/DEL.js new file mode 100644 index 0000000..7e71538 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/DEL.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Deletes a value from a JSON document. + * Returns the number of paths deleted (0 or 1), or null if the key does not exist. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param options - Optional parameters + * @param options.path - Path to the value to delete + */ + parseCommand(parser, key, options) { + parser.push('JSON.DEL'); + parser.pushKey(key); + if (options?.path !== undefined) { + parser.push(options.path); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=DEL.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/DEL.js.map b/back/node_modules/@redis/json/dist/lib/commands/DEL.js.map new file mode 100644 index 0000000..2b13322 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/DEL.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DEL.js","sourceRoot":"","sources":["../../../lib/commands/DEL.ts"],"names":[],"mappings":";;AAOA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,OAAwB;QAC9E,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/FORGET.d.ts b/back/node_modules/@redis/json/dist/lib/commands/FORGET.d.ts new file mode 100644 index 0000000..530cb0d --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/FORGET.d.ts @@ -0,0 +1,21 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, NumberReply } from '@redis/client/dist/lib/RESP/types'; +export interface JsonForgetOptions { + path?: RedisArgument; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Alias for JSON.DEL - Deletes a value from a JSON document. + * Returns the number of paths deleted (0 or 1), or null if the key does not exist. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param options - Optional parameters + * @param options.path - Path to the value to delete + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, options?: JsonForgetOptions) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=FORGET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/FORGET.d.ts.map b/back/node_modules/@redis/json/dist/lib/commands/FORGET.d.ts.map new file mode 100644 index 0000000..c0aa529 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/FORGET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"FORGET.d.ts","sourceRoot":"","sources":["../../../lib/commands/FORGET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,mCAAmC,CAAC;AAExF,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;;;IAIC;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa,YAAY,iBAAiB;mCAQrC,WAAW;;AAnB3D,wBAoB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/FORGET.js b/back/node_modules/@redis/json/dist/lib/commands/FORGET.js new file mode 100644 index 0000000..d7f2ec3 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/FORGET.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Alias for JSON.DEL - Deletes a value from a JSON document. + * Returns the number of paths deleted (0 or 1), or null if the key does not exist. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param options - Optional parameters + * @param options.path - Path to the value to delete + */ + parseCommand(parser, key, options) { + parser.push('JSON.FORGET'); + parser.pushKey(key); + if (options?.path !== undefined) { + parser.push(options.path); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=FORGET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/FORGET.js.map b/back/node_modules/@redis/json/dist/lib/commands/FORGET.js.map new file mode 100644 index 0000000..a0640e4 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/FORGET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FORGET.js","sourceRoot":"","sources":["../../../lib/commands/FORGET.ts"],"names":[],"mappings":";;AAOA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,OAA2B;QACjF,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/GET.d.ts b/back/node_modules/@redis/json/dist/lib/commands/GET.d.ts new file mode 100644 index 0000000..dbda414 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/GET.d.ts @@ -0,0 +1,22 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument } from '@redis/client/dist/lib/RESP/types'; +import { RedisVariadicArgument, transformRedisJsonNullReply } from '@redis/client/dist/lib/commands/generic-transformers'; +export interface JsonGetOptions { + path?: RedisVariadicArgument; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Gets values from a JSON document. + * Returns the value at the specified path, or null if the key or path does not exist. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param options - Optional parameters + * @param options.path - Path(s) to the value(s) to retrieve + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, options?: JsonGetOptions) => void; + readonly transformReply: typeof transformRedisJsonNullReply; +}; +export default _default; +//# sourceMappingURL=GET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/GET.d.ts.map b/back/node_modules/@redis/json/dist/lib/commands/GET.d.ts.map new file mode 100644 index 0000000..7966dcd --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/GET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../lib/commands/GET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAW,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;AAE1H,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,qBAAqB,CAAC;CAC9B;;;IAIC;;;;;;;;OAQG;gDAEO,aAAa,OAChB,aAAa,YACR,cAAc;;;AAd5B,wBAuB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/GET.js b/back/node_modules/@redis/json/dist/lib/commands/GET.js new file mode 100644 index 0000000..d1da134 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/GET.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Gets values from a JSON document. + * Returns the value at the specified path, or null if the key or path does not exist. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param options - Optional parameters + * @param options.path - Path(s) to the value(s) to retrieve + */ + parseCommand(parser, key, options) { + parser.push('JSON.GET'); + parser.pushKey(key); + if (options?.path !== undefined) { + parser.pushVariadic(options.path); + } + }, + transformReply: generic_transformers_1.transformRedisJsonNullReply +}; +//# sourceMappingURL=GET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/GET.js.map b/back/node_modules/@redis/json/dist/lib/commands/GET.js.map new file mode 100644 index 0000000..54d478f --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/GET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../lib/commands/GET.ts"],"names":[],"mappings":";;AAEA,+FAA0H;AAM1H,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;OAQG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,OAAwB;QAExB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,cAAc,EAAE,kDAA2B;CACjB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/MERGE.d.ts b/back/node_modules/@redis/json/dist/lib/commands/MERGE.d.ts new file mode 100644 index 0000000..527e58c --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/MERGE.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { SimpleStringReply, RedisArgument } from '@redis/client/dist/lib/RESP/types'; +import { RedisJSON } from '@redis/client/dist/lib/commands/generic-transformers'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Merges a given JSON value into a JSON document. + * Returns OK on success, or null if the key does not exist. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param path - Path to merge into + * @param value - JSON value to merge + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, path: RedisArgument, value: RedisJSON) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=MERGE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/MERGE.d.ts.map b/back/node_modules/@redis/json/dist/lib/commands/MERGE.d.ts.map new file mode 100644 index 0000000..5355a31 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/MERGE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MERGE.d.ts","sourceRoot":"","sources":["../../../lib/commands/MERGE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAW,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAC9F,OAAO,EAAE,SAAS,EAA8B,MAAM,sDAAsD,CAAC;;;IAI3G;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa,QAAQ,aAAa,SAAS,SAAS;mCAK/C,kBAAkB,IAAI,CAAC;;AAhBvE,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/MERGE.js b/back/node_modules/@redis/json/dist/lib/commands/MERGE.js new file mode 100644 index 0000000..a25cb4b --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/MERGE.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Merges a given JSON value into a JSON document. + * Returns OK on success, or null if the key does not exist. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param path - Path to merge into + * @param value - JSON value to merge + */ + parseCommand(parser, key, path, value) { + parser.push('JSON.MERGE'); + parser.pushKey(key); + parser.push(path, (0, generic_transformers_1.transformRedisJsonArgument)(value)); + }, + transformReply: undefined +}; +//# sourceMappingURL=MERGE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/MERGE.js.map b/back/node_modules/@redis/json/dist/lib/commands/MERGE.js.map new file mode 100644 index 0000000..371d63a --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/MERGE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MERGE.js","sourceRoot":"","sources":["../../../lib/commands/MERGE.ts"],"names":[],"mappings":";;AAEA,+FAA6G;AAE7G,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,IAAmB,EAAE,KAAgB;QAC3F,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAA,iDAA0B,EAAC,KAAK,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/MGET.d.ts b/back/node_modules/@redis/json/dist/lib/commands/MGET.d.ts new file mode 100644 index 0000000..d32811e --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/MGET.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, UnwrapReply, ArrayReply, NullReply, BlobStringReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Gets values at a specific path from multiple JSON documents. + * Returns an array of values at the path from each key, null for missing keys/paths. + * + * @param parser - The Redis command parser + * @param keys - Array of keys containing JSON documents + * @param path - Path to retrieve from each document + */ + readonly parseCommand: (this: void, parser: CommandParser, keys: Array, path: RedisArgument) => void; + readonly transformReply: (this: void, reply: UnwrapReply>) => (import("@redis/client/dist/lib/commands/generic-transformers").RedisJSON | NullReply)[]; +}; +export default _default; +//# sourceMappingURL=MGET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/MGET.d.ts.map b/back/node_modules/@redis/json/dist/lib/commands/MGET.d.ts.map new file mode 100644 index 0000000..854b380 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/MGET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MGET.d.ts","sourceRoot":"","sources":["../../../lib/commands/MGET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAW,MAAM,mCAAmC,CAAC;;;IAK9H;;;;;;;OAOG;gDACkB,aAAa,QAAQ,MAAM,aAAa,CAAC,QAAQ,aAAa;iDAK7D,YAAY,WAAW,SAAS,GAAG,eAAe,CAAC,CAAC;;AAf5E,wBAkB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/MGET.js b/back/node_modules/@redis/json/dist/lib/commands/MGET.js new file mode 100644 index 0000000..87ef13a --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/MGET.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +exports.default = { + IS_READ_ONLY: true, + /** + * Gets values at a specific path from multiple JSON documents. + * Returns an array of values at the path from each key, null for missing keys/paths. + * + * @param parser - The Redis command parser + * @param keys - Array of keys containing JSON documents + * @param path - Path to retrieve from each document + */ + parseCommand(parser, keys, path) { + parser.push('JSON.MGET'); + parser.pushKeys(keys); + parser.push(path); + }, + transformReply(reply) { + return reply.map(json => (0, generic_transformers_1.transformRedisJsonNullReply)(json)); + } +}; +//# sourceMappingURL=MGET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/MGET.js.map b/back/node_modules/@redis/json/dist/lib/commands/MGET.js.map new file mode 100644 index 0000000..0f95386 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/MGET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MGET.js","sourceRoot":"","sources":["../../../lib/commands/MGET.ts"],"names":[],"mappings":";;AAEA,+FAAmG;AAEnG,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,IAA0B,EAAE,IAAmB;QACjF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,cAAc,CAAC,KAA2D;QACxE,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,kDAA2B,EAAC,IAAI,CAAC,CAAC,CAAA;IAC7D,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/MSET.d.ts b/back/node_modules/@redis/json/dist/lib/commands/MSET.d.ts new file mode 100644 index 0000000..533fb6c --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/MSET.d.ts @@ -0,0 +1,25 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, SimpleStringReply } from '@redis/client/dist/lib/RESP/types'; +import { RedisJSON } from '@redis/client/dist/lib/commands/generic-transformers'; +export interface JsonMSetItem { + key: RedisArgument; + path: RedisArgument; + value: RedisJSON; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Sets multiple JSON values in multiple documents. + * Returns OK on success. + * + * @param parser - The Redis command parser + * @param items - Array of objects containing key, path, and value to set + * @param items[].key - The key containing the JSON document + * @param items[].path - Path in the document to set + * @param items[].value - JSON value to set at the path + */ + readonly parseCommand: (this: void, parser: CommandParser, items: Array) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=MSET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/MSET.d.ts.map b/back/node_modules/@redis/json/dist/lib/commands/MSET.d.ts.map new file mode 100644 index 0000000..399b92d --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/MSET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MSET.d.ts","sourceRoot":"","sources":["../../../lib/commands/MSET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,mCAAmC,CAAC;AAC9F,OAAO,EAAE,SAAS,EAA8B,MAAM,sDAAsD,CAAC;AAE7G,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,aAAa,CAAC;IACnB,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,SAAS,CAAC;CAClB;;;IAIC;;;;;;;;;OASG;gDACkB,aAAa,SAAS,MAAM,YAAY,CAAC;mCAQhB,kBAAkB,IAAI,CAAC;;AApBvE,wBAqB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/MSET.js b/back/node_modules/@redis/json/dist/lib/commands/MSET.js new file mode 100644 index 0000000..7c3ff46 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/MSET.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Sets multiple JSON values in multiple documents. + * Returns OK on success. + * + * @param parser - The Redis command parser + * @param items - Array of objects containing key, path, and value to set + * @param items[].key - The key containing the JSON document + * @param items[].path - Path in the document to set + * @param items[].value - JSON value to set at the path + */ + parseCommand(parser, items) { + parser.push('JSON.MSET'); + for (let i = 0; i < items.length; i++) { + parser.pushKey(items[i].key); + parser.push(items[i].path, (0, generic_transformers_1.transformRedisJsonArgument)(items[i].value)); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=MSET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/MSET.js.map b/back/node_modules/@redis/json/dist/lib/commands/MSET.js.map new file mode 100644 index 0000000..a8b9c77 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/MSET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MSET.js","sourceRoot":"","sources":["../../../lib/commands/MSET.ts"],"names":[],"mappings":";;AAEA,+FAA6G;AAQ7G,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;;OASG;IACH,YAAY,CAAC,MAAqB,EAAE,KAA0B;QAC5D,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAA,iDAA0B,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/NUMINCRBY.d.ts b/back/node_modules/@redis/json/dist/lib/commands/NUMINCRBY.d.ts new file mode 100644 index 0000000..5704efc --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/NUMINCRBY.d.ts @@ -0,0 +1,21 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, ArrayReply, NumberReply, DoubleReply, NullReply, BlobStringReply, UnwrapReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Increments a numeric value stored in a JSON document by a given number. + * Returns the value after increment, or null if the key/path doesn't exist or value is not numeric. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param path - Path to the numeric value + * @param by - Amount to increment by + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, path: RedisArgument, by: number) => void; + readonly transformReply: { + readonly 2: (reply: UnwrapReply) => number | (number | null)[]; + readonly 3: () => ArrayReply; + }; +}; +export default _default; +//# sourceMappingURL=NUMINCRBY.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/NUMINCRBY.d.ts.map b/back/node_modules/@redis/json/dist/lib/commands/NUMINCRBY.d.ts.map new file mode 100644 index 0000000..f914085 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/NUMINCRBY.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"NUMINCRBY.d.ts","sourceRoot":"","sources":["../../../lib/commands/NUMINCRBY.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAW,MAAM,mCAAmC,CAAC;;;IAIxJ;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa,QAAQ,aAAa,MAAM,MAAM;;4BAM1E,YAAY,eAAe,CAAC;0BAGN,WAAW,WAAW,GAAG,WAAW,GAAG,SAAS,CAAC;;;AApBtF,wBAsB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/NUMINCRBY.js b/back/node_modules/@redis/json/dist/lib/commands/NUMINCRBY.js new file mode 100644 index 0000000..91fd915 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/NUMINCRBY.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Increments a numeric value stored in a JSON document by a given number. + * Returns the value after increment, or null if the key/path doesn't exist or value is not numeric. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param path - Path to the numeric value + * @param by - Amount to increment by + */ + parseCommand(parser, key, path, by) { + parser.push('JSON.NUMINCRBY'); + parser.pushKey(key); + parser.push(path, by.toString()); + }, + transformReply: { + 2: (reply) => { + return JSON.parse(reply.toString()); + }, + 3: undefined + } +}; +//# sourceMappingURL=NUMINCRBY.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/NUMINCRBY.js.map b/back/node_modules/@redis/json/dist/lib/commands/NUMINCRBY.js.map new file mode 100644 index 0000000..d4d43ab --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/NUMINCRBY.js.map @@ -0,0 +1 @@ +{"version":3,"file":"NUMINCRBY.js","sourceRoot":"","sources":["../../../lib/commands/NUMINCRBY.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,IAAmB,EAAE,EAAU;QACrF,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnC,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAAmC,EAAE,EAAE;YACzC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAkC,CAAC;QACvE,CAAC;QACD,CAAC,EAAE,SAA+E;KACnF;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/NUMMULTBY.d.ts b/back/node_modules/@redis/json/dist/lib/commands/NUMMULTBY.d.ts new file mode 100644 index 0000000..4c49190 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/NUMMULTBY.d.ts @@ -0,0 +1,21 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Multiplies a numeric value stored in a JSON document by a given number. + * Returns the value after multiplication, or null if the key/path doesn't exist or value is not numeric. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param path - Path to the numeric value + * @param by - Amount to multiply by + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, path: RedisArgument, by: number) => void; + readonly transformReply: { + readonly 2: (reply: import("@redis/client/dist/lib/RESP/types").UnwrapReply>) => number | (number | null)[]; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").DoubleReply>; + }; +}; +export default _default; +//# sourceMappingURL=NUMMULTBY.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/NUMMULTBY.d.ts.map b/back/node_modules/@redis/json/dist/lib/commands/NUMMULTBY.d.ts.map new file mode 100644 index 0000000..e20fea7 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/NUMMULTBY.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"NUMMULTBY.d.ts","sourceRoot":"","sources":["../../../lib/commands/NUMMULTBY.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAW,MAAM,mCAAmC,CAAC;;;IAKzE;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa,QAAQ,aAAa,MAAM,MAAM;;;;;;AAXzF,wBAiB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/NUMMULTBY.js b/back/node_modules/@redis/json/dist/lib/commands/NUMMULTBY.js new file mode 100644 index 0000000..661c0d0 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/NUMMULTBY.js @@ -0,0 +1,25 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const NUMINCRBY_1 = __importDefault(require("./NUMINCRBY")); +exports.default = { + IS_READ_ONLY: false, + /** + * Multiplies a numeric value stored in a JSON document by a given number. + * Returns the value after multiplication, or null if the key/path doesn't exist or value is not numeric. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param path - Path to the numeric value + * @param by - Amount to multiply by + */ + parseCommand(parser, key, path, by) { + parser.push('JSON.NUMMULTBY'); + parser.pushKey(key); + parser.push(path, by.toString()); + }, + transformReply: NUMINCRBY_1.default.transformReply +}; +//# sourceMappingURL=NUMMULTBY.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/NUMMULTBY.js.map b/back/node_modules/@redis/json/dist/lib/commands/NUMMULTBY.js.map new file mode 100644 index 0000000..46bde95 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/NUMMULTBY.js.map @@ -0,0 +1 @@ +{"version":3,"file":"NUMMULTBY.js","sourceRoot":"","sources":["../../../lib/commands/NUMMULTBY.ts"],"names":[],"mappings":";;;;;AAEA,4DAAoC;AAEpC,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,IAAmB,EAAE,EAAU;QACrF,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnC,CAAC;IACD,cAAc,EAAE,mBAAS,CAAC,cAAc;CACd,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/OBJKEYS.d.ts b/back/node_modules/@redis/json/dist/lib/commands/OBJKEYS.d.ts new file mode 100644 index 0000000..069b03e --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/OBJKEYS.d.ts @@ -0,0 +1,21 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply, NullReply } from '@redis/client/dist/lib/RESP/types'; +export interface JsonObjKeysOptions { + path?: RedisArgument; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Returns the keys in the object stored in a JSON document. + * Returns array of keys, array of arrays for multiple paths, or null if path doesn't exist. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param options - Optional parameters + * @param options.path - Path to the object to examine + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, options?: JsonObjKeysOptions) => void; + readonly transformReply: () => ArrayReply | ArrayReply | NullReply>; +}; +export default _default; +//# sourceMappingURL=OBJKEYS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/OBJKEYS.d.ts.map b/back/node_modules/@redis/json/dist/lib/commands/OBJKEYS.d.ts.map new file mode 100644 index 0000000..d4be085 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/OBJKEYS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"OBJKEYS.d.ts","sourceRoot":"","sources":["../../../lib/commands/OBJKEYS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAW,MAAM,mCAAmC,CAAC;AAEnH,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;;;IAIC;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa,YAAY,kBAAkB;mCAOtC,WAAW,eAAe,CAAC,GAAG,WAAW,WAAW,eAAe,CAAC,GAAG,SAAS,CAAC;;AAlBjI,wBAmB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/OBJKEYS.js b/back/node_modules/@redis/json/dist/lib/commands/OBJKEYS.js new file mode 100644 index 0000000..b859f74 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/OBJKEYS.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Returns the keys in the object stored in a JSON document. + * Returns array of keys, array of arrays for multiple paths, or null if path doesn't exist. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param options - Optional parameters + * @param options.path - Path to the object to examine + */ + parseCommand(parser, key, options) { + parser.push('JSON.OBJKEYS'); + parser.pushKey(key); + if (options?.path !== undefined) { + parser.push(options.path); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=OBJKEYS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/OBJKEYS.js.map b/back/node_modules/@redis/json/dist/lib/commands/OBJKEYS.js.map new file mode 100644 index 0000000..994fd99 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/OBJKEYS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"OBJKEYS.js","sourceRoot":"","sources":["../../../lib/commands/OBJKEYS.ts"],"names":[],"mappings":";;AAOA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,OAA4B;QAClF,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAA+G;CACrG,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/OBJLEN.d.ts b/back/node_modules/@redis/json/dist/lib/commands/OBJLEN.d.ts new file mode 100644 index 0000000..fc58375 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/OBJLEN.d.ts @@ -0,0 +1,21 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, NumberReply, ArrayReply, NullReply } from '@redis/client/dist/lib/RESP/types'; +export interface JsonObjLenOptions { + path?: RedisArgument; +} +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns the number of keys in the object stored in a JSON document. + * Returns length of object, array of lengths for multiple paths, or null if path doesn't exist. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param options - Optional parameters + * @param options.path - Path to the object to examine + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, options?: JsonObjLenOptions) => void; + readonly transformReply: () => NumberReply | ArrayReply; +}; +export default _default; +//# sourceMappingURL=OBJLEN.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/OBJLEN.d.ts.map b/back/node_modules/@redis/json/dist/lib/commands/OBJLEN.d.ts.map new file mode 100644 index 0000000..db87602 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/OBJLEN.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"OBJLEN.d.ts","sourceRoot":"","sources":["../../../lib/commands/OBJLEN.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAW,MAAM,mCAAmC,CAAC;AAE/G,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;;;IAIC;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa,YAAY,iBAAiB;mCAOrC,WAAW,GAAG,WAAW,WAAW,GAAG,SAAS,CAAC;;AAlBjG,wBAmB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/OBJLEN.js b/back/node_modules/@redis/json/dist/lib/commands/OBJLEN.js new file mode 100644 index 0000000..2e6eb8e --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/OBJLEN.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns the number of keys in the object stored in a JSON document. + * Returns length of object, array of lengths for multiple paths, or null if path doesn't exist. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param options - Optional parameters + * @param options.path - Path to the object to examine + */ + parseCommand(parser, key, options) { + parser.push('JSON.OBJLEN'); + parser.pushKey(key); + if (options?.path !== undefined) { + parser.push(options.path); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=OBJLEN.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/OBJLEN.js.map b/back/node_modules/@redis/json/dist/lib/commands/OBJLEN.js.map new file mode 100644 index 0000000..57fe001 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/OBJLEN.js.map @@ -0,0 +1 @@ +{"version":3,"file":"OBJLEN.js","sourceRoot":"","sources":["../../../lib/commands/OBJLEN.ts"],"names":[],"mappings":";;AAOA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,OAA2B;QACjF,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAA+E;CACrE,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/RESP.d.ts b/back/node_modules/@redis/json/dist/lib/commands/RESP.d.ts new file mode 100644 index 0000000..16b7295 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/RESP.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from "@redis/client/dist/lib/client/parser"; +import { RedisArgument } from "@redis/client/dist/lib/RESP/types"; +type RESPReply = Array; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns the JSON value at the specified path in RESP (Redis Serialization Protocol) format. + * Returns the value in RESP form, useful for language-independent processing. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param path - Optional path to the value in the document + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, path?: string) => void; + readonly transformReply: () => RESPReply; +}; +export default _default; +//# sourceMappingURL=RESP.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/RESP.d.ts.map b/back/node_modules/@redis/json/dist/lib/commands/RESP.d.ts.map new file mode 100644 index 0000000..c64de79 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/RESP.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"RESP.d.ts","sourceRoot":"","sources":["../../../lib/commands/RESP.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAW,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAE3E,KAAK,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;;;IAIhD;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,SAAS,MAAM;;;AAVzE,wBAkB+B"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/RESP.js b/back/node_modules/@redis/json/dist/lib/commands/RESP.js new file mode 100644 index 0000000..50697b4 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/RESP.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns the JSON value at the specified path in RESP (Redis Serialization Protocol) format. + * Returns the value in RESP form, useful for language-independent processing. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param path - Optional path to the value in the document + */ + parseCommand(parser, key, path) { + parser.push('JSON.RESP'); + parser.pushKey(key); + if (path !== undefined) { + parser.push(path); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=RESP.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/RESP.js.map b/back/node_modules/@redis/json/dist/lib/commands/RESP.js.map new file mode 100644 index 0000000..58b91c8 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/RESP.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RESP.js","sourceRoot":"","sources":["../../../lib/commands/RESP.ts"],"names":[],"mappings":";;AAKA,kBAAe;IACX,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,IAAa;QACnE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAuC;CAC7B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/SET.d.ts b/back/node_modules/@redis/json/dist/lib/commands/SET.d.ts new file mode 100644 index 0000000..c75a2bb --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/SET.d.ts @@ -0,0 +1,34 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, SimpleStringReply, NullReply } from '@redis/client/dist/lib/RESP/types'; +import { RedisJSON } from '@redis/client/dist/lib/commands/generic-transformers'; +export interface JsonSetOptions { + condition?: 'NX' | 'XX'; + /** + * @deprecated Use `{ condition: 'NX' }` instead. + */ + NX?: boolean; + /** + * @deprecated Use `{ condition: 'XX' }` instead. + */ + XX?: boolean; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Sets a JSON value at a specific path in a JSON document. + * Returns OK on success, or null if condition (NX/XX) is not met. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param path - Path in the document to set + * @param json - JSON value to set at the path + * @param options - Optional parameters + * @param options.condition - Set condition: NX (only if doesn't exist) or XX (only if exists) + * @deprecated options.NX - Use options.condition instead + * @deprecated options.XX - Use options.condition instead + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, path: RedisArgument, json: RedisJSON, options?: JsonSetOptions) => void; + readonly transformReply: () => SimpleStringReply<'OK'> | NullReply; +}; +export default _default; +//# sourceMappingURL=SET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/SET.d.ts.map b/back/node_modules/@redis/json/dist/lib/commands/SET.d.ts.map new file mode 100644 index 0000000..2696ded --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/SET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SET.d.ts","sourceRoot":"","sources":["../../../lib/commands/SET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,SAAS,EAAW,MAAM,mCAAmC,CAAC;AACzG,OAAO,EAAE,SAAS,EAA8B,MAAM,sDAAsD,CAAC;AAE7G,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB;;OAEG;IACH,EAAE,CAAC,EAAE,OAAO,CAAC;IACb;;OAEG;IACH,EAAE,CAAC,EAAE,OAAO,CAAC;CACd;;;IAIC;;;;;;;;;;;;OAYG;gDAEO,aAAa,OAChB,aAAa,QACZ,aAAa,QACb,SAAS,YACL,cAAc;mCAcoB,kBAAkB,IAAI,CAAC,GAAG,SAAS;;AAlCnF,wBAmC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/SET.js b/back/node_modules/@redis/json/dist/lib/commands/SET.js new file mode 100644 index 0000000..296414e --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/SET.js @@ -0,0 +1,35 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Sets a JSON value at a specific path in a JSON document. + * Returns OK on success, or null if condition (NX/XX) is not met. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param path - Path in the document to set + * @param json - JSON value to set at the path + * @param options - Optional parameters + * @param options.condition - Set condition: NX (only if doesn't exist) or XX (only if exists) + * @deprecated options.NX - Use options.condition instead + * @deprecated options.XX - Use options.condition instead + */ + parseCommand(parser, key, path, json, options) { + parser.push('JSON.SET'); + parser.pushKey(key); + parser.push(path, (0, generic_transformers_1.transformRedisJsonArgument)(json)); + if (options?.condition) { + parser.push(options?.condition); + } + else if (options?.NX) { + parser.push('NX'); + } + else if (options?.XX) { + parser.push('XX'); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=SET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/SET.js.map b/back/node_modules/@redis/json/dist/lib/commands/SET.js.map new file mode 100644 index 0000000..3677c37 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/SET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SET.js","sourceRoot":"","sources":["../../../lib/commands/SET.ts"],"names":[],"mappings":";;AAEA,+FAA6G;AAc7G,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;;;;;OAYG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,IAAmB,EACnB,IAAe,EACf,OAAwB;QAExB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAA,iDAA0B,EAAC,IAAI,CAAC,CAAC,CAAC;QAEpD,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,OAAO,EAAE,EAAE,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;aAAM,IAAI,OAAO,EAAE,EAAE,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAiE;CACvD,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/STRAPPEND.d.ts b/back/node_modules/@redis/json/dist/lib/commands/STRAPPEND.d.ts new file mode 100644 index 0000000..b0ef5cd --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/STRAPPEND.d.ts @@ -0,0 +1,22 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, NullReply, NumberReply, ArrayReply } from '@redis/client/dist/lib/RESP/types'; +export interface JsonStrAppendOptions { + path?: RedisArgument; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Appends a string to a string value stored in a JSON document. + * Returns new string length after append, or null if the path doesn't exist or value is not a string. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param append - String to append + * @param options - Optional parameters + * @param options.path - Path to the string value + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, append: string, options?: JsonStrAppendOptions) => void; + readonly transformReply: () => NumberReply | ArrayReply; +}; +export default _default; +//# sourceMappingURL=STRAPPEND.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/STRAPPEND.d.ts.map b/back/node_modules/@redis/json/dist/lib/commands/STRAPPEND.d.ts.map new file mode 100644 index 0000000..87d5154 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/STRAPPEND.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"STRAPPEND.d.ts","sourceRoot":"","sources":["../../../lib/commands/STRAPPEND.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAW,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAG/G,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;;;IAIC;;;;;;;;;OASG;gDACkB,aAAa,OAAO,aAAa,UAAU,MAAM,YAAY,oBAAoB;mCAUxD,WAAW,GAAG,WAAW,SAAS,GAAG,WAAW,CAAC;;AAtBjG,wBAuB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/STRAPPEND.js b/back/node_modules/@redis/json/dist/lib/commands/STRAPPEND.js new file mode 100644 index 0000000..3e15b7e --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/STRAPPEND.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Appends a string to a string value stored in a JSON document. + * Returns new string length after append, or null if the path doesn't exist or value is not a string. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param append - String to append + * @param options - Optional parameters + * @param options.path - Path to the string value + */ + parseCommand(parser, key, append, options) { + parser.push('JSON.STRAPPEND'); + parser.pushKey(key); + if (options?.path !== undefined) { + parser.push(options.path); + } + parser.push((0, generic_transformers_1.transformRedisJsonArgument)(append)); + }, + transformReply: undefined +}; +//# sourceMappingURL=STRAPPEND.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/STRAPPEND.js.map b/back/node_modules/@redis/json/dist/lib/commands/STRAPPEND.js.map new file mode 100644 index 0000000..24233f0 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/STRAPPEND.js.map @@ -0,0 +1 @@ +{"version":3,"file":"STRAPPEND.js","sourceRoot":"","sources":["../../../lib/commands/STRAPPEND.ts"],"names":[],"mappings":";;AAEA,+FAAkG;AAMlG,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;;OASG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,MAAc,EAAE,OAA8B;QACpG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,IAAA,iDAA0B,EAAC,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,cAAc,EAAE,SAA+E;CACrE,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/STRLEN.d.ts b/back/node_modules/@redis/json/dist/lib/commands/STRLEN.d.ts new file mode 100644 index 0000000..bd1025b --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/STRLEN.d.ts @@ -0,0 +1,21 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, ArrayReply, NumberReply, NullReply } from '@redis/client/dist/lib/RESP/types'; +export interface JsonStrLenOptions { + path?: RedisArgument; +} +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns the length of a string value stored in a JSON document. + * Returns string length, array of lengths for multiple paths, or null if path doesn't exist. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param options - Optional parameters + * @param options.path - Path to the string value + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, options?: JsonStrLenOptions) => void; + readonly transformReply: () => NumberReply | ArrayReply; +}; +export default _default; +//# sourceMappingURL=STRLEN.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/STRLEN.d.ts.map b/back/node_modules/@redis/json/dist/lib/commands/STRLEN.d.ts.map new file mode 100644 index 0000000..f077f3e --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/STRLEN.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"STRLEN.d.ts","sourceRoot":"","sources":["../../../lib/commands/STRLEN.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAW,MAAM,mCAAmC,CAAC;AAE/G,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;;;IAIC;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa,YAAY,iBAAiB;mCAQrC,WAAW,GAAG,WAAW,WAAW,GAAG,SAAS,CAAC;;AAnBjG,wBAoB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/STRLEN.js b/back/node_modules/@redis/json/dist/lib/commands/STRLEN.js new file mode 100644 index 0000000..290d11b --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/STRLEN.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns the length of a string value stored in a JSON document. + * Returns string length, array of lengths for multiple paths, or null if path doesn't exist. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param options - Optional parameters + * @param options.path - Path to the string value + */ + parseCommand(parser, key, options) { + parser.push('JSON.STRLEN'); + parser.pushKey(key); + if (options?.path) { + parser.push(options.path); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=STRLEN.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/STRLEN.js.map b/back/node_modules/@redis/json/dist/lib/commands/STRLEN.js.map new file mode 100644 index 0000000..bfb558b --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/STRLEN.js.map @@ -0,0 +1 @@ +{"version":3,"file":"STRLEN.js","sourceRoot":"","sources":["../../../lib/commands/STRLEN.ts"],"names":[],"mappings":";;AAOA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,OAA2B;QACjF,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAA+E;CACrE,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/TOGGLE.d.ts b/back/node_modules/@redis/json/dist/lib/commands/TOGGLE.d.ts new file mode 100644 index 0000000..01950cf --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/TOGGLE.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, ArrayReply, NumberReply, NullReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Toggles a boolean value stored in a JSON document. + * Returns 1 if value was toggled to true, 0 if toggled to false, or null if path doesn't exist. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param path - Path to the boolean value + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, path: RedisArgument) => void; + readonly transformReply: () => NumberReply | NullReply | ArrayReply; +}; +export default _default; +//# sourceMappingURL=TOGGLE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/TOGGLE.d.ts.map b/back/node_modules/@redis/json/dist/lib/commands/TOGGLE.d.ts.map new file mode 100644 index 0000000..941cdde --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/TOGGLE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"TOGGLE.d.ts","sourceRoot":"","sources":["../../../lib/commands/TOGGLE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAY,MAAM,mCAAmC,CAAC;;;IAI9G;;;;;;;OAOG;gDACkB,aAAa,OAAO,aAAa,QAAQ,aAAa;mCAK7B,WAAW,GAAG,SAAS,GAAG,WAAW,WAAW,GAAG,SAAS,CAAC;;AAf7G,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/TOGGLE.js b/back/node_modules/@redis/json/dist/lib/commands/TOGGLE.js new file mode 100644 index 0000000..20960b7 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/TOGGLE.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Toggles a boolean value stored in a JSON document. + * Returns 1 if value was toggled to true, 0 if toggled to false, or null if path doesn't exist. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param path - Path to the boolean value + */ + parseCommand(parser, key, path) { + parser.push('JSON.TOGGLE'); + parser.pushKey(key); + parser.push(path); + }, + transformReply: undefined +}; +//# sourceMappingURL=TOGGLE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/TOGGLE.js.map b/back/node_modules/@redis/json/dist/lib/commands/TOGGLE.js.map new file mode 100644 index 0000000..7934ef5 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/TOGGLE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"TOGGLE.js","sourceRoot":"","sources":["../../../lib/commands/TOGGLE.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,IAAmB;QACzE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,cAAc,EAAE,SAA2F;CACjF,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/TYPE.d.ts b/back/node_modules/@redis/json/dist/lib/commands/TYPE.d.ts new file mode 100644 index 0000000..660eba2 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/TYPE.d.ts @@ -0,0 +1,24 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { NullReply, BlobStringReply, ArrayReply, RedisArgument, UnwrapReply } from '@redis/client/dist/lib/RESP/types'; +export interface JsonTypeOptions { + path?: RedisArgument; +} +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Returns the type of JSON value at a specific path in a JSON document. + * Returns the type as a string, array of types for multiple paths, or null if path doesn't exist. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param options - Optional parameters + * @param options.path - Path to examine + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, options?: JsonTypeOptions) => void; + readonly transformReply: { + readonly 2: () => NullReply | BlobStringReply | ArrayReply; + readonly 3: (reply: UnwrapReply>>) => NullReply | BlobStringReply | ArrayReply>; + }; +}; +export default _default; +//# sourceMappingURL=TYPE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/TYPE.d.ts.map b/back/node_modules/@redis/json/dist/lib/commands/TYPE.d.ts.map new file mode 100644 index 0000000..d9633be --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/TYPE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"TYPE.d.ts","sourceRoot":"","sources":["../../../lib/commands/TYPE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAW,aAAa,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhI,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;;;IAIC;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa,YAAY,eAAe;;0BAS9C,SAAS,GAAG,eAAe,GAAG,WAAW,eAAe,GAAG,SAAS,CAAC;4BAE3F,YAAY,WAAW,SAAS,GAAG,eAAe,GAAG,WAAW,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC;;;AAtB7G,wBA0B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/TYPE.js b/back/node_modules/@redis/json/dist/lib/commands/TYPE.js new file mode 100644 index 0000000..60bda09 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/TYPE.js @@ -0,0 +1,29 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Returns the type of JSON value at a specific path in a JSON document. + * Returns the type as a string, array of types for multiple paths, or null if path doesn't exist. + * + * @param parser - The Redis command parser + * @param key - The key containing the JSON document + * @param options - Optional parameters + * @param options.path - Path to examine + */ + parseCommand(parser, key, options) { + parser.push('JSON.TYPE'); + parser.pushKey(key); + if (options?.path) { + parser.push(options.path); + } + }, + transformReply: { + 2: undefined, + // TODO: RESP3 wraps the response in another array, but only returns 1 + 3: (reply) => { + return reply[0]; + } + }, +}; +//# sourceMappingURL=TYPE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/TYPE.js.map b/back/node_modules/@redis/json/dist/lib/commands/TYPE.js.map new file mode 100644 index 0000000..47e7aec --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/TYPE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"TYPE.js","sourceRoot":"","sources":["../../../lib/commands/TYPE.ts"],"names":[],"mappings":";;AAOA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,OAAyB;QAC/E,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,SAAmG;QACtG,uEAAuE;QACvE,CAAC,EAAE,CAAC,KAAqG,EAAE,EAAE;YAC3G,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;KACF;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/index.d.ts b/back/node_modules/@redis/json/dist/lib/commands/index.d.ts new file mode 100644 index 0000000..2e1ea57 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/index.d.ts @@ -0,0 +1,266 @@ +export type { RedisJSON } from '@redis/client/dist/lib/commands/generic-transformers'; +export { transformRedisJsonArgument, transformRedisJsonReply, transformRedisJsonNullReply } from '@redis/client/dist/lib/commands/generic-transformers'; +declare const _default: { + ARRAPPEND: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, path: import("@redis/client/dist/lib/RESP/types").RedisArgument, json: import("@redis/client/dist/lib/commands/generic-transformers").RedisJSON, ...jsons: import("@redis/client/dist/lib/commands/generic-transformers").RedisJSON[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").NullReply>; + }; + arrAppend: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, path: import("@redis/client/dist/lib/RESP/types").RedisArgument, json: import("@redis/client/dist/lib/commands/generic-transformers").RedisJSON, ...jsons: import("@redis/client/dist/lib/commands/generic-transformers").RedisJSON[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").NullReply>; + }; + ARRINDEX: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, path: import("@redis/client/dist/lib/RESP/types").RedisArgument, json: import("@redis/client/dist/lib/commands/generic-transformers").RedisJSON, options?: import("./ARRINDEX").JsonArrIndexOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").NullReply>; + }; + arrIndex: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, path: import("@redis/client/dist/lib/RESP/types").RedisArgument, json: import("@redis/client/dist/lib/commands/generic-transformers").RedisJSON, options?: import("./ARRINDEX").JsonArrIndexOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").NullReply>; + }; + ARRINSERT: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, path: import("@redis/client/dist/lib/RESP/types").RedisArgument, index: number, json: import("@redis/client/dist/lib/commands/generic-transformers").RedisJSON, ...jsons: import("@redis/client/dist/lib/commands/generic-transformers").RedisJSON[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").NullReply>; + }; + arrInsert: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, path: import("@redis/client/dist/lib/RESP/types").RedisArgument, index: number, json: import("@redis/client/dist/lib/commands/generic-transformers").RedisJSON, ...jsons: import("@redis/client/dist/lib/commands/generic-transformers").RedisJSON[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").NullReply>; + }; + ARRLEN: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./ARRLEN").JsonArrLenOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").NullReply>; + }; + arrLen: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./ARRLEN").JsonArrLenOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").NullReply>; + }; + ARRPOP: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./ARRPOP").RedisArrPopOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>) => string | number | boolean | Date | { + [key: string]: import("@redis/client/dist/lib/commands/generic-transformers").RedisJSON; + [key: number]: import("@redis/client/dist/lib/commands/generic-transformers").RedisJSON; + } | import("@redis/client/dist/lib/RESP/types").NullReply | (import("@redis/client/dist/lib/commands/generic-transformers").RedisJSON | import("@redis/client/dist/lib/RESP/types").NullReply)[] | null; + }; + arrPop: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./ARRPOP").RedisArrPopOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>) => string | number | boolean | Date | { + [key: string]: import("@redis/client/dist/lib/commands/generic-transformers").RedisJSON; + [key: number]: import("@redis/client/dist/lib/commands/generic-transformers").RedisJSON; + } | import("@redis/client/dist/lib/RESP/types").NullReply | (import("@redis/client/dist/lib/commands/generic-transformers").RedisJSON | import("@redis/client/dist/lib/RESP/types").NullReply)[] | null; + }; + ARRTRIM: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, path: import("@redis/client/dist/lib/RESP/types").RedisArgument, start: number, stop: number) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").NullReply>; + }; + arrTrim: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, path: import("@redis/client/dist/lib/RESP/types").RedisArgument, start: number, stop: number) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").NullReply>; + }; + CLEAR: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./CLEAR").JsonClearOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + clear: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./CLEAR").JsonClearOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + DEBUG_MEMORY: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./DEBUG_MEMORY").JsonDebugMemoryOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + debugMemory: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./DEBUG_MEMORY").JsonDebugMemoryOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + DEL: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./DEL").JsonDelOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + del: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./DEL").JsonDelOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + FORGET: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./FORGET").JsonForgetOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + forget: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./FORGET").JsonForgetOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + GET: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./GET").JsonGetOptions | undefined) => void; + readonly transformReply: typeof import("@redis/client/dist/lib/commands/generic-transformers").transformRedisJsonNullReply; + }; + get: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./GET").JsonGetOptions | undefined) => void; + readonly transformReply: typeof import("@redis/client/dist/lib/commands/generic-transformers").transformRedisJsonNullReply; + }; + MERGE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, path: import("@redis/client/dist/lib/RESP/types").RedisArgument, value: import("@redis/client/dist/lib/commands/generic-transformers").RedisJSON) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + merge: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, path: import("@redis/client/dist/lib/RESP/types").RedisArgument, value: import("@redis/client/dist/lib/commands/generic-transformers").RedisJSON) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + MGET: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, keys: import("@redis/client/dist/lib/RESP/types").RedisArgument[], path: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: (this: void, reply: (import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply)[]) => (import("@redis/client/dist/lib/commands/generic-transformers").RedisJSON | import("@redis/client/dist/lib/RESP/types").NullReply)[]; + }; + mGet: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, keys: import("@redis/client/dist/lib/RESP/types").RedisArgument[], path: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: (this: void, reply: (import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply)[]) => (import("@redis/client/dist/lib/commands/generic-transformers").RedisJSON | import("@redis/client/dist/lib/RESP/types").NullReply)[]; + }; + MSET: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, items: import("./MSET").JsonMSetItem[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + mSet: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, items: import("./MSET").JsonMSetItem[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + NUMINCRBY: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, path: import("@redis/client/dist/lib/RESP/types").RedisArgument, by: number) => void; + readonly transformReply: { + readonly 2: (reply: import("@redis/client/dist/lib/RESP/types").UnwrapReply>) => number | (number | null)[]; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").DoubleReply>; + }; + }; + numIncrBy: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, path: import("@redis/client/dist/lib/RESP/types").RedisArgument, by: number) => void; + readonly transformReply: { + readonly 2: (reply: import("@redis/client/dist/lib/RESP/types").UnwrapReply>) => number | (number | null)[]; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").DoubleReply>; + }; + }; + /** + * @deprecated since JSON version 2.0 + */ + NUMMULTBY: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, path: import("@redis/client/dist/lib/RESP/types").RedisArgument, by: number) => void; + readonly transformReply: { + readonly 2: (reply: import("@redis/client/dist/lib/RESP/types").UnwrapReply>) => number | (number | null)[]; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").DoubleReply>; + }; + }; + /** + * @deprecated since JSON version 2.0 + */ + numMultBy: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, path: import("@redis/client/dist/lib/RESP/types").RedisArgument, by: number) => void; + readonly transformReply: { + readonly 2: (reply: import("@redis/client/dist/lib/RESP/types").UnwrapReply>) => number | (number | null)[]; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").DoubleReply>; + }; + }; + OBJKEYS: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./OBJKEYS").JsonObjKeysOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply> | import("@redis/client/dist/lib/RESP/types").ArrayReply>>; + }; + objKeys: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./OBJKEYS").JsonObjKeysOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply> | import("@redis/client/dist/lib/RESP/types").ArrayReply>>; + }; + OBJLEN: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./OBJLEN").JsonObjLenOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").NullReply>; + }; + objLen: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./OBJLEN").JsonObjLenOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").NullReply>; + }; + SET: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, path: import("@redis/client/dist/lib/RESP/types").RedisArgument, json: import("@redis/client/dist/lib/commands/generic-transformers").RedisJSON, options?: import("./SET").JsonSetOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + set: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, path: import("@redis/client/dist/lib/RESP/types").RedisArgument, json: import("@redis/client/dist/lib/commands/generic-transformers").RedisJSON, options?: import("./SET").JsonSetOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + STRAPPEND: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, append: string, options?: import("./STRAPPEND").JsonStrAppendOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").NullReply>; + }; + strAppend: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, append: string, options?: import("./STRAPPEND").JsonStrAppendOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").NullReply>; + }; + STRLEN: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./STRLEN").JsonStrLenOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").NullReply>; + }; + strLen: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./STRLEN").JsonStrLenOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").NullReply>; + }; + TOGGLE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, path: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").NullReply>; + }; + toggle: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, path: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").NullReply>; + }; + TYPE: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./TYPE").JsonTypeOptions | undefined) => void; + readonly transformReply: { + readonly 2: () => import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>; + readonly 3: (reply: (import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>)[]) => import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + type: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./TYPE").JsonTypeOptions | undefined) => void; + readonly transformReply: { + readonly 2: () => import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>; + readonly 3: (reply: (import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>)[]) => import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; +}; +export default _default; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/index.d.ts.map b/back/node_modules/@redis/json/dist/lib/commands/index.d.ts.map new file mode 100644 index 0000000..4e0bac1 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/commands/index.ts"],"names":[],"mappings":"AA0BA,YAAY,EAAE,SAAS,EAAE,MAAM,sDAAsD,CAAC;AACtF,OAAO,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiCtJ;;OAEG;;;;;;;;;IAEH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AArCL,wBAuDE"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/index.js b/back/node_modules/@redis/json/dist/lib/commands/index.js new file mode 100644 index 0000000..576dafd --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/index.js @@ -0,0 +1,91 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.transformRedisJsonNullReply = exports.transformRedisJsonReply = exports.transformRedisJsonArgument = void 0; +const ARRAPPEND_1 = __importDefault(require("./ARRAPPEND")); +const ARRINDEX_1 = __importDefault(require("./ARRINDEX")); +const ARRINSERT_1 = __importDefault(require("./ARRINSERT")); +const ARRLEN_1 = __importDefault(require("./ARRLEN")); +const ARRPOP_1 = __importDefault(require("./ARRPOP")); +const ARRTRIM_1 = __importDefault(require("./ARRTRIM")); +const CLEAR_1 = __importDefault(require("./CLEAR")); +const DEBUG_MEMORY_1 = __importDefault(require("./DEBUG_MEMORY")); +const DEL_1 = __importDefault(require("./DEL")); +const FORGET_1 = __importDefault(require("./FORGET")); +const GET_1 = __importDefault(require("./GET")); +const MERGE_1 = __importDefault(require("./MERGE")); +const MGET_1 = __importDefault(require("./MGET")); +const MSET_1 = __importDefault(require("./MSET")); +const NUMINCRBY_1 = __importDefault(require("./NUMINCRBY")); +const NUMMULTBY_1 = __importDefault(require("./NUMMULTBY")); +const OBJKEYS_1 = __importDefault(require("./OBJKEYS")); +const OBJLEN_1 = __importDefault(require("./OBJLEN")); +// import RESP from './RESP'; +const SET_1 = __importDefault(require("./SET")); +const STRAPPEND_1 = __importDefault(require("./STRAPPEND")); +const STRLEN_1 = __importDefault(require("./STRLEN")); +const TOGGLE_1 = __importDefault(require("./TOGGLE")); +const TYPE_1 = __importDefault(require("./TYPE")); +var generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +Object.defineProperty(exports, "transformRedisJsonArgument", { enumerable: true, get: function () { return generic_transformers_1.transformRedisJsonArgument; } }); +Object.defineProperty(exports, "transformRedisJsonReply", { enumerable: true, get: function () { return generic_transformers_1.transformRedisJsonReply; } }); +Object.defineProperty(exports, "transformRedisJsonNullReply", { enumerable: true, get: function () { return generic_transformers_1.transformRedisJsonNullReply; } }); +exports.default = { + ARRAPPEND: ARRAPPEND_1.default, + arrAppend: ARRAPPEND_1.default, + ARRINDEX: ARRINDEX_1.default, + arrIndex: ARRINDEX_1.default, + ARRINSERT: ARRINSERT_1.default, + arrInsert: ARRINSERT_1.default, + ARRLEN: ARRLEN_1.default, + arrLen: ARRLEN_1.default, + ARRPOP: ARRPOP_1.default, + arrPop: ARRPOP_1.default, + ARRTRIM: ARRTRIM_1.default, + arrTrim: ARRTRIM_1.default, + CLEAR: CLEAR_1.default, + clear: CLEAR_1.default, + DEBUG_MEMORY: DEBUG_MEMORY_1.default, + debugMemory: DEBUG_MEMORY_1.default, + DEL: DEL_1.default, + del: DEL_1.default, + FORGET: FORGET_1.default, + forget: FORGET_1.default, + GET: GET_1.default, + get: GET_1.default, + MERGE: MERGE_1.default, + merge: MERGE_1.default, + MGET: MGET_1.default, + mGet: MGET_1.default, + MSET: MSET_1.default, + mSet: MSET_1.default, + NUMINCRBY: NUMINCRBY_1.default, + numIncrBy: NUMINCRBY_1.default, + /** + * @deprecated since JSON version 2.0 + */ + NUMMULTBY: NUMMULTBY_1.default, + /** + * @deprecated since JSON version 2.0 + */ + numMultBy: NUMMULTBY_1.default, + OBJKEYS: OBJKEYS_1.default, + objKeys: OBJKEYS_1.default, + OBJLEN: OBJLEN_1.default, + objLen: OBJLEN_1.default, + // RESP, + // resp: RESP, + SET: SET_1.default, + set: SET_1.default, + STRAPPEND: STRAPPEND_1.default, + strAppend: STRAPPEND_1.default, + STRLEN: STRLEN_1.default, + strLen: STRLEN_1.default, + TOGGLE: TOGGLE_1.default, + toggle: TOGGLE_1.default, + TYPE: TYPE_1.default, + type: TYPE_1.default +}; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/commands/index.js.map b/back/node_modules/@redis/json/dist/lib/commands/index.js.map new file mode 100644 index 0000000..694f5dc --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/commands/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/commands/index.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAoC;AACpC,0DAAkC;AAClC,4DAAoC;AACpC,sDAA8B;AAC9B,sDAA8B;AAC9B,wDAAgC;AAChC,oDAA4B;AAC5B,kEAA0C;AAC1C,gDAAwB;AACxB,sDAA8B;AAC9B,gDAAwB;AACxB,oDAA4B;AAC5B,kDAA0B;AAC1B,kDAA0B;AAC1B,4DAAoC;AACpC,4DAAoC;AACpC,wDAAgC;AAChC,sDAA8B;AAC9B,6BAA6B;AAC7B,gDAAwB;AACxB,4DAAoC;AACpC,sDAA8B;AAC9B,sDAA8B;AAC9B,kDAA0B;AAI1B,6FAAwJ;AAA/I,kIAAA,0BAA0B,OAAA;AAAE,+HAAA,uBAAuB,OAAA;AAAE,mIAAA,2BAA2B,OAAA;AAEzF,kBAAe;IACb,SAAS,EAAT,mBAAS;IACT,SAAS,EAAE,mBAAS;IACpB,QAAQ,EAAR,kBAAQ;IACR,QAAQ,EAAE,kBAAQ;IAClB,SAAS,EAAT,mBAAS;IACT,SAAS,EAAE,mBAAS;IACpB,MAAM,EAAN,gBAAM;IACN,MAAM,EAAE,gBAAM;IACd,MAAM,EAAN,gBAAM;IACN,MAAM,EAAE,gBAAM;IACd,OAAO,EAAP,iBAAO;IACP,OAAO,EAAE,iBAAO;IAChB,KAAK,EAAL,eAAK;IACL,KAAK,EAAE,eAAK;IACZ,YAAY,EAAZ,sBAAY;IACZ,WAAW,EAAE,sBAAY;IACzB,GAAG,EAAH,aAAG;IACH,GAAG,EAAE,aAAG;IACR,MAAM,EAAN,gBAAM;IACN,MAAM,EAAE,gBAAM;IACd,GAAG,EAAH,aAAG;IACH,GAAG,EAAE,aAAG;IACR,KAAK,EAAL,eAAK;IACL,KAAK,EAAE,eAAK;IACZ,IAAI,EAAJ,cAAI;IACJ,IAAI,EAAE,cAAI;IACV,IAAI,EAAJ,cAAI;IACJ,IAAI,EAAE,cAAI;IACV,SAAS,EAAT,mBAAS;IACT,SAAS,EAAE,mBAAS;IACpB;;OAEG;IACH,SAAS,EAAT,mBAAS;IACT;;OAEG;IACH,SAAS,EAAE,mBAAS;IACpB,OAAO,EAAP,iBAAO;IACP,OAAO,EAAE,iBAAO;IAChB,MAAM,EAAN,gBAAM;IACN,MAAM,EAAE,gBAAM;IACd,QAAQ;IACR,cAAc;IACd,GAAG,EAAH,aAAG;IACH,GAAG,EAAE,aAAG;IACR,SAAS,EAAT,mBAAS;IACT,SAAS,EAAE,mBAAS;IACpB,MAAM,EAAN,gBAAM;IACN,MAAM,EAAE,gBAAM;IACd,MAAM,EAAN,gBAAM;IACN,MAAM,EAAE,gBAAM;IACd,IAAI,EAAJ,cAAI;IACJ,IAAI,EAAE,cAAI;CACX,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/index.d.ts b/back/node_modules/@redis/json/dist/lib/index.d.ts new file mode 100644 index 0000000..c3b6f2e --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/index.d.ts @@ -0,0 +1,3 @@ +export { default } from './commands'; +export type { RedisJSON } from './commands'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/index.d.ts.map b/back/node_modules/@redis/json/dist/lib/index.d.ts.map new file mode 100644 index 0000000..8ee2bfe --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/index.js b/back/node_modules/@redis/json/dist/lib/index.js new file mode 100644 index 0000000..e356a73 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/index.js @@ -0,0 +1,9 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = void 0; +var commands_1 = require("./commands"); +Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(commands_1).default; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/json/dist/lib/index.js.map b/back/node_modules/@redis/json/dist/lib/index.js.map new file mode 100644 index 0000000..5152b18 --- /dev/null +++ b/back/node_modules/@redis/json/dist/lib/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAqC;AAA5B,oHAAA,OAAO,OAAA"} \ No newline at end of file diff --git a/back/node_modules/@redis/json/package.json b/back/node_modules/@redis/json/package.json new file mode 100644 index 0000000..53c3cec --- /dev/null +++ b/back/node_modules/@redis/json/package.json @@ -0,0 +1,36 @@ +{ + "name": "@redis/json", + "version": "5.11.0", + "license": "MIT", + "main": "./dist/lib/index.js", + "types": "./dist/lib/index.d.ts", + "files": [ + "dist/", + "!dist/tsconfig.tsbuildinfo" + ], + "scripts": { + "test": "nyc -r text-summary -r lcov mocha -r tsx --reporter mocha-multi-reporters --reporter-options configFile=mocha-multi-reporter-config.json --exit './lib/**/*.spec.ts'", + "release": "release-it" + }, + "peerDependencies": { + "@redis/client": "^5.11.0" + }, + "devDependencies": { + "@redis/test-utils": "*" + }, + "engines": { + "node": ">= 18" + }, + "repository": { + "type": "git", + "url": "git://github.com/redis/node-redis.git" + }, + "bugs": { + "url": "https://github.com/redis/node-redis/issues" + }, + "homepage": "https://github.com/redis/node-redis/tree/master/packages/json", + "keywords": [ + "redis", + "RedisJSON" + ] +} diff --git a/back/node_modules/@redis/search/README.md b/back/node_modules/@redis/search/README.md new file mode 100644 index 0000000..f94b42f --- /dev/null +++ b/back/node_modules/@redis/search/README.md @@ -0,0 +1,139 @@ +# @redis/search + +This package provides support for the [RediSearch](https://redis.io/docs/interact/search-and-query/) module, which adds indexing and querying support for data stored in Redis Hashes or as JSON documents with the [RedisJSON](https://redis.io/docs/data-types/json/) module. + +Should be used with [`redis`/`@redis/client`](https://github.com/redis/node-redis). + +:warning: To use these extra commands, your Redis server must have the RediSearch module installed. To index and query JSON documents, you'll also need to add the RedisJSON module. + +## Usage + +For complete examples, see [`search-hashes.js`](https://github.com/redis/node-redis/blob/master/examples/search-hashes.js) and [`search-json.js`](https://github.com/redis/node-redis/blob/master/examples/search-json.js) in the [examples folder](https://github.com/redis/node-redis/tree/master/examples). + +### Indexing and Querying Data in Redis Hashes + +#### Creating an Index + +Before we can perform any searches, we need to tell RediSearch how to index our data, and which Redis keys to find that data in. The [FT.CREATE](https://redis.io/commands/ft.create) command creates a RediSearch index. Here's how to use it to create an index we'll call `idx:animals` where we want to index hashes containing `name`, `species` and `age` fields, and whose key names in Redis begin with the prefix `noderedis:animals`: + +```javascript +await client.ft.create('idx:animals', { + name: { + type: SCHEMA_FIELD_TYPE.TEXT, + SORTABLE: true + }, + species: SCHEMA_FIELD_TYPE.TAG, + age: SCHEMA_FIELD_TYPE.NUMERIC +}, { + ON: 'HASH', + PREFIX: 'noderedis:animals' +}); +``` + +See the [`FT.CREATE` documentation](https://redis.io/commands/ft.create/#description) for information about the different field types and additional options. + +#### Indexing a Field Multiple Times + +You can index the same field multiple times with different types or aliases by using an array: + +```javascript +await client.ft.create('idx:products', { + sku: [ + { type: SCHEMA_FIELD_TYPE.TEXT, AS: 'sku_text' }, + { type: SCHEMA_FIELD_TYPE.TAG, AS: 'sku_tag', SORTABLE: true } + ] +}, { + ON: 'HASH', + PREFIX: 'product:' +}); +``` + +This allows querying the same field using different search strategies. + +#### Querying the Index + +Once we've created an index, and added some data to Redis hashes whose keys begin with the prefix `noderedis:animals`, we can start writing some search queries. RediSearch supports a rich query syntax for full-text search, faceted search, aggregation and more. Check out the [`FT.SEARCH` documentation](https://redis.io/commands/ft.search) and the [query syntax reference](https://redis.io/docs/interact/search-and-query/query) for more information. + +Let's write a query to find all the animals where the `species` field has the value `dog`: + +```javascript +const results = await client.ft.search('idx:animals', '@species:{dog}'); +``` + +`results` looks like this: + +```javascript +{ + total: 2, + documents: [ + { + id: 'noderedis:animals:4', + value: { + name: 'Fido', + species: 'dog', + age: '7' + } + }, + { + id: 'noderedis:animals:3', + value: { + name: 'Rover', + species: 'dog', + age: '9' + } + } + ] +} +``` + +### Indexing and Querying Data with RedisJSON + +RediSearch can also index and query JSON documents stored in Redis using the RedisJSON module. The approach is similar to that for indexing and searching data in hashes, but we can now use JSON Path like syntax and the data no longer has to be flat name/value pairs - it can contain nested objects and arrays. + +#### Creating an Index + +As before, we create an index with the `FT.CREATE` command, this time specifying we want to index JSON documents that look like this: + +```javascript +{ + name: 'Alice', + age: 32, + coins: 100 +} +``` + +Each document represents a user in some system, and users have name, age and coins properties. + +One way we might choose to index these documents is as follows: + +```javascript +await client.ft.create('idx:users', { + '$.name': { + type: SCHEMA_FIELD_TYPE.TEXT, + SORTABLE: 'UNF' + }, + '$.age': { + type: SCHEMA_FIELD_TYPE.NUMERIC, + AS: 'age' + }, + '$.coins': { + type: SCHEMA_FIELD_TYPE.NUMERIC, + AS: 'coins' + } +}, { + ON: 'JSON', + PREFIX: 'noderedis:users' +}); +``` + +Note that we're using JSON Path to specify where the fields to index are in our JSON documents, and the `AS` clause to define a name/alias for each field. We'll use these when writing queries. + +#### Querying the Index + +Now we have an index and some data stored as JSON documents in Redis (see the [JSON package documentation](https://github.com/redis/node-redis/tree/master/packages/json) for examples of how to store JSON), we can write some queries... + +We'll use the [RediSearch query language](https://redis.io/docs/interact/search-and-query/query) and [`FT.SEARCH`](https://redis.io/commands/ft.search) command. Here's a query to find users under the age of 30: + +```javascript +await client.ft.search('idx:users', '@age:[0 30]'); +``` diff --git a/back/node_modules/@redis/search/dist/lib/commands/AGGREGATE.d.ts b/back/node_modules/@redis/search/dist/lib/commands/AGGREGATE.d.ts new file mode 100644 index 0000000..f8ef662 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/AGGREGATE.d.ts @@ -0,0 +1,131 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { ArrayReply, BlobStringReply, MapReply, NumberReply, RedisArgument, ReplyUnion, TypeMapping, UnwrapReply } from '@redis/client/dist/lib/RESP/types'; +import { RediSearchProperty } from './CREATE'; +import { FtSearchParams } from './SEARCH'; +type LoadField = RediSearchProperty | { + identifier: RediSearchProperty; + AS?: RedisArgument; +}; +export declare const FT_AGGREGATE_STEPS: { + readonly GROUPBY: "GROUPBY"; + readonly SORTBY: "SORTBY"; + readonly APPLY: "APPLY"; + readonly LIMIT: "LIMIT"; + readonly FILTER: "FILTER"; +}; +type FT_AGGREGATE_STEPS = typeof FT_AGGREGATE_STEPS; +export type FtAggregateStep = FT_AGGREGATE_STEPS[keyof FT_AGGREGATE_STEPS]; +interface AggregateStep { + type: T; +} +export declare const FT_AGGREGATE_GROUP_BY_REDUCERS: { + readonly COUNT: "COUNT"; + readonly COUNT_DISTINCT: "COUNT_DISTINCT"; + readonly COUNT_DISTINCTISH: "COUNT_DISTINCTISH"; + readonly SUM: "SUM"; + readonly MIN: "MIN"; + readonly MAX: "MAX"; + readonly AVG: "AVG"; + readonly STDDEV: "STDDEV"; + readonly QUANTILE: "QUANTILE"; + readonly TOLIST: "TOLIST"; + readonly FIRST_VALUE: "FIRST_VALUE"; + readonly RANDOM_SAMPLE: "RANDOM_SAMPLE"; +}; +type FT_AGGREGATE_GROUP_BY_REDUCERS = typeof FT_AGGREGATE_GROUP_BY_REDUCERS; +export type FtAggregateGroupByReducer = FT_AGGREGATE_GROUP_BY_REDUCERS[keyof FT_AGGREGATE_GROUP_BY_REDUCERS]; +interface GroupByReducer { + type: T; + AS?: RedisArgument; +} +interface GroupByReducerWithProperty extends GroupByReducer { + property: RediSearchProperty; +} +type CountReducer = GroupByReducer; +type CountDistinctReducer = GroupByReducerWithProperty; +type CountDistinctishReducer = GroupByReducerWithProperty; +type SumReducer = GroupByReducerWithProperty; +type MinReducer = GroupByReducerWithProperty; +type MaxReducer = GroupByReducerWithProperty; +type AvgReducer = GroupByReducerWithProperty; +type StdDevReducer = GroupByReducerWithProperty; +interface QuantileReducer extends GroupByReducerWithProperty { + quantile: number; +} +type ToListReducer = GroupByReducerWithProperty; +interface FirstValueReducer extends GroupByReducerWithProperty { + BY?: RediSearchProperty | { + property: RediSearchProperty; + direction?: 'ASC' | 'DESC'; + }; +} +interface RandomSampleReducer extends GroupByReducerWithProperty { + sampleSize: number; +} +export type GroupByReducers = CountReducer | CountDistinctReducer | CountDistinctishReducer | SumReducer | MinReducer | MaxReducer | AvgReducer | StdDevReducer | QuantileReducer | ToListReducer | FirstValueReducer | RandomSampleReducer; +interface GroupByStep extends AggregateStep { + properties?: RediSearchProperty | Array; + REDUCE: GroupByReducers | Array; +} +type SortByProperty = RedisArgument | { + BY: RediSearchProperty; + DIRECTION?: 'ASC' | 'DESC'; +}; +interface SortStep extends AggregateStep { + BY: SortByProperty | Array; + MAX?: number; +} +interface ApplyStep extends AggregateStep { + expression: RedisArgument; + AS: RedisArgument; +} +interface LimitStep extends AggregateStep { + from: number; + size: number; +} +interface FilterStep extends AggregateStep { + expression: RedisArgument; +} +export interface FtAggregateOptions { + VERBATIM?: boolean; + ADDSCORES?: boolean; + LOAD?: LoadField | Array; + TIMEOUT?: number; + STEPS?: Array; + PARAMS?: FtSearchParams; + DIALECT?: number; +} +export type AggregateRawReply = [ + total: UnwrapReply, + ...results: UnwrapReply>> +]; +export interface AggregateReply { + total: number; + results: Array>; +} +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + /** + * Performs an aggregation query on a RediSearch index. + * @param parser - The command parser + * @param index - The index name to query + * @param query - The text query to use as filter, use * to indicate no filtering + * @param options - Optional parameters for aggregation: + * - VERBATIM: disable stemming in query evaluation + * - LOAD: specify fields to load from documents + * - STEPS: sequence of aggregation steps (GROUPBY, SORTBY, APPLY, LIMIT, FILTER) + * - PARAMS: bind parameters for query evaluation + * - TIMEOUT: maximum time to run the query + */ + readonly parseCommand: (this: void, parser: CommandParser, index: RedisArgument, query: RedisArgument, options?: FtAggregateOptions) => void; + readonly transformReply: { + readonly 2: (rawReply: [total: UnwrapReply>, ...results: ArrayReply>[]], preserve?: any, typeMapping?: TypeMapping) => AggregateReply; + readonly 3: () => ReplyUnion; + }; + readonly unstableResp3: true; +}; +export default _default; +export declare function parseAggregateOptions(parser: CommandParser, options?: FtAggregateOptions): void; +export declare function parseGroupByReducer(parser: CommandParser, reducer: GroupByReducers): void; +//# sourceMappingURL=AGGREGATE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/AGGREGATE.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/AGGREGATE.d.ts.map new file mode 100644 index 0000000..613ea0b --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/AGGREGATE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AGGREGATE.d.ts","sourceRoot":"","sources":["../../../lib/commands/AGGREGATE.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/AGGREGATE.js b/back/node_modules/@redis/search/dist/lib/commands/AGGREGATE.js new file mode 100644 index 0000000..f62bcf2 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/AGGREGATE.js @@ -0,0 +1,212 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseGroupByReducer = exports.parseAggregateOptions = exports.FT_AGGREGATE_GROUP_BY_REDUCERS = exports.FT_AGGREGATE_STEPS = void 0; +const SEARCH_1 = require("./SEARCH"); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +const default_1 = require("../dialect/default"); +exports.FT_AGGREGATE_STEPS = { + GROUPBY: 'GROUPBY', + SORTBY: 'SORTBY', + APPLY: 'APPLY', + LIMIT: 'LIMIT', + FILTER: 'FILTER' +}; +exports.FT_AGGREGATE_GROUP_BY_REDUCERS = { + COUNT: 'COUNT', + COUNT_DISTINCT: 'COUNT_DISTINCT', + COUNT_DISTINCTISH: 'COUNT_DISTINCTISH', + SUM: 'SUM', + MIN: 'MIN', + MAX: 'MAX', + AVG: 'AVG', + STDDEV: 'STDDEV', + QUANTILE: 'QUANTILE', + TOLIST: 'TOLIST', + FIRST_VALUE: 'FIRST_VALUE', + RANDOM_SAMPLE: 'RANDOM_SAMPLE' +}; +; +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: false, + /** + * Performs an aggregation query on a RediSearch index. + * @param parser - The command parser + * @param index - The index name to query + * @param query - The text query to use as filter, use * to indicate no filtering + * @param options - Optional parameters for aggregation: + * - VERBATIM: disable stemming in query evaluation + * - LOAD: specify fields to load from documents + * - STEPS: sequence of aggregation steps (GROUPBY, SORTBY, APPLY, LIMIT, FILTER) + * - PARAMS: bind parameters for query evaluation + * - TIMEOUT: maximum time to run the query + */ + parseCommand(parser, index, query, options) { + parser.push('FT.AGGREGATE', index, query); + return parseAggregateOptions(parser, options); + }, + transformReply: { + 2: (rawReply, preserve, typeMapping) => { + const results = []; + for (let i = 1; i < rawReply.length; i++) { + results.push((0, generic_transformers_1.transformTuplesReply)(rawReply[i], preserve, typeMapping)); + } + return { + // https://redis.io/docs/latest/commands/ft.aggregate/#return + // FT.AGGREGATE returns an array reply where each row is an array reply and represents a single aggregate result. + // The integer reply at position 1 does not represent a valid value. + total: Number(rawReply[0]), + results + }; + }, + 3: undefined + }, + unstableResp3: true +}; +function parseAggregateOptions(parser, options) { + if (options?.VERBATIM) { + parser.push('VERBATIM'); + } + if (options?.ADDSCORES) { + parser.push('ADDSCORES'); + } + if (options?.LOAD) { + const args = []; + if (Array.isArray(options.LOAD)) { + for (const load of options.LOAD) { + pushLoadField(args, load); + } + } + else { + pushLoadField(args, options.LOAD); + } + parser.push('LOAD'); + parser.pushVariadicWithLength(args); + } + if (options?.TIMEOUT !== undefined) { + parser.push('TIMEOUT', options.TIMEOUT.toString()); + } + if (options?.STEPS) { + for (const step of options.STEPS) { + parser.push(step.type); + switch (step.type) { + case exports.FT_AGGREGATE_STEPS.GROUPBY: + if (!step.properties) { + parser.push('0'); + } + else { + parser.pushVariadicWithLength(step.properties); + } + if (Array.isArray(step.REDUCE)) { + for (const reducer of step.REDUCE) { + parseGroupByReducer(parser, reducer); + } + } + else { + parseGroupByReducer(parser, step.REDUCE); + } + break; + case exports.FT_AGGREGATE_STEPS.SORTBY: + const args = []; + if (Array.isArray(step.BY)) { + for (const by of step.BY) { + pushSortByProperty(args, by); + } + } + else { + pushSortByProperty(args, step.BY); + } + if (step.MAX) { + args.push('MAX', step.MAX.toString()); + } + parser.pushVariadicWithLength(args); + break; + case exports.FT_AGGREGATE_STEPS.APPLY: + parser.push(step.expression, 'AS', step.AS); + break; + case exports.FT_AGGREGATE_STEPS.LIMIT: + parser.push(step.from.toString(), step.size.toString()); + break; + case exports.FT_AGGREGATE_STEPS.FILTER: + parser.push(step.expression); + break; + } + } + } + (0, SEARCH_1.parseParamsArgument)(parser, options?.PARAMS); + if (options?.DIALECT) { + parser.push('DIALECT', options.DIALECT.toString()); + } + else { + parser.push('DIALECT', default_1.DEFAULT_DIALECT); + } +} +exports.parseAggregateOptions = parseAggregateOptions; +function pushLoadField(args, toLoad) { + if (typeof toLoad === 'string' || toLoad instanceof Buffer) { + args.push(toLoad); + } + else { + args.push(toLoad.identifier); + if (toLoad.AS) { + args.push('AS', toLoad.AS); + } + } +} +function parseGroupByReducer(parser, reducer) { + parser.push('REDUCE', reducer.type); + switch (reducer.type) { + case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.COUNT: + parser.push('0'); + break; + case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.COUNT_DISTINCT: + case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.COUNT_DISTINCTISH: + case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.SUM: + case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.MIN: + case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.MAX: + case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.AVG: + case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.STDDEV: + case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.TOLIST: + parser.push('1', reducer.property); + break; + case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.QUANTILE: + parser.push('2', reducer.property, reducer.quantile.toString()); + break; + case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.FIRST_VALUE: { + const args = [reducer.property]; + if (reducer.BY) { + args.push('BY'); + if (typeof reducer.BY === 'string' || reducer.BY instanceof Buffer) { + args.push(reducer.BY); + } + else { + args.push(reducer.BY.property); + if (reducer.BY.direction) { + args.push(reducer.BY.direction); + } + } + } + parser.pushVariadicWithLength(args); + break; + } + case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.RANDOM_SAMPLE: + parser.push('2', reducer.property, reducer.sampleSize.toString()); + break; + } + if (reducer.AS) { + parser.push('AS', reducer.AS); + } +} +exports.parseGroupByReducer = parseGroupByReducer; +function pushSortByProperty(args, sortBy) { + if (typeof sortBy === 'string' || sortBy instanceof Buffer) { + args.push(sortBy); + } + else { + args.push(sortBy.BY); + if (sortBy.DIRECTION) { + args.push(sortBy.DIRECTION); + } + } +} +//# sourceMappingURL=AGGREGATE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/AGGREGATE.js.map b/back/node_modules/@redis/search/dist/lib/commands/AGGREGATE.js.map new file mode 100644 index 0000000..2cdba81 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/AGGREGATE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"AGGREGATE.js","sourceRoot":"","sources":["../../../lib/commands/AGGREGATE.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/AGGREGATE_WITHCURSOR.d.ts b/back/node_modules/@redis/search/dist/lib/commands/AGGREGATE_WITHCURSOR.d.ts new file mode 100644 index 0000000..f2e426f --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/AGGREGATE_WITHCURSOR.d.ts @@ -0,0 +1,35 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, ReplyUnion, NumberReply } from '@redis/client/dist/lib/RESP/types'; +import { AggregateRawReply, AggregateReply, FtAggregateOptions } from './AGGREGATE'; +export interface FtAggregateWithCursorOptions extends FtAggregateOptions { + COUNT?: number; + MAXIDLE?: number; +} +type AggregateWithCursorRawReply = [ + result: AggregateRawReply, + cursor: NumberReply +]; +export interface AggregateWithCursorReply extends AggregateReply { + cursor: NumberReply; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Performs an aggregation with a cursor for retrieving large result sets. + * @param parser - The command parser + * @param index - Name of the index to query + * @param query - The aggregation query + * @param options - Optional parameters: + * - All options supported by FT.AGGREGATE + * - COUNT: Number of results to return per cursor fetch + * - MAXIDLE: Maximum idle time for cursor in milliseconds + */ + readonly parseCommand: (this: void, parser: CommandParser, index: RedisArgument, query: RedisArgument, options?: FtAggregateWithCursorOptions) => void; + readonly transformReply: { + readonly 2: (reply: AggregateWithCursorRawReply) => AggregateWithCursorReply; + readonly 3: () => ReplyUnion; + }; + readonly unstableResp3: true; +}; +export default _default; +//# sourceMappingURL=AGGREGATE_WITHCURSOR.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/AGGREGATE_WITHCURSOR.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/AGGREGATE_WITHCURSOR.d.ts.map new file mode 100644 index 0000000..3ee080e --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/AGGREGATE_WITHCURSOR.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AGGREGATE_WITHCURSOR.d.ts","sourceRoot":"","sources":["../../../lib/commands/AGGREGATE_WITHCURSOR.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAW,UAAU,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AACpG,OAAkB,EAAE,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE/F,MAAM,WAAW,4BAA6B,SAAQ,kBAAkB;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAGD,KAAK,2BAA2B,GAAG;IACjC,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,WAAW;CACpB,CAAC;AAEF,MAAM,WAAW,wBAAyB,SAAQ,cAAc;IAC9D,MAAM,EAAE,WAAW,CAAC;CACrB;;;IAIC;;;;;;;;;OASG;gDACkB,aAAa,SAAS,aAAa,SAAS,aAAa,YAAY,4BAA4B;;4DAa3E,wBAAwB;0BAMhC,UAAU;;;;AA/B/C,wBAkC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/AGGREGATE_WITHCURSOR.js b/back/node_modules/@redis/search/dist/lib/commands/AGGREGATE_WITHCURSOR.js new file mode 100644 index 0000000..303607e --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/AGGREGATE_WITHCURSOR.js @@ -0,0 +1,40 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const AGGREGATE_1 = __importDefault(require("./AGGREGATE")); +exports.default = { + IS_READ_ONLY: AGGREGATE_1.default.IS_READ_ONLY, + /** + * Performs an aggregation with a cursor for retrieving large result sets. + * @param parser - The command parser + * @param index - Name of the index to query + * @param query - The aggregation query + * @param options - Optional parameters: + * - All options supported by FT.AGGREGATE + * - COUNT: Number of results to return per cursor fetch + * - MAXIDLE: Maximum idle time for cursor in milliseconds + */ + parseCommand(parser, index, query, options) { + AGGREGATE_1.default.parseCommand(parser, index, query, options); + parser.push('WITHCURSOR'); + if (options?.COUNT !== undefined) { + parser.push('COUNT', options.COUNT.toString()); + } + if (options?.MAXIDLE !== undefined) { + parser.push('MAXIDLE', options.MAXIDLE.toString()); + } + }, + transformReply: { + 2: (reply) => { + return { + ...AGGREGATE_1.default.transformReply[2](reply[0]), + cursor: reply[1] + }; + }, + 3: undefined + }, + unstableResp3: true +}; +//# sourceMappingURL=AGGREGATE_WITHCURSOR.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/AGGREGATE_WITHCURSOR.js.map b/back/node_modules/@redis/search/dist/lib/commands/AGGREGATE_WITHCURSOR.js.map new file mode 100644 index 0000000..e740812 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/AGGREGATE_WITHCURSOR.js.map @@ -0,0 +1 @@ +{"version":3,"file":"AGGREGATE_WITHCURSOR.js","sourceRoot":"","sources":["../../../lib/commands/AGGREGATE_WITHCURSOR.ts"],"names":[],"mappings":";;;;;AAEA,4DAA+F;AAiB/F,kBAAe;IACb,YAAY,EAAE,mBAAS,CAAC,YAAY;IACpC;;;;;;;;;OASG;IACH,YAAY,CAAC,MAAqB,EAAE,KAAoB,EAAE,KAAoB,EAAE,OAAsC;QACpH,mBAAS,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE1B,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,IAAG,OAAO,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAAkC,EAA4B,EAAE;YAClE,OAAO;gBACL,GAAG,mBAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACxC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;aACjB,CAAC;QACJ,CAAC;QACD,CAAC,EAAE,SAAwC;KAC5C;IACD,aAAa,EAAE,IAAI;CACO,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/ALIASADD.d.ts b/back/node_modules/@redis/search/dist/lib/commands/ALIASADD.d.ts new file mode 100644 index 0000000..4a9c696 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/ALIASADD.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, SimpleStringReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Adds an alias to a RediSearch index. + * @param parser - The command parser + * @param alias - The alias to add + * @param index - The index name to alias + */ + readonly parseCommand: (this: void, parser: CommandParser, alias: RedisArgument, index: RedisArgument) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=ALIASADD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/ALIASADD.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/ALIASADD.d.ts.map new file mode 100644 index 0000000..40405de --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/ALIASADD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ALIASADD.d.ts","sourceRoot":"","sources":["../../../lib/commands/ALIASADD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,mCAAmC,CAAC;;;;IAK5F;;;;;OAKG;gDACkB,aAAa,SAAS,aAAa,SAAS,aAAa;mCAGhC,kBAAkB,IAAI,CAAC;;AAZvE,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/ALIASADD.js b/back/node_modules/@redis/search/dist/lib/commands/ALIASADD.js new file mode 100644 index 0000000..76fbe41 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/ALIASADD.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Adds an alias to a RediSearch index. + * @param parser - The command parser + * @param alias - The alias to add + * @param index - The index name to alias + */ + parseCommand(parser, alias, index) { + parser.push('FT.ALIASADD', alias, index); + }, + transformReply: undefined +}; +//# sourceMappingURL=ALIASADD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/ALIASADD.js.map b/back/node_modules/@redis/search/dist/lib/commands/ALIASADD.js.map new file mode 100644 index 0000000..a9dd0d0 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/ALIASADD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ALIASADD.js","sourceRoot":"","sources":["../../../lib/commands/ALIASADD.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,KAAoB,EAAE,KAAoB;QAC5E,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/ALIASDEL.d.ts b/back/node_modules/@redis/search/dist/lib/commands/ALIASDEL.d.ts new file mode 100644 index 0000000..5c0d8a2 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/ALIASDEL.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, SimpleStringReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Removes an existing alias from a RediSearch index. + * @param parser - The command parser + * @param alias - The alias to remove + */ + readonly parseCommand: (this: void, parser: CommandParser, alias: RedisArgument) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=ALIASDEL.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/ALIASDEL.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/ALIASDEL.d.ts.map new file mode 100644 index 0000000..e6f2e1a --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/ALIASDEL.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ALIASDEL.d.ts","sourceRoot":"","sources":["../../../lib/commands/ALIASDEL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,mCAAmC,CAAC;;;;IAK5F;;;;OAIG;gDACkB,aAAa,SAAS,aAAa;mCAGV,kBAAkB,IAAI,CAAC;;AAXvE,wBAY6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/ALIASDEL.js b/back/node_modules/@redis/search/dist/lib/commands/ALIASDEL.js new file mode 100644 index 0000000..2fe2dcd --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/ALIASDEL.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Removes an existing alias from a RediSearch index. + * @param parser - The command parser + * @param alias - The alias to remove + */ + parseCommand(parser, alias) { + parser.push('FT.ALIASDEL', alias); + }, + transformReply: undefined +}; +//# sourceMappingURL=ALIASDEL.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/ALIASDEL.js.map b/back/node_modules/@redis/search/dist/lib/commands/ALIASDEL.js.map new file mode 100644 index 0000000..5633d8a --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/ALIASDEL.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ALIASDEL.js","sourceRoot":"","sources":["../../../lib/commands/ALIASDEL.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,KAAoB;QACtD,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/ALIASUPDATE.d.ts b/back/node_modules/@redis/search/dist/lib/commands/ALIASUPDATE.d.ts new file mode 100644 index 0000000..0e36e4a --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/ALIASUPDATE.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { SimpleStringReply, RedisArgument } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Updates the index pointed to by an existing alias. + * @param parser - The command parser + * @param alias - The existing alias to update + * @param index - The new index name that the alias should point to + */ + readonly parseCommand: (this: void, parser: CommandParser, alias: RedisArgument, index: RedisArgument) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=ALIASUPDATE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/ALIASUPDATE.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/ALIASUPDATE.d.ts.map new file mode 100644 index 0000000..b059498 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/ALIASUPDATE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ALIASUPDATE.d.ts","sourceRoot":"","sources":["../../../lib/commands/ALIASUPDATE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAW,aAAa,EAAE,MAAM,mCAAmC,CAAC;;;;IAK5F;;;;;OAKG;gDACkB,aAAa,SAAS,aAAa,SAAS,aAAa;mCAGhC,kBAAkB,IAAI,CAAC;;AAZvE,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/ALIASUPDATE.js b/back/node_modules/@redis/search/dist/lib/commands/ALIASUPDATE.js new file mode 100644 index 0000000..51959e4 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/ALIASUPDATE.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Updates the index pointed to by an existing alias. + * @param parser - The command parser + * @param alias - The existing alias to update + * @param index - The new index name that the alias should point to + */ + parseCommand(parser, alias, index) { + parser.push('FT.ALIASUPDATE', alias, index); + }, + transformReply: undefined +}; +//# sourceMappingURL=ALIASUPDATE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/ALIASUPDATE.js.map b/back/node_modules/@redis/search/dist/lib/commands/ALIASUPDATE.js.map new file mode 100644 index 0000000..f877b3c --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/ALIASUPDATE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ALIASUPDATE.js","sourceRoot":"","sources":["../../../lib/commands/ALIASUPDATE.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,KAAoB,EAAE,KAAoB;QAC5E,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/ALTER.d.ts b/back/node_modules/@redis/search/dist/lib/commands/ALTER.d.ts new file mode 100644 index 0000000..e89eb81 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/ALTER.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, SimpleStringReply } from '@redis/client/dist/lib/RESP/types'; +import { RediSearchSchema } from './CREATE'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Alters an existing RediSearch index schema by adding new fields. + * @param parser - The command parser + * @param index - The index to alter + * @param schema - The schema definition containing new fields to add + */ + readonly parseCommand: (this: void, parser: CommandParser, index: RedisArgument, schema: RediSearchSchema) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=ALTER.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/ALTER.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/ALTER.d.ts.map new file mode 100644 index 0000000..cd07896 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/ALTER.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ALTER.d.ts","sourceRoot":"","sources":["../../../lib/commands/ALTER.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,mCAAmC,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAe,MAAM,UAAU,CAAC;;;;IAKvD;;;;;OAKG;gDACkB,aAAa,SAAS,aAAa,UAAU,gBAAgB;mCAIpC,kBAAkB,IAAI,CAAC;;AAbvE,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/ALTER.js b/back/node_modules/@redis/search/dist/lib/commands/ALTER.js new file mode 100644 index 0000000..31f4fc1 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/ALTER.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const CREATE_1 = require("./CREATE"); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Alters an existing RediSearch index schema by adding new fields. + * @param parser - The command parser + * @param index - The index to alter + * @param schema - The schema definition containing new fields to add + */ + parseCommand(parser, index, schema) { + parser.push('FT.ALTER', index, 'SCHEMA', 'ADD'); + (0, CREATE_1.parseSchema)(parser, schema); + }, + transformReply: undefined +}; +//# sourceMappingURL=ALTER.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/ALTER.js.map b/back/node_modules/@redis/search/dist/lib/commands/ALTER.js.map new file mode 100644 index 0000000..45f2224 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/ALTER.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ALTER.js","sourceRoot":"","sources":["../../../lib/commands/ALTER.ts"],"names":[],"mappings":";;AAEA,qCAAyD;AAEzD,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,KAAoB,EAAE,MAAwB;QAChF,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChD,IAAA,oBAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/CONFIG_GET.d.ts b/back/node_modules/@redis/search/dist/lib/commands/CONFIG_GET.d.ts new file mode 100644 index 0000000..f262a4c --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/CONFIG_GET.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { ArrayReply, TuplesReply, BlobStringReply, NullReply, UnwrapReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Gets a RediSearch configuration option value. + * @param parser - The command parser + * @param option - The name of the configuration option to retrieve + */ + readonly parseCommand: (this: void, parser: CommandParser, option: string) => void; + readonly transformReply: (this: void, reply: UnwrapReply>>) => Record | NullReply>; +}; +export default _default; +//# sourceMappingURL=CONFIG_GET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/CONFIG_GET.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/CONFIG_GET.d.ts.map new file mode 100644 index 0000000..c22c99e --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/CONFIG_GET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CONFIG_GET.d.ts","sourceRoot":"","sources":["../../../lib/commands/CONFIG_GET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAW,MAAM,mCAAmC,CAAC;;;;IAK5H;;;;OAIG;gDACkB,aAAa,UAAU,MAAM;iDAG5B,YAAY,WAAW,YAAY,CAAC,eAAe,EAAE,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;;AAX5G,wBAoB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/CONFIG_GET.js b/back/node_modules/@redis/search/dist/lib/commands/CONFIG_GET.js new file mode 100644 index 0000000..360a609 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/CONFIG_GET.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Gets a RediSearch configuration option value. + * @param parser - The command parser + * @param option - The name of the configuration option to retrieve + */ + parseCommand(parser, option) { + parser.push('FT.CONFIG', 'GET', option); + }, + transformReply(reply) { + const transformedReply = Object.create(null); + for (const item of reply) { + const [key, value] = item; + transformedReply[key.toString()] = value; + } + return transformedReply; + } +}; +//# sourceMappingURL=CONFIG_GET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/CONFIG_GET.js.map b/back/node_modules/@redis/search/dist/lib/commands/CONFIG_GET.js.map new file mode 100644 index 0000000..522606b --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/CONFIG_GET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CONFIG_GET.js","sourceRoot":"","sources":["../../../lib/commands/CONFIG_GET.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,MAAc;QAChD,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IACD,cAAc,CAAC,KAA2F;QACxG,MAAM,gBAAgB,GAAgD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1F,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAA2C,CAAC;YACjE,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC;QAC3C,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/CONFIG_SET.d.ts b/back/node_modules/@redis/search/dist/lib/commands/CONFIG_SET.d.ts new file mode 100644 index 0000000..dd98440 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/CONFIG_SET.d.ts @@ -0,0 +1,18 @@ +/// +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, SimpleStringReply } from '@redis/client/dist/lib/RESP/types'; +type FtConfigProperties = 'a' | 'b' | (string & {}) | Buffer; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Sets a RediSearch configuration option value. + * @param parser - The command parser + * @param property - The name of the configuration option to set + * @param value - The value to set for the configuration option + */ + readonly parseCommand: (this: void, parser: CommandParser, property: FtConfigProperties, value: RedisArgument) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=CONFIG_SET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/CONFIG_SET.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/CONFIG_SET.d.ts.map new file mode 100644 index 0000000..2bb7e67 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/CONFIG_SET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CONFIG_SET.d.ts","sourceRoot":"","sources":["../../../lib/commands/CONFIG_SET.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,mCAAmC,CAAC;AAI9F,KAAK,kBAAkB,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC;;;;IAK3D;;;;;OAKG;gDACkB,aAAa,YAAY,kBAAkB,SAAS,aAAa;mCAGxC,kBAAkB,IAAI,CAAC;;AAZvE,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/CONFIG_SET.js b/back/node_modules/@redis/search/dist/lib/commands/CONFIG_SET.js new file mode 100644 index 0000000..4ea9a3b --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/CONFIG_SET.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Sets a RediSearch configuration option value. + * @param parser - The command parser + * @param property - The name of the configuration option to set + * @param value - The value to set for the configuration option + */ + parseCommand(parser, property, value) { + parser.push('FT.CONFIG', 'SET', property, value); + }, + transformReply: undefined +}; +//# sourceMappingURL=CONFIG_SET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/CONFIG_SET.js.map b/back/node_modules/@redis/search/dist/lib/commands/CONFIG_SET.js.map new file mode 100644 index 0000000..bafcad5 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/CONFIG_SET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CONFIG_SET.js","sourceRoot":"","sources":["../../../lib/commands/CONFIG_SET.ts"],"names":[],"mappings":";;AAOA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,QAA4B,EAAE,KAAoB;QACpF,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/CREATE.d.ts b/back/node_modules/@redis/search/dist/lib/commands/CREATE.d.ts new file mode 100644 index 0000000..8c7bd9a --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/CREATE.d.ts @@ -0,0 +1,201 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, SimpleStringReply } from '@redis/client/dist/lib/RESP/types'; +import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers'; +export declare const SCHEMA_FIELD_TYPE: { + readonly TEXT: "TEXT"; + readonly NUMERIC: "NUMERIC"; + readonly GEO: "GEO"; + readonly TAG: "TAG"; + readonly VECTOR: "VECTOR"; + readonly GEOSHAPE: "GEOSHAPE"; +}; +export type SchemaFieldType = typeof SCHEMA_FIELD_TYPE[keyof typeof SCHEMA_FIELD_TYPE]; +interface SchemaField { + type: T; + AS?: RedisArgument; + INDEXMISSING?: boolean; +} +interface SchemaCommonField extends SchemaField { + SORTABLE?: boolean | 'UNF'; + NOINDEX?: boolean; +} +export declare const SCHEMA_TEXT_FIELD_PHONETIC: { + readonly DM_EN: "dm:en"; + readonly DM_FR: "dm:fr"; + readonly DM_PT: "dm:pt"; + readonly DM_ES: "dm:es"; +}; +export type SchemaTextFieldPhonetic = typeof SCHEMA_TEXT_FIELD_PHONETIC[keyof typeof SCHEMA_TEXT_FIELD_PHONETIC]; +interface SchemaTextField extends SchemaCommonField { + NOSTEM?: boolean; + WEIGHT?: number; + PHONETIC?: SchemaTextFieldPhonetic; + WITHSUFFIXTRIE?: boolean; + INDEXEMPTY?: boolean; +} +interface SchemaNumericField extends SchemaCommonField { +} +interface SchemaGeoField extends SchemaCommonField { +} +interface SchemaTagField extends SchemaCommonField { + SEPARATOR?: RedisArgument; + CASESENSITIVE?: boolean; + WITHSUFFIXTRIE?: boolean; + INDEXEMPTY?: boolean; +} +export declare const SCHEMA_VECTOR_FIELD_ALGORITHM: { + readonly FLAT: "FLAT"; + readonly HNSW: "HNSW"; + /** + * available since 8.2 + */ + readonly VAMANA: "SVS-VAMANA"; +}; +export type SchemaVectorFieldAlgorithm = typeof SCHEMA_VECTOR_FIELD_ALGORITHM[keyof typeof SCHEMA_VECTOR_FIELD_ALGORITHM]; +interface SchemaVectorField extends SchemaField { + ALGORITHM: SchemaVectorFieldAlgorithm; + TYPE: 'FLOAT32' | 'FLOAT64' | 'BFLOAT16' | 'FLOAT16' | 'INT8' | 'UINT8'; + DIM: number; + DISTANCE_METRIC: 'L2' | 'IP' | 'COSINE'; + INITIAL_CAP?: number; +} +interface SchemaFlatVectorField extends SchemaVectorField { + ALGORITHM: typeof SCHEMA_VECTOR_FIELD_ALGORITHM['FLAT']; + BLOCK_SIZE?: number; +} +interface SchemaHNSWVectorField extends SchemaVectorField { + ALGORITHM: typeof SCHEMA_VECTOR_FIELD_ALGORITHM['HNSW']; + M?: number; + EF_CONSTRUCTION?: number; + EF_RUNTIME?: number; +} +export declare const VAMANA_COMPRESSION_ALGORITHM: { + readonly LVQ4: "LVQ4"; + readonly LVQ8: "LVQ8"; + readonly LVQ4x4: "LVQ4x4"; + readonly LVQ4x8: "LVQ4x8"; + readonly LeanVec4x8: "LeanVec4x8"; + readonly LeanVec8x8: "LeanVec8x8"; +}; +export type VamanaCompressionAlgorithm = typeof VAMANA_COMPRESSION_ALGORITHM[keyof typeof VAMANA_COMPRESSION_ALGORITHM]; +interface SchemaVAMANAVectorField extends SchemaVectorField { + ALGORITHM: typeof SCHEMA_VECTOR_FIELD_ALGORITHM['VAMANA']; + TYPE: 'FLOAT16' | 'FLOAT32'; + COMPRESSION?: VamanaCompressionAlgorithm; + CONSTRUCTION_WINDOW_SIZE?: number; + GRAPH_MAX_DEGREE?: number; + SEARCH_WINDOW_SIZE?: number; + EPSILON?: number; + /** + * applicable only with COMPRESSION + */ + TRAINING_THRESHOLD?: number; + /** + * applicable only with LeanVec COMPRESSION + */ + REDUCE?: number; +} +export declare const SCHEMA_GEO_SHAPE_COORD_SYSTEM: { + readonly SPHERICAL: "SPHERICAL"; + readonly FLAT: "FLAT"; +}; +export type SchemaGeoShapeFieldCoordSystem = typeof SCHEMA_GEO_SHAPE_COORD_SYSTEM[keyof typeof SCHEMA_GEO_SHAPE_COORD_SYSTEM]; +interface SchemaGeoShapeField extends SchemaField { + COORD_SYSTEM?: SchemaGeoShapeFieldCoordSystem; +} +/** + * Union type representing all possible field definition types for a RediSearch schema. + */ +export type SchemaFieldDefinition = SchemaTextField | SchemaNumericField | SchemaGeoField | SchemaTagField | SchemaFlatVectorField | SchemaHNSWVectorField | SchemaVAMANAVectorField | SchemaGeoShapeField | SchemaFieldType; +/** + * Schema definition for a RediSearch index. + * + * Each field can be either a single field definition or an array of definitions. + * Use an array to index the same field multiple times with different types or aliases. + * + * @example + * // Single field definitions + * { name: SCHEMA_FIELD_TYPE.TEXT, age: SCHEMA_FIELD_TYPE.NUMERIC } + * + * @example + * // Same field indexed as both TEXT and TAG with different aliases + * { sku: [ + * { type: SCHEMA_FIELD_TYPE.TEXT, AS: 'sku_text' }, + * { type: SCHEMA_FIELD_TYPE.TAG, AS: 'sku_tag', SORTABLE: true } + * ]} + */ +export interface RediSearchSchema { + [field: string]: SchemaFieldDefinition | SchemaFieldDefinition[]; +} +export declare function parseSchema(parser: CommandParser, schema: RediSearchSchema): void; +export declare const REDISEARCH_LANGUAGE: { + readonly ARABIC: "Arabic"; + readonly BASQUE: "Basque"; + readonly CATALANA: "Catalan"; + readonly DANISH: "Danish"; + readonly DUTCH: "Dutch"; + readonly ENGLISH: "English"; + readonly FINNISH: "Finnish"; + readonly FRENCH: "French"; + readonly GERMAN: "German"; + readonly GREEK: "Greek"; + readonly HUNGARIAN: "Hungarian"; + readonly INDONESAIN: "Indonesian"; + readonly IRISH: "Irish"; + readonly ITALIAN: "Italian"; + readonly LITHUANIAN: "Lithuanian"; + readonly NEPALI: "Nepali"; + readonly NORWEIGAN: "Norwegian"; + readonly PORTUGUESE: "Portuguese"; + readonly ROMANIAN: "Romanian"; + readonly RUSSIAN: "Russian"; + readonly SPANISH: "Spanish"; + readonly SWEDISH: "Swedish"; + readonly TAMIL: "Tamil"; + readonly TURKISH: "Turkish"; + readonly CHINESE: "Chinese"; +}; +export type RediSearchLanguage = typeof REDISEARCH_LANGUAGE[keyof typeof REDISEARCH_LANGUAGE]; +export type RediSearchProperty = `${'@' | '$.'}${string}`; +export interface CreateOptions { + ON?: 'HASH' | 'JSON'; + PREFIX?: RedisVariadicArgument; + FILTER?: RedisArgument; + LANGUAGE?: RediSearchLanguage; + LANGUAGE_FIELD?: RediSearchProperty; + SCORE?: number; + SCORE_FIELD?: RediSearchProperty; + MAXTEXTFIELDS?: boolean; + TEMPORARY?: number; + NOOFFSETS?: boolean; + NOHL?: boolean; + NOFIELDS?: boolean; + NOFREQS?: boolean; + SKIPINITIALSCAN?: boolean; + STOPWORDS?: RedisVariadicArgument; +} +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Creates a new search index with the given schema and options. + * @param parser - The command parser + * @param index - Name of the index to create + * @param schema - Index schema defining field names and types (TEXT, NUMERIC, GEO, TAG, VECTOR, GEOSHAPE). + * Each field can be a single definition or an array to index the same field multiple times with different configurations. + * @param options - Optional parameters: + * - ON: Type of container to index (HASH or JSON) + * - PREFIX: Prefixes for document keys to index + * - FILTER: Expression that filters indexed documents + * - LANGUAGE/LANGUAGE_FIELD: Default language for indexing + * - SCORE/SCORE_FIELD: Document ranking parameters + * - MAXTEXTFIELDS: Index all text fields without specifying them + * - TEMPORARY: Create a temporary index + * - NOOFFSETS/NOHL/NOFIELDS/NOFREQS: Index optimization flags + * - STOPWORDS: Custom stopword list + */ + readonly parseCommand: (this: void, parser: CommandParser, index: RedisArgument, schema: RediSearchSchema, options?: CreateOptions) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=CREATE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/CREATE.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/CREATE.d.ts.map new file mode 100644 index 0000000..459a7ea --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/CREATE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CREATE.d.ts","sourceRoot":"","sources":["../../../lib/commands/CREATE.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/CREATE.js b/back/node_modules/@redis/search/dist/lib/commands/CREATE.js new file mode 100644 index 0000000..caae0f4 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/CREATE.js @@ -0,0 +1,265 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.REDISEARCH_LANGUAGE = exports.parseSchema = exports.SCHEMA_GEO_SHAPE_COORD_SYSTEM = exports.VAMANA_COMPRESSION_ALGORITHM = exports.SCHEMA_VECTOR_FIELD_ALGORITHM = exports.SCHEMA_TEXT_FIELD_PHONETIC = exports.SCHEMA_FIELD_TYPE = void 0; +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +exports.SCHEMA_FIELD_TYPE = { + TEXT: 'TEXT', + NUMERIC: 'NUMERIC', + GEO: 'GEO', + TAG: 'TAG', + VECTOR: 'VECTOR', + GEOSHAPE: 'GEOSHAPE' +}; +exports.SCHEMA_TEXT_FIELD_PHONETIC = { + DM_EN: 'dm:en', + DM_FR: 'dm:fr', + DM_PT: 'dm:pt', + DM_ES: 'dm:es' +}; +exports.SCHEMA_VECTOR_FIELD_ALGORITHM = { + FLAT: 'FLAT', + HNSW: 'HNSW', + /** + * available since 8.2 + */ + VAMANA: 'SVS-VAMANA' +}; +exports.VAMANA_COMPRESSION_ALGORITHM = { + LVQ4: 'LVQ4', + LVQ8: 'LVQ8', + LVQ4x4: 'LVQ4x4', + LVQ4x8: 'LVQ4x8', + LeanVec4x8: 'LeanVec4x8', + LeanVec8x8: 'LeanVec8x8' +}; +exports.SCHEMA_GEO_SHAPE_COORD_SYSTEM = { + SPHERICAL: 'SPHERICAL', + FLAT: 'FLAT' +}; +function parseCommonSchemaFieldOptions(parser, fieldOptions) { + if (fieldOptions.SORTABLE) { + parser.push('SORTABLE'); + if (fieldOptions.SORTABLE === 'UNF') { + parser.push('UNF'); + } + } + if (fieldOptions.NOINDEX) { + parser.push('NOINDEX'); + } +} +function parseSchema(parser, schema) { + for (const [field, fieldOptionsOrArray] of Object.entries(schema)) { + // Normalize to array for uniform processing + const fieldOptionsList = Array.isArray(fieldOptionsOrArray) + ? fieldOptionsOrArray + : [fieldOptionsOrArray]; + for (const fieldOptions of fieldOptionsList) { + parser.push(field); + if (typeof fieldOptions === 'string') { + parser.push(fieldOptions); + continue; + } + if (fieldOptions.AS) { + parser.push('AS', fieldOptions.AS); + } + parser.push(fieldOptions.type); + if (fieldOptions.INDEXMISSING) { + parser.push('INDEXMISSING'); + } + switch (fieldOptions.type) { + case exports.SCHEMA_FIELD_TYPE.TEXT: + if (fieldOptions.NOSTEM) { + parser.push('NOSTEM'); + } + if (fieldOptions.WEIGHT !== undefined) { + parser.push('WEIGHT', fieldOptions.WEIGHT.toString()); + } + if (fieldOptions.PHONETIC) { + parser.push('PHONETIC', fieldOptions.PHONETIC); + } + if (fieldOptions.WITHSUFFIXTRIE) { + parser.push('WITHSUFFIXTRIE'); + } + if (fieldOptions.INDEXEMPTY) { + parser.push('INDEXEMPTY'); + } + parseCommonSchemaFieldOptions(parser, fieldOptions); + break; + case exports.SCHEMA_FIELD_TYPE.NUMERIC: + case exports.SCHEMA_FIELD_TYPE.GEO: + parseCommonSchemaFieldOptions(parser, fieldOptions); + break; + case exports.SCHEMA_FIELD_TYPE.TAG: + if (fieldOptions.SEPARATOR) { + parser.push('SEPARATOR', fieldOptions.SEPARATOR); + } + if (fieldOptions.CASESENSITIVE) { + parser.push('CASESENSITIVE'); + } + if (fieldOptions.WITHSUFFIXTRIE) { + parser.push('WITHSUFFIXTRIE'); + } + if (fieldOptions.INDEXEMPTY) { + parser.push('INDEXEMPTY'); + } + parseCommonSchemaFieldOptions(parser, fieldOptions); + break; + case exports.SCHEMA_FIELD_TYPE.VECTOR: + parser.push(fieldOptions.ALGORITHM); + const args = []; + args.push('TYPE', fieldOptions.TYPE, 'DIM', fieldOptions.DIM.toString(), 'DISTANCE_METRIC', fieldOptions.DISTANCE_METRIC); + if (fieldOptions.INITIAL_CAP !== undefined) { + args.push('INITIAL_CAP', fieldOptions.INITIAL_CAP.toString()); + } + switch (fieldOptions.ALGORITHM) { + case exports.SCHEMA_VECTOR_FIELD_ALGORITHM.FLAT: + if (fieldOptions.BLOCK_SIZE !== undefined) { + args.push('BLOCK_SIZE', fieldOptions.BLOCK_SIZE.toString()); + } + break; + case exports.SCHEMA_VECTOR_FIELD_ALGORITHM.HNSW: + if (fieldOptions.M !== undefined) { + args.push('M', fieldOptions.M.toString()); + } + if (fieldOptions.EF_CONSTRUCTION !== undefined) { + args.push('EF_CONSTRUCTION', fieldOptions.EF_CONSTRUCTION.toString()); + } + if (fieldOptions.EF_RUNTIME !== undefined) { + args.push('EF_RUNTIME', fieldOptions.EF_RUNTIME.toString()); + } + break; + case exports.SCHEMA_VECTOR_FIELD_ALGORITHM['VAMANA']: + if (fieldOptions.COMPRESSION) { + args.push('COMPRESSION', fieldOptions.COMPRESSION); + } + if (fieldOptions.CONSTRUCTION_WINDOW_SIZE !== undefined) { + args.push('CONSTRUCTION_WINDOW_SIZE', fieldOptions.CONSTRUCTION_WINDOW_SIZE.toString()); + } + if (fieldOptions.GRAPH_MAX_DEGREE !== undefined) { + args.push('GRAPH_MAX_DEGREE', fieldOptions.GRAPH_MAX_DEGREE.toString()); + } + if (fieldOptions.SEARCH_WINDOW_SIZE !== undefined) { + args.push('SEARCH_WINDOW_SIZE', fieldOptions.SEARCH_WINDOW_SIZE.toString()); + } + if (fieldOptions.EPSILON !== undefined) { + args.push('EPSILON', fieldOptions.EPSILON.toString()); + } + if (fieldOptions.TRAINING_THRESHOLD !== undefined) { + args.push('TRAINING_THRESHOLD', fieldOptions.TRAINING_THRESHOLD.toString()); + } + if (fieldOptions.REDUCE !== undefined) { + args.push('REDUCE', fieldOptions.REDUCE.toString()); + } + break; + } + parser.pushVariadicWithLength(args); + break; + case exports.SCHEMA_FIELD_TYPE.GEOSHAPE: + if (fieldOptions.COORD_SYSTEM !== undefined) { + parser.push('COORD_SYSTEM', fieldOptions.COORD_SYSTEM); + } + break; + } + } + } +} +exports.parseSchema = parseSchema; +exports.REDISEARCH_LANGUAGE = { + ARABIC: 'Arabic', + BASQUE: 'Basque', + CATALANA: 'Catalan', + DANISH: 'Danish', + DUTCH: 'Dutch', + ENGLISH: 'English', + FINNISH: 'Finnish', + FRENCH: 'French', + GERMAN: 'German', + GREEK: 'Greek', + HUNGARIAN: 'Hungarian', + INDONESAIN: 'Indonesian', + IRISH: 'Irish', + ITALIAN: 'Italian', + LITHUANIAN: 'Lithuanian', + NEPALI: 'Nepali', + NORWEIGAN: 'Norwegian', + PORTUGUESE: 'Portuguese', + ROMANIAN: 'Romanian', + RUSSIAN: 'Russian', + SPANISH: 'Spanish', + SWEDISH: 'Swedish', + TAMIL: 'Tamil', + TURKISH: 'Turkish', + CHINESE: 'Chinese' +}; +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Creates a new search index with the given schema and options. + * @param parser - The command parser + * @param index - Name of the index to create + * @param schema - Index schema defining field names and types (TEXT, NUMERIC, GEO, TAG, VECTOR, GEOSHAPE). + * Each field can be a single definition or an array to index the same field multiple times with different configurations. + * @param options - Optional parameters: + * - ON: Type of container to index (HASH or JSON) + * - PREFIX: Prefixes for document keys to index + * - FILTER: Expression that filters indexed documents + * - LANGUAGE/LANGUAGE_FIELD: Default language for indexing + * - SCORE/SCORE_FIELD: Document ranking parameters + * - MAXTEXTFIELDS: Index all text fields without specifying them + * - TEMPORARY: Create a temporary index + * - NOOFFSETS/NOHL/NOFIELDS/NOFREQS: Index optimization flags + * - STOPWORDS: Custom stopword list + */ + parseCommand(parser, index, schema, options) { + parser.push('FT.CREATE', index); + if (options?.ON) { + parser.push('ON', options.ON); + } + (0, generic_transformers_1.parseOptionalVariadicArgument)(parser, 'PREFIX', options?.PREFIX); + if (options?.FILTER) { + parser.push('FILTER', options.FILTER); + } + if (options?.LANGUAGE) { + parser.push('LANGUAGE', options.LANGUAGE); + } + if (options?.LANGUAGE_FIELD) { + parser.push('LANGUAGE_FIELD', options.LANGUAGE_FIELD); + } + if (options?.SCORE) { + parser.push('SCORE', options.SCORE.toString()); + } + if (options?.SCORE_FIELD) { + parser.push('SCORE_FIELD', options.SCORE_FIELD); + } + // if (options?.PAYLOAD_FIELD) { + // parser.push('PAYLOAD_FIELD', options.PAYLOAD_FIELD); + // } + if (options?.MAXTEXTFIELDS) { + parser.push('MAXTEXTFIELDS'); + } + if (options?.TEMPORARY) { + parser.push('TEMPORARY', options.TEMPORARY.toString()); + } + if (options?.NOOFFSETS) { + parser.push('NOOFFSETS'); + } + if (options?.NOHL) { + parser.push('NOHL'); + } + if (options?.NOFIELDS) { + parser.push('NOFIELDS'); + } + if (options?.NOFREQS) { + parser.push('NOFREQS'); + } + if (options?.SKIPINITIALSCAN) { + parser.push('SKIPINITIALSCAN'); + } + (0, generic_transformers_1.parseOptionalVariadicArgument)(parser, 'STOPWORDS', options?.STOPWORDS); + parser.push('SCHEMA'); + parseSchema(parser, schema); + }, + transformReply: undefined +}; +//# sourceMappingURL=CREATE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/CREATE.js.map b/back/node_modules/@redis/search/dist/lib/commands/CREATE.js.map new file mode 100644 index 0000000..988d5ae --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/CREATE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CREATE.js","sourceRoot":"","sources":["../../../lib/commands/CREATE.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/CURSOR_DEL.d.ts b/back/node_modules/@redis/search/dist/lib/commands/CURSOR_DEL.d.ts new file mode 100644 index 0000000..805b45d --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/CURSOR_DEL.d.ts @@ -0,0 +1,16 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { SimpleStringReply, RedisArgument, NumberReply, UnwrapReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Deletes a cursor from an index. + * @param parser - The command parser + * @param index - The index name that contains the cursor + * @param cursorId - The cursor ID to delete + */ + readonly parseCommand: (this: void, parser: CommandParser, index: RedisArgument, cursorId: UnwrapReply) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=CURSOR_DEL.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/CURSOR_DEL.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/CURSOR_DEL.d.ts.map new file mode 100644 index 0000000..50e9a24 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/CURSOR_DEL.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CURSOR_DEL.d.ts","sourceRoot":"","sources":["../../../lib/commands/CURSOR_DEL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAW,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;;;;IAKtH;;;;;OAKG;gDACkB,aAAa,SAAS,aAAa,YAAY,YAAY,WAAW,CAAC;mCAG9C,kBAAkB,IAAI,CAAC;;AAZvE,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/CURSOR_DEL.js b/back/node_modules/@redis/search/dist/lib/commands/CURSOR_DEL.js new file mode 100644 index 0000000..3312191 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/CURSOR_DEL.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Deletes a cursor from an index. + * @param parser - The command parser + * @param index - The index name that contains the cursor + * @param cursorId - The cursor ID to delete + */ + parseCommand(parser, index, cursorId) { + parser.push('FT.CURSOR', 'DEL', index, cursorId.toString()); + }, + transformReply: undefined +}; +//# sourceMappingURL=CURSOR_DEL.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/CURSOR_DEL.js.map b/back/node_modules/@redis/search/dist/lib/commands/CURSOR_DEL.js.map new file mode 100644 index 0000000..a0d72b2 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/CURSOR_DEL.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CURSOR_DEL.js","sourceRoot":"","sources":["../../../lib/commands/CURSOR_DEL.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,KAAoB,EAAE,QAAkC;QAC1F,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/CURSOR_READ.d.ts b/back/node_modules/@redis/search/dist/lib/commands/CURSOR_READ.d.ts new file mode 100644 index 0000000..77fc769 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/CURSOR_READ.d.ts @@ -0,0 +1,25 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, NumberReply, UnwrapReply } from '@redis/client/dist/lib/RESP/types'; +export interface FtCursorReadOptions { + COUNT?: number; +} +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Reads from an existing cursor to get more results from an index. + * @param parser - The command parser + * @param index - The index name that contains the cursor + * @param cursor - The cursor ID to read from + * @param options - Optional parameters: + * - COUNT: Maximum number of results to return + */ + readonly parseCommand: (this: void, parser: CommandParser, index: RedisArgument, cursor: UnwrapReply, options?: FtCursorReadOptions) => void; + readonly transformReply: { + readonly 2: (reply: [result: [total: UnwrapReply>, ...results: import("@redis/client/dist/lib/RESP/types").ArrayReply>[]], cursor: NumberReply]) => import("./AGGREGATE_WITHCURSOR").AggregateWithCursorReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; +}; +export default _default; +//# sourceMappingURL=CURSOR_READ.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/CURSOR_READ.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/CURSOR_READ.d.ts.map new file mode 100644 index 0000000..ea32494 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/CURSOR_READ.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CURSOR_READ.d.ts","sourceRoot":"","sources":["../../../lib/commands/CURSOR_READ.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAW,WAAW,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAGrG,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;;;;IAKC;;;;;;;OAOG;gDACkB,aAAa,SAAS,aAAa,UAAU,YAAY,WAAW,CAAC,YAAY,mBAAmB;;;;;;;AAX3H,wBAoB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/CURSOR_READ.js b/back/node_modules/@redis/search/dist/lib/commands/CURSOR_READ.js new file mode 100644 index 0000000..ed8f28d --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/CURSOR_READ.js @@ -0,0 +1,27 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const AGGREGATE_WITHCURSOR_1 = __importDefault(require("./AGGREGATE_WITHCURSOR")); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Reads from an existing cursor to get more results from an index. + * @param parser - The command parser + * @param index - The index name that contains the cursor + * @param cursor - The cursor ID to read from + * @param options - Optional parameters: + * - COUNT: Maximum number of results to return + */ + parseCommand(parser, index, cursor, options) { + parser.push('FT.CURSOR', 'READ', index, cursor.toString()); + if (options?.COUNT !== undefined) { + parser.push('COUNT', options.COUNT.toString()); + } + }, + transformReply: AGGREGATE_WITHCURSOR_1.default.transformReply, + unstableResp3: true +}; +//# sourceMappingURL=CURSOR_READ.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/CURSOR_READ.js.map b/back/node_modules/@redis/search/dist/lib/commands/CURSOR_READ.js.map new file mode 100644 index 0000000..6e9575d --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/CURSOR_READ.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CURSOR_READ.js","sourceRoot":"","sources":["../../../lib/commands/CURSOR_READ.ts"],"names":[],"mappings":";;;;;AAEA,kFAA0D;AAM1D,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAqB,EAAE,KAAoB,EAAE,MAAgC,EAAE,OAA6B;QACvH,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE3D,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,cAAc,EAAE,8BAAoB,CAAC,cAAc;IACnD,aAAa,EAAE,IAAI;CACO,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/DICTADD.d.ts b/back/node_modules/@redis/search/dist/lib/commands/DICTADD.d.ts new file mode 100644 index 0000000..9a1f04c --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/DICTADD.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, NumberReply } from '@redis/client/dist/lib/RESP/types'; +import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Adds terms to a dictionary. + * @param parser - The command parser + * @param dictionary - Name of the dictionary to add terms to + * @param term - One or more terms to add to the dictionary + */ + readonly parseCommand: (this: void, parser: CommandParser, dictionary: RedisArgument, term: RedisVariadicArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=DICTADD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/DICTADD.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/DICTADD.d.ts.map new file mode 100644 index 0000000..1af4126 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/DICTADD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"DICTADD.d.ts","sourceRoot":"","sources":["../../../lib/commands/DICTADD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,mCAAmC,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;;;;IAK3F;;;;;OAKG;gDACkB,aAAa,cAAc,aAAa,QAAQ,qBAAqB;mCAI5C,WAAW;;AAb3D,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/DICTADD.js b/back/node_modules/@redis/search/dist/lib/commands/DICTADD.js new file mode 100644 index 0000000..60d01fa --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/DICTADD.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Adds terms to a dictionary. + * @param parser - The command parser + * @param dictionary - Name of the dictionary to add terms to + * @param term - One or more terms to add to the dictionary + */ + parseCommand(parser, dictionary, term) { + parser.push('FT.DICTADD', dictionary); + parser.pushVariadic(term); + }, + transformReply: undefined +}; +//# sourceMappingURL=DICTADD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/DICTADD.js.map b/back/node_modules/@redis/search/dist/lib/commands/DICTADD.js.map new file mode 100644 index 0000000..ec33771 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/DICTADD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DICTADD.js","sourceRoot":"","sources":["../../../lib/commands/DICTADD.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,UAAyB,EAAE,IAA2B;QACxF,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QACtC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/DICTDEL.d.ts b/back/node_modules/@redis/search/dist/lib/commands/DICTDEL.d.ts new file mode 100644 index 0000000..b277164 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/DICTDEL.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, NumberReply } from '@redis/client/dist/lib/RESP/types'; +import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Deletes terms from a dictionary. + * @param parser - The command parser + * @param dictionary - Name of the dictionary to remove terms from + * @param term - One or more terms to delete from the dictionary + */ + readonly parseCommand: (this: void, parser: CommandParser, dictionary: RedisArgument, term: RedisVariadicArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=DICTDEL.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/DICTDEL.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/DICTDEL.d.ts.map new file mode 100644 index 0000000..2c4d700 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/DICTDEL.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"DICTDEL.d.ts","sourceRoot":"","sources":["../../../lib/commands/DICTDEL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,mCAAmC,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;;;;IAK3F;;;;;OAKG;gDACkB,aAAa,cAAc,aAAa,QAAQ,qBAAqB;mCAI5C,WAAW;;AAb3D,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/DICTDEL.js b/back/node_modules/@redis/search/dist/lib/commands/DICTDEL.js new file mode 100644 index 0000000..7b37adb --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/DICTDEL.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Deletes terms from a dictionary. + * @param parser - The command parser + * @param dictionary - Name of the dictionary to remove terms from + * @param term - One or more terms to delete from the dictionary + */ + parseCommand(parser, dictionary, term) { + parser.push('FT.DICTDEL', dictionary); + parser.pushVariadic(term); + }, + transformReply: undefined +}; +//# sourceMappingURL=DICTDEL.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/DICTDEL.js.map b/back/node_modules/@redis/search/dist/lib/commands/DICTDEL.js.map new file mode 100644 index 0000000..cd5f9f7 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/DICTDEL.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DICTDEL.js","sourceRoot":"","sources":["../../../lib/commands/DICTDEL.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,UAAyB,EAAE,IAA2B;QACxF,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QACtC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/DICTDUMP.d.ts b/back/node_modules/@redis/search/dist/lib/commands/DICTDUMP.d.ts new file mode 100644 index 0000000..b0fcfce --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/DICTDUMP.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, ArrayReply, SetReply, BlobStringReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns all terms in a dictionary. + * @param parser - The command parser + * @param dictionary - Name of the dictionary to dump + */ + readonly parseCommand: (this: void, parser: CommandParser, dictionary: RedisArgument) => void; + readonly transformReply: { + readonly 2: () => ArrayReply; + readonly 3: () => SetReply; + }; +}; +export default _default; +//# sourceMappingURL=DICTDUMP.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/DICTDUMP.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/DICTDUMP.d.ts.map new file mode 100644 index 0000000..cbc0116 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/DICTDUMP.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"DICTDUMP.d.ts","sourceRoot":"","sources":["../../../lib/commands/DICTDUMP.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAW,MAAM,mCAAmC,CAAC;;;;IAKhH;;;;OAIG;gDACkB,aAAa,cAAc,aAAa;;0BAI1B,WAAW,eAAe,CAAC;0BAC3B,SAAS,eAAe,CAAC;;;AAb9D,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/DICTDUMP.js b/back/node_modules/@redis/search/dist/lib/commands/DICTDUMP.js new file mode 100644 index 0000000..a050abd --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/DICTDUMP.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns all terms in a dictionary. + * @param parser - The command parser + * @param dictionary - Name of the dictionary to dump + */ + parseCommand(parser, dictionary) { + parser.push('FT.DICTDUMP', dictionary); + }, + transformReply: { + 2: undefined, + 3: undefined + } +}; +//# sourceMappingURL=DICTDUMP.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/DICTDUMP.js.map b/back/node_modules/@redis/search/dist/lib/commands/DICTDUMP.js.map new file mode 100644 index 0000000..406caca --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/DICTDUMP.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DICTDUMP.js","sourceRoot":"","sources":["../../../lib/commands/DICTDUMP.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,UAAyB;QAC3D,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IACzC,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,SAAyD;QAC5D,CAAC,EAAE,SAAuD;KAC3D;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/DROPINDEX.d.ts b/back/node_modules/@redis/search/dist/lib/commands/DROPINDEX.d.ts new file mode 100644 index 0000000..84cc5d3 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/DROPINDEX.d.ts @@ -0,0 +1,23 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, SimpleStringReply, NumberReply } from '@redis/client/dist/lib/RESP/types'; +export interface FtDropIndexOptions { + DD?: true; +} +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Deletes an index and all associated documents. + * @param parser - The command parser + * @param index - Name of the index to delete + * @param options - Optional parameters: + * - DD: Also delete the indexed documents themselves + */ + readonly parseCommand: (this: void, parser: CommandParser, index: RedisArgument, options?: FtDropIndexOptions) => void; + readonly transformReply: { + readonly 2: () => SimpleStringReply<'OK'>; + readonly 3: () => NumberReply; + }; +}; +export default _default; +//# sourceMappingURL=DROPINDEX.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/DROPINDEX.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/DROPINDEX.d.ts.map new file mode 100644 index 0000000..4fdd4ee --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/DROPINDEX.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"DROPINDEX.d.ts","sourceRoot":"","sources":["../../../lib/commands/DROPINDEX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAW,MAAM,mCAAmC,CAAC;AAE3G,MAAM,WAAW,kBAAkB;IACjC,EAAE,CAAC,EAAE,IAAI,CAAC;CACX;;;;IAKC;;;;;;OAMG;gDACkB,aAAa,SAAS,aAAa,YAAY,kBAAkB;;0BAQnD,kBAAkB,IAAI,CAAC;0BACvB,WAAW;;;AAnBhD,wBAqB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/DROPINDEX.js b/back/node_modules/@redis/search/dist/lib/commands/DROPINDEX.js new file mode 100644 index 0000000..db4294c --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/DROPINDEX.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Deletes an index and all associated documents. + * @param parser - The command parser + * @param index - Name of the index to delete + * @param options - Optional parameters: + * - DD: Also delete the indexed documents themselves + */ + parseCommand(parser, index, options) { + parser.push('FT.DROPINDEX', index); + if (options?.DD) { + parser.push('DD'); + } + }, + transformReply: { + 2: undefined, + 3: undefined + } +}; +//# sourceMappingURL=DROPINDEX.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/DROPINDEX.js.map b/back/node_modules/@redis/search/dist/lib/commands/DROPINDEX.js.map new file mode 100644 index 0000000..2b2a0e4 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/DROPINDEX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DROPINDEX.js","sourceRoot":"","sources":["../../../lib/commands/DROPINDEX.ts"],"names":[],"mappings":";;AAOA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,KAAoB,EAAE,OAA4B;QACpF,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAEnC,IAAI,OAAO,EAAE,EAAE,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,SAAqD;QACxD,CAAC,EAAE,SAAyC;KAC7C;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/EXPLAIN.d.ts b/back/node_modules/@redis/search/dist/lib/commands/EXPLAIN.d.ts new file mode 100644 index 0000000..a6123fe --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/EXPLAIN.d.ts @@ -0,0 +1,24 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, SimpleStringReply } from '@redis/client/dist/lib/RESP/types'; +import { FtSearchParams } from './SEARCH'; +export interface FtExplainOptions { + PARAMS?: FtSearchParams; + DIALECT?: number; +} +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns the execution plan for a complex query. + * @param parser - The command parser + * @param index - Name of the index to explain query against + * @param query - The query string to explain + * @param options - Optional parameters: + * - PARAMS: Named parameters to use in the query + * - DIALECT: Version of query dialect to use (defaults to 1) + */ + readonly parseCommand: (this: void, parser: CommandParser, index: RedisArgument, query: RedisArgument, options?: FtExplainOptions) => void; + readonly transformReply: () => SimpleStringReply; +}; +export default _default; +//# sourceMappingURL=EXPLAIN.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/EXPLAIN.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/EXPLAIN.d.ts.map new file mode 100644 index 0000000..d7e044e --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/EXPLAIN.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"EXPLAIN.d.ts","sourceRoot":"","sources":["../../../lib/commands/EXPLAIN.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,mCAAmC,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAuB,MAAM,UAAU,CAAC;AAG/D,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;;;;IAKC;;;;;;;;OAQG;gDAEO,aAAa,SACd,aAAa,SACb,aAAa,YACV,gBAAgB;mCAYkB,iBAAiB;;AA5BjE,wBA6B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/EXPLAIN.js b/back/node_modules/@redis/search/dist/lib/commands/EXPLAIN.js new file mode 100644 index 0000000..e24d020 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/EXPLAIN.js @@ -0,0 +1,29 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const SEARCH_1 = require("./SEARCH"); +const default_1 = require("../dialect/default"); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns the execution plan for a complex query. + * @param parser - The command parser + * @param index - Name of the index to explain query against + * @param query - The query string to explain + * @param options - Optional parameters: + * - PARAMS: Named parameters to use in the query + * - DIALECT: Version of query dialect to use (defaults to 1) + */ + parseCommand(parser, index, query, options) { + parser.push('FT.EXPLAIN', index, query); + (0, SEARCH_1.parseParamsArgument)(parser, options?.PARAMS); + if (options?.DIALECT) { + parser.push('DIALECT', options.DIALECT.toString()); + } + else { + parser.push('DIALECT', default_1.DEFAULT_DIALECT); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=EXPLAIN.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/EXPLAIN.js.map b/back/node_modules/@redis/search/dist/lib/commands/EXPLAIN.js.map new file mode 100644 index 0000000..941c554 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/EXPLAIN.js.map @@ -0,0 +1 @@ +{"version":3,"file":"EXPLAIN.js","sourceRoot":"","sources":["../../../lib/commands/EXPLAIN.ts"],"names":[],"mappings":";;AAEA,qCAA+D;AAC/D,gDAAqD;AAOrD,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CACV,MAAqB,EACrB,KAAoB,EACpB,KAAoB,EACpB,OAA0B;QAE1B,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAExC,IAAA,4BAAmB,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAE7C,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,yBAAe,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAA+C;CACrC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/EXPLAINCLI.d.ts b/back/node_modules/@redis/search/dist/lib/commands/EXPLAINCLI.d.ts new file mode 100644 index 0000000..7e5c886 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/EXPLAINCLI.d.ts @@ -0,0 +1,21 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, ArrayReply, BlobStringReply } from '@redis/client/dist/lib/RESP/types'; +export interface FtExplainCLIOptions { + DIALECT?: number; +} +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns the execution plan for a complex query in a more verbose format than FT.EXPLAIN. + * @param parser - The command parser + * @param index - Name of the index to explain query against + * @param query - The query string to explain + * @param options - Optional parameters: + * - DIALECT: Version of query dialect to use (defaults to 1) + */ + readonly parseCommand: (this: void, parser: CommandParser, index: RedisArgument, query: RedisArgument, options?: FtExplainCLIOptions) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=EXPLAINCLI.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/EXPLAINCLI.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/EXPLAINCLI.d.ts.map new file mode 100644 index 0000000..603edeb --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/EXPLAINCLI.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"EXPLAINCLI.d.ts","sourceRoot":"","sources":["../../../lib/commands/EXPLAINCLI.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAW,MAAM,mCAAmC,CAAC;AAGxG,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;;;;IAKC;;;;;;;OAOG;gDAEO,aAAa,SACd,aAAa,SACb,aAAa,YACV,mBAAmB;mCAUe,WAAW,eAAe,CAAC;;AAzB3E,wBA0B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/EXPLAINCLI.js b/back/node_modules/@redis/search/dist/lib/commands/EXPLAINCLI.js new file mode 100644 index 0000000..4fa2f7c --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/EXPLAINCLI.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const default_1 = require("../dialect/default"); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns the execution plan for a complex query in a more verbose format than FT.EXPLAIN. + * @param parser - The command parser + * @param index - Name of the index to explain query against + * @param query - The query string to explain + * @param options - Optional parameters: + * - DIALECT: Version of query dialect to use (defaults to 1) + */ + parseCommand(parser, index, query, options) { + parser.push('FT.EXPLAINCLI', index, query); + if (options?.DIALECT) { + parser.push('DIALECT', options.DIALECT.toString()); + } + else { + parser.push('DIALECT', default_1.DEFAULT_DIALECT); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=EXPLAINCLI.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/EXPLAINCLI.js.map b/back/node_modules/@redis/search/dist/lib/commands/EXPLAINCLI.js.map new file mode 100644 index 0000000..07ca487 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/EXPLAINCLI.js.map @@ -0,0 +1 @@ +{"version":3,"file":"EXPLAINCLI.js","sourceRoot":"","sources":["../../../lib/commands/EXPLAINCLI.ts"],"names":[],"mappings":";;AAEA,gDAAqD;AAMrD,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,CACV,MAAqB,EACrB,KAAoB,EACpB,KAAoB,EACpB,OAA6B;QAE7B,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAE3C,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,yBAAe,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyD;CAC/C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/HYBRID.d.ts b/back/node_modules/@redis/search/dist/lib/commands/HYBRID.d.ts new file mode 100644 index 0000000..ba5dbbb --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/HYBRID.d.ts @@ -0,0 +1,183 @@ +/// +import { CommandParser } from "@redis/client/dist/lib/client/parser"; +import { RedisArgument, ReplyUnion } from "@redis/client/dist/lib/RESP/types"; +import { RedisVariadicArgument } from "@redis/client/dist/lib/commands/generic-transformers"; +import { GroupByReducers } from "./AGGREGATE"; +/** + * Text search expression configuration for hybrid search. + */ +export interface FtHybridSearchExpression { + /** Search query string or parameter reference (e.g., "$q") */ + query: RedisArgument; + /** Scoring algorithm configuration */ + SCORER?: RedisArgument; + /** Alias for the text search score in results */ + YIELD_SCORE_AS?: RedisArgument; +} +/** + * Vector search method configuration - either KNN or RANGE. + */ +export declare const FT_HYBRID_VECTOR_METHOD: { + /** K-Nearest Neighbors search configuration */ + readonly KNN: "KNN"; + /** Range-based vector search configuration */ + readonly RANGE: "RANGE"; +}; +/** Vector search method type */ +export type FtHybridVectorMethodType = (typeof FT_HYBRID_VECTOR_METHOD)[keyof typeof FT_HYBRID_VECTOR_METHOD]; +interface FtHybridVectorMethodKNN { + type: (typeof FT_HYBRID_VECTOR_METHOD)["KNN"]; + /** Number of nearest neighbors to find */ + K: number; + /** Controls the search accuracy vs. speed tradeoff */ + EF_RUNTIME?: number; +} +interface FtHybridVectorMethodRange { + type: (typeof FT_HYBRID_VECTOR_METHOD)["RANGE"]; + /** Maximum distance for matches */ + RADIUS: number; + /** Provides additional precision control */ + EPSILON?: number; +} +/** + * Vector similarity search expression configuration. + */ +export interface FtHybridVectorExpression { + /** Vector field name (e.g., "@embedding") */ + field: RedisArgument; + /** Vector parameter reference (e.g., "$v") */ + vector: string; + /** Search method configuration - KNN or RANGE */ + method?: FtHybridVectorMethodKNN | FtHybridVectorMethodRange; + /** Pre-filter expression applied before vector search (e.g., "@tag:{foo}") */ + FILTER?: RedisArgument; + /** Alias for the vector score in results */ + YIELD_SCORE_AS?: RedisArgument; +} +/** + * Score fusion method type constants for combining search results. + */ +export declare const FT_HYBRID_COMBINE_METHOD: { + /** Reciprocal Rank Fusion */ + readonly RRF: "RRF"; + /** Linear combination with ALPHA and BETA weights */ + readonly LINEAR: "LINEAR"; +}; +/** Combine method type */ +export type FtHybridCombineMethodType = (typeof FT_HYBRID_COMBINE_METHOD)[keyof typeof FT_HYBRID_COMBINE_METHOD]; +interface FtHybridCombineMethodRRF { + type: (typeof FT_HYBRID_COMBINE_METHOD)["RRF"]; + /** RRF constant for score calculation */ + CONSTANT?: number; + /** Window size for score normalization */ + WINDOW?: number; +} +interface FtHybridCombineMethodLinear { + type: (typeof FT_HYBRID_COMBINE_METHOD)["LINEAR"]; + /** Weight for text search score */ + ALPHA?: number; + /** Weight for vector search score */ + BETA?: number; + /** Window size for score normalization */ + WINDOW?: number; +} +/** + * Apply expression for result transformation. + */ +export interface FtHybridApply { + /** Transformation expression to apply */ + expression: RedisArgument; + /** Alias for the computed value in output */ + AS?: RedisArgument; +} +/** + * Options for the FT.HYBRID command. + */ +export interface FtHybridOptions { + /** Text search expression configuration */ + SEARCH: FtHybridSearchExpression; + /** Vector similarity search expression configuration */ + VSIM: FtHybridVectorExpression; + /** Score fusion configuration for combining SEARCH and VSIM results */ + COMBINE?: { + /** Fusion method: RRF or LINEAR */ + method: FtHybridCombineMethodRRF | FtHybridCombineMethodLinear; + /** Alias for the combined score in results */ + YIELD_SCORE_AS?: RedisArgument; + }; + /** + * Fields to load and return in results (LOAD clause). + * - Use `"*"` to load all fields from documents + * - Use a field name or array of field names to load specific fields + */ + LOAD?: RedisVariadicArgument; + /** Group by configuration for aggregation */ + GROUPBY?: { + /** Fields to group by */ + fields: RedisVariadicArgument; + /** Reducer(s) to apply to each group */ + REDUCE?: GroupByReducers | Array; + }; + /** Apply expression(s) for result transformation */ + APPLY?: FtHybridApply | Array; + /** Sort configuration for results */ + SORTBY?: { + /** Fields to sort by with optional direction */ + fields: Array<{ + /** Field name to sort by */ + field: RedisArgument; + /** Sort direction: "ASC" (ascending) or "DESC" (descending) */ + direction?: "ASC" | "DESC"; + }>; + }; + /** Disable sorting - returns results in arbitrary order */ + NOSORT?: boolean; + /** Post-filter expression applied after scoring */ + FILTER?: RedisArgument; + /** Pagination configuration */ + LIMIT?: { + /** Number of results to skip */ + offset: number | RedisArgument; + /** Number of results to return */ + count: number | RedisArgument; + }; + /** Query parameters for parameterized queries */ + PARAMS?: Record; + /** Query timeout in milliseconds */ + TIMEOUT?: number; +} +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Performs a hybrid search combining multiple search expressions. + * Supports multiple SEARCH and VECTOR expressions with various fusion methods. + * + * @experimental + * NOTE: FT.Hybrid is still in experimental state + * It's behaviour and function signature may change + * + * @param parser - The command parser + * @param index - The index name to search + * @param options - Hybrid search options including: + * - SEARCH: Text search expression with optional scoring + * - VSIM: Vector similarity expression with KNN/RANGE methods + * - COMBINE: Fusion method (RRF, LINEAR) + * - Post-processing operations: LOAD, GROUPBY, APPLY, SORTBY, FILTER + * - Tunable options: LIMIT, PARAMS, TIMEOUT + */ + readonly parseCommand: (this: void, parser: CommandParser, index: RedisArgument, options: FtHybridOptions) => void; + readonly transformReply: { + readonly 2: (reply: any) => HybridSearchResult; + readonly 3: () => ReplyUnion; + }; + readonly unstableResp3: true; +}; +export default _default; +export interface HybridSearchResult { + totalResults: number; + executionTime: number; + warnings: string[]; + results: Record[]; +} +//# sourceMappingURL=HYBRID.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/HYBRID.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/HYBRID.d.ts.map new file mode 100644 index 0000000..685fdde --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/HYBRID.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HYBRID.d.ts","sourceRoot":"","sources":["../../../lib/commands/HYBRID.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/HYBRID.js b/back/node_modules/@redis/search/dist/lib/commands/HYBRID.js new file mode 100644 index 0000000..5bdee74 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/HYBRID.js @@ -0,0 +1,273 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FT_HYBRID_COMBINE_METHOD = exports.FT_HYBRID_VECTOR_METHOD = void 0; +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +const SEARCH_1 = require("./SEARCH"); +const AGGREGATE_1 = require("./AGGREGATE"); +/** + * Vector search method configuration - either KNN or RANGE. + */ +exports.FT_HYBRID_VECTOR_METHOD = { + /** K-Nearest Neighbors search configuration */ + KNN: "KNN", + /** Range-based vector search configuration */ + RANGE: "RANGE", +}; +/** + * Score fusion method type constants for combining search results. + */ +exports.FT_HYBRID_COMBINE_METHOD = { + /** Reciprocal Rank Fusion */ + RRF: "RRF", + /** Linear combination with ALPHA and BETA weights */ + LINEAR: "LINEAR", +}; +function parseSearchExpression(parser, search) { + parser.push("SEARCH", search.query); + if (search.SCORER) { + parser.push("SCORER", search.SCORER); + } + if (search.YIELD_SCORE_AS) { + parser.push("YIELD_SCORE_AS", search.YIELD_SCORE_AS); + } +} +function parseVectorExpression(parser, vsim) { + parser.push("VSIM", vsim.field, vsim.vector); + if (vsim.method) { + if (vsim.method.type === exports.FT_HYBRID_VECTOR_METHOD.KNN) { + let argsCount = 2; + if (vsim.method.EF_RUNTIME !== undefined) { + argsCount += 2; + } + parser.push("KNN", argsCount.toString(), "K", vsim.method.K.toString()); + if (vsim.method.EF_RUNTIME !== undefined) { + parser.push("EF_RUNTIME", vsim.method.EF_RUNTIME.toString()); + } + } + if (vsim.method.type === exports.FT_HYBRID_VECTOR_METHOD.RANGE) { + let argsCount = 2; + if (vsim.method.EPSILON !== undefined) { + argsCount += 2; + } + parser.push("RANGE", argsCount.toString(), "RADIUS", vsim.method.RADIUS.toString()); + if (vsim.method.EPSILON !== undefined) { + parser.push("EPSILON", vsim.method.EPSILON.toString()); + } + } + } + if (vsim.FILTER) { + parser.push("FILTER", vsim.FILTER); + } + if (vsim.YIELD_SCORE_AS) { + parser.push("YIELD_SCORE_AS", vsim.YIELD_SCORE_AS); + } +} +function parseCombineMethod(parser, combine) { + if (!combine) + return; + parser.push("COMBINE"); + if (combine.method.type === exports.FT_HYBRID_COMBINE_METHOD.RRF) { + // Calculate argsCount: 2 per optional (WINDOW, CONSTANT, YIELD_SCORE_AS) + let argsCount = 0; + if (combine.method.WINDOW !== undefined) { + argsCount += 2; + } + if (combine.method.CONSTANT !== undefined) { + argsCount += 2; + } + if (combine.YIELD_SCORE_AS) { + argsCount += 2; + } + parser.push("RRF", argsCount.toString()); + if (combine.method.WINDOW !== undefined) { + parser.push("WINDOW", combine.method.WINDOW.toString()); + } + if (combine.method.CONSTANT !== undefined) { + parser.push("CONSTANT", combine.method.CONSTANT.toString()); + } + } + if (combine.method.type === exports.FT_HYBRID_COMBINE_METHOD.LINEAR) { + // Calculate argsCount: 2 per optional (ALPHA, BETA, WINDOW, YIELD_SCORE_AS) + let argsCount = 0; + if (combine.method.ALPHA !== undefined) { + argsCount += 2; + } + if (combine.method.BETA !== undefined) { + argsCount += 2; + } + if (combine.method.WINDOW !== undefined) { + argsCount += 2; + } + if (combine.YIELD_SCORE_AS) { + argsCount += 2; + } + parser.push("LINEAR", argsCount.toString()); + if (combine.method.ALPHA !== undefined) { + parser.push("ALPHA", combine.method.ALPHA.toString()); + } + if (combine.method.BETA !== undefined) { + parser.push("BETA", combine.method.BETA.toString()); + } + if (combine.method.WINDOW !== undefined) { + parser.push("WINDOW", combine.method.WINDOW.toString()); + } + } + if (combine.YIELD_SCORE_AS) { + parser.push("YIELD_SCORE_AS", combine.YIELD_SCORE_AS); + } +} +function parseApply(parser, apply) { + parser.push("APPLY", apply.expression); + if (apply.AS) { + parser.push("AS", apply.AS); + } +} +function parseHybridOptions(parser, options) { + parseSearchExpression(parser, options.SEARCH); + parseVectorExpression(parser, options.VSIM); + if (options.COMBINE) { + parseCombineMethod(parser, options.COMBINE); + } + if (options.LOAD) { + if (options.LOAD === "*") { + parser.push("LOAD", "*"); + } + else { + (0, generic_transformers_1.parseOptionalVariadicArgument)(parser, "LOAD", options.LOAD); + } + } + if (options.GROUPBY) { + (0, generic_transformers_1.parseOptionalVariadicArgument)(parser, "GROUPBY", options.GROUPBY.fields); + if (options.GROUPBY.REDUCE) { + const reducers = Array.isArray(options.GROUPBY.REDUCE) + ? options.GROUPBY.REDUCE + : [options.GROUPBY.REDUCE]; + for (const reducer of reducers) { + (0, AGGREGATE_1.parseGroupByReducer)(parser, reducer); + } + } + } + if (options.APPLY) { + const applies = Array.isArray(options.APPLY) + ? options.APPLY + : [options.APPLY]; + for (const apply of applies) { + parseApply(parser, apply); + } + } + if (options.SORTBY) { + const sortByArgsCount = options.SORTBY.fields.reduce((acc, field) => { + if (field.direction) { + return acc + 2; + } + return acc + 1; + }, 0); + parser.push("SORTBY", sortByArgsCount.toString()); + for (const sortField of options.SORTBY.fields) { + parser.push(sortField.field); + if (sortField.direction) { + parser.push(sortField.direction); + } + } + } + if (options.NOSORT) { + parser.push("NOSORT"); + } + if (options.FILTER) { + parser.push("FILTER", options.FILTER); + } + if (options.LIMIT) { + parser.push("LIMIT", options.LIMIT.offset.toString(), options.LIMIT.count.toString()); + } + const hasParams = options.PARAMS && Object.keys(options.PARAMS).length > 0; + (0, SEARCH_1.parseParamsArgument)(parser, hasParams ? options.PARAMS : undefined); + if (options.TIMEOUT !== undefined) { + parser.push("TIMEOUT", options.TIMEOUT.toString()); + } +} +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Performs a hybrid search combining multiple search expressions. + * Supports multiple SEARCH and VECTOR expressions with various fusion methods. + * + * @experimental + * NOTE: FT.Hybrid is still in experimental state + * It's behaviour and function signature may change + * + * @param parser - The command parser + * @param index - The index name to search + * @param options - Hybrid search options including: + * - SEARCH: Text search expression with optional scoring + * - VSIM: Vector similarity expression with KNN/RANGE methods + * - COMBINE: Fusion method (RRF, LINEAR) + * - Post-processing operations: LOAD, GROUPBY, APPLY, SORTBY, FILTER + * - Tunable options: LIMIT, PARAMS, TIMEOUT + */ + parseCommand(parser, index, options) { + parser.push("FT.HYBRID", index); + parseHybridOptions(parser, options); + }, + transformReply: { + 2: (reply) => { + return transformHybridSearchResults(reply); + }, + 3: undefined, + }, + unstableResp3: true, +}; +function transformHybridSearchResults(reply) { + // FT.HYBRID returns a map-like structure as flat array: + // ['total_results', N, 'results', [...], 'warnings', [...], 'execution_time', 'X.XXX'] + const replyMap = parseReplyMap(reply); + const totalResults = replyMap["total_results"] ?? 0; + const rawResults = replyMap["results"] ?? []; + const warnings = replyMap["warnings"] ?? []; + const executionTime = replyMap["execution_time"] + ? Number.parseFloat(replyMap["execution_time"]) + : 0; + const results = []; + for (const result of rawResults) { + // Each result is a flat key-value array like FT.AGGREGATE: ['field1', 'value1', 'field2', 'value2', ...] + const resultMap = parseReplyMap(result); + const doc = Object.create(null); + // Add all other fields from the result + for (const [key, value] of Object.entries(resultMap)) { + if (key === "$") { + // JSON document - parse and merge + try { + Object.assign(doc, JSON.parse(value)); + } + catch { + doc[key] = value; + } + } + else { + doc[key] = value; + } + } + results.push(doc); + } + return { + totalResults, + executionTime, + warnings, + results, + }; +} +function parseReplyMap(reply) { + const map = {}; + if (!Array.isArray(reply)) { + return map; + } + for (let i = 0; i < reply.length; i += 2) { + const key = reply[i]; + const value = reply[i + 1]; + if (typeof key === "string") { + map[key] = value; + } + } + return map; +} +//# sourceMappingURL=HYBRID.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/HYBRID.js.map b/back/node_modules/@redis/search/dist/lib/commands/HYBRID.js.map new file mode 100644 index 0000000..ceb3249 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/HYBRID.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HYBRID.js","sourceRoot":"","sources":["../../../lib/commands/HYBRID.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/INFO.d.ts b/back/node_modules/@redis/search/dist/lib/commands/INFO.d.ts new file mode 100644 index 0000000..ef6b6ab --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/INFO.d.ts @@ -0,0 +1,69 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument } from "@redis/client"; +import { ArrayReply, BlobStringReply, DoubleReply, MapReply, NullReply, NumberReply, ReplyUnion, SimpleStringReply, TypeMapping } from "@redis/client/dist/lib/RESP/types"; +import { TuplesReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns information and statistics about an index. + * @param parser - The command parser + * @param index - Name of the index to get information about + */ + readonly parseCommand: (this: void, parser: CommandParser, index: RedisArgument) => void; + readonly transformReply: { + readonly 2: typeof transformV2Reply; + readonly 3: () => ReplyUnion; + }; + readonly unstableResp3: true; +}; +export default _default; +export interface InfoReply { + index_name: SimpleStringReply; + index_options: ArrayReply; + index_definition: MapReply; + attributes: Array>; + num_docs: NumberReply; + max_doc_id: NumberReply; + num_terms: NumberReply; + num_records: NumberReply; + inverted_sz_mb: DoubleReply; + vector_index_sz_mb: DoubleReply; + total_inverted_index_blocks: NumberReply; + offset_vectors_sz_mb: DoubleReply; + doc_table_size_mb: DoubleReply; + sortable_values_size_mb: DoubleReply; + key_table_size_mb: DoubleReply; + tag_overhead_sz_mb: DoubleReply; + text_overhead_sz_mb: DoubleReply; + total_index_memory_sz_mb: DoubleReply; + geoshapes_sz_mb: DoubleReply; + records_per_doc_avg: DoubleReply; + bytes_per_record_avg: DoubleReply; + offsets_per_term_avg: DoubleReply; + offset_bits_per_record_avg: DoubleReply; + hash_indexing_failures: NumberReply; + total_indexing_time: DoubleReply; + indexing: NumberReply; + percent_indexed: DoubleReply; + number_of_uses: NumberReply; + cleaning: NumberReply; + gc_stats: { + bytes_collected: DoubleReply; + total_ms_run: DoubleReply; + total_cycles: DoubleReply; + average_cycle_time_ms: DoubleReply; + last_run_time_ms: DoubleReply; + gc_numeric_trees_missed: DoubleReply; + gc_blocks_denied: DoubleReply; + }; + cursor_stats: { + global_idle: NumberReply; + global_total: NumberReply; + index_capacity: NumberReply; + index_total: NumberReply; + }; + stopwords_list?: ArrayReply | TuplesReply<[NullReply]>; +} +declare function transformV2Reply(reply: Array, preserve?: any, typeMapping?: TypeMapping): InfoReply; +//# sourceMappingURL=INFO.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/INFO.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/INFO.d.ts.map new file mode 100644 index 0000000..5901c12 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/INFO.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"INFO.d.ts","sourceRoot":"","sources":["../../../lib/commands/INFO.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAW,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEpL,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;;;;IAK9D;;;;OAIG;gDACkB,aAAa,SAAS,aAAa;;;0BAKrB,UAAU;;;;AAb/C,wBAgB6B;AAE7B,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,aAAa,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC7C,gBAAgB,EAAE,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IACjE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAClE,QAAQ,EAAE,WAAW,CAAA;IACrB,UAAU,EAAE,WAAW,CAAC;IACxB,SAAS,EAAE,WAAW,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,WAAW,CAAC;IAC5B,kBAAkB,EAAE,WAAW,CAAC;IAChC,2BAA2B,EAAE,WAAW,CAAC;IACzC,oBAAoB,EAAE,WAAW,CAAC;IAClC,iBAAiB,EAAE,WAAW,CAAC;IAC/B,uBAAuB,EAAE,WAAW,CAAC;IACrC,iBAAiB,EAAE,WAAW,CAAC;IAC/B,kBAAkB,EAAE,WAAW,CAAC;IAChC,mBAAmB,EAAE,WAAW,CAAC;IACjC,wBAAwB,EAAE,WAAW,CAAC;IACtC,eAAe,EAAE,WAAW,CAAC;IAC7B,mBAAmB,EAAE,WAAW,CAAC;IACjC,oBAAoB,EAAE,WAAW,CAAC;IAClC,oBAAoB,EAAE,WAAW,CAAC;IAClC,0BAA0B,EAAE,WAAW,CAAC;IACxC,sBAAsB,EAAE,WAAW,CAAC;IACpC,mBAAmB,EAAE,WAAW,CAAC;IACjC,QAAQ,EAAE,WAAW,CAAC;IACtB,eAAe,EAAE,WAAW,CAAC;IAC7B,cAAc,EAAE,WAAW,CAAC;IAC5B,QAAQ,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE;QACR,eAAe,EAAE,WAAW,CAAC;QAC7B,YAAY,EAAE,WAAW,CAAC;QAC1B,YAAY,EAAE,WAAW,CAAC;QAC1B,qBAAqB,EAAE,WAAW,CAAC;QACnC,gBAAgB,EAAE,WAAW,CAAC;QAC9B,uBAAuB,EAAE,WAAW,CAAC;QACrC,gBAAgB,EAAE,WAAW,CAAC;KAC/B,CAAC;IACF,YAAY,EAAE;QACZ,WAAW,EAAE,WAAW,CAAC;QACzB,YAAY,EAAE,WAAW,CAAC;QAC1B,cAAc,EAAE,WAAW,CAAC;QAC5B,WAAW,EAAE,WAAW,CAAC;KAC1B,CAAC;IACF,cAAc,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC,GAAG,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;CACzE;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAgGjG"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/INFO.js b/back/node_modules/@redis/search/dist/lib/commands/INFO.js new file mode 100644 index 0000000..40b869b --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/INFO.js @@ -0,0 +1,106 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns information and statistics about an index. + * @param parser - The command parser + * @param index - Name of the index to get information about + */ + parseCommand(parser, index) { + parser.push('FT.INFO', index); + }, + transformReply: { + 2: transformV2Reply, + 3: undefined + }, + unstableResp3: true +}; +function transformV2Reply(reply, preserve, typeMapping) { + const myTransformFunc = (0, generic_transformers_1.createTransformTuplesReplyFunc)(preserve, typeMapping); + const ret = {}; + for (let i = 0; i < reply.length; i += 2) { + const key = reply[i].toString(); + switch (key) { + case 'index_name': + case 'index_options': + case 'num_docs': + case 'max_doc_id': + case 'num_terms': + case 'num_records': + case 'total_inverted_index_blocks': + case 'hash_indexing_failures': + case 'indexing': + case 'number_of_uses': + case 'cleaning': + case 'stopwords_list': + ret[key] = reply[i + 1]; + break; + case 'inverted_sz_mb': + case 'vector_index_sz_mb': + case 'offset_vectors_sz_mb': + case 'doc_table_size_mb': + case 'sortable_values_size_mb': + case 'key_table_size_mb': + case 'text_overhead_sz_mb': + case 'tag_overhead_sz_mb': + case 'total_index_memory_sz_mb': + case 'geoshapes_sz_mb': + case 'records_per_doc_avg': + case 'bytes_per_record_avg': + case 'offsets_per_term_avg': + case 'offset_bits_per_record_avg': + case 'total_indexing_time': + case 'percent_indexed': + ret[key] = generic_transformers_1.transformDoubleReply[2](reply[i + 1], undefined, typeMapping); + break; + case 'index_definition': + ret[key] = myTransformFunc(reply[i + 1]); + break; + case 'attributes': + ret[key] = reply[i + 1].map(attribute => myTransformFunc(attribute)); + break; + case 'gc_stats': { + const innerRet = {}; + const array = reply[i + 1]; + for (let i = 0; i < array.length; i += 2) { + const innerKey = array[i].toString(); + switch (innerKey) { + case 'bytes_collected': + case 'total_ms_run': + case 'total_cycles': + case 'average_cycle_time_ms': + case 'last_run_time_ms': + case 'gc_numeric_trees_missed': + case 'gc_blocks_denied': + innerRet[innerKey] = generic_transformers_1.transformDoubleReply[2](array[i + 1], undefined, typeMapping); + break; + } + } + ret[key] = innerRet; + break; + } + case 'cursor_stats': { + const innerRet = {}; + const array = reply[i + 1]; + for (let i = 0; i < array.length; i += 2) { + const innerKey = array[i].toString(); + switch (innerKey) { + case 'global_idle': + case 'global_total': + case 'index_capacity': + case 'index_total': + innerRet[innerKey] = array[i + 1]; + break; + } + } + ret[key] = innerRet; + break; + } + } + } + return ret; +} +//# sourceMappingURL=INFO.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/INFO.js.map b/back/node_modules/@redis/search/dist/lib/commands/INFO.js.map new file mode 100644 index 0000000..d3fae1c --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/INFO.js.map @@ -0,0 +1 @@ +{"version":3,"file":"INFO.js","sourceRoot":"","sources":["../../../lib/commands/INFO.ts"],"names":[],"mappings":";;AAGA,+FAA4H;AAG5H,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,KAAoB;QACtD,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,gBAAgB;QACnB,CAAC,EAAE,SAAwC;KAC5C;IACD,aAAa,EAAE,IAAI;CACO,CAAC;AAkD7B,SAAS,gBAAgB,CAAC,KAAiB,EAAE,QAAc,EAAE,WAAyB;IACpF,MAAM,eAAe,GAAG,IAAA,qDAA8B,EAAoB,QAAQ,EAAE,WAAW,CAAC,CAAC;IAEjG,MAAM,GAAG,GAAG,EAA0B,CAAC;IAEvC,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAqB,CAAC;QAEnD,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,YAAY,CAAC;YAClB,KAAK,eAAe,CAAC;YACrB,KAAK,UAAU,CAAC;YAChB,KAAK,YAAY,CAAC;YAClB,KAAK,WAAW,CAAC;YACjB,KAAK,aAAa,CAAC;YACnB,KAAK,6BAA6B,CAAC;YACnC,KAAK,wBAAwB,CAAC;YAC9B,KAAK,UAAU,CAAC;YAChB,KAAK,gBAAgB,CAAC;YACtB,KAAK,UAAU,CAAC;YAChB,KAAK,gBAAgB;gBACnB,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;gBACtB,MAAM;YACR,KAAK,gBAAgB,CAAC;YACtB,KAAK,oBAAoB,CAAC;YAC1B,KAAK,sBAAsB,CAAC;YAC5B,KAAK,mBAAmB,CAAC;YACzB,KAAK,yBAAyB,CAAC;YAC/B,KAAK,mBAAmB,CAAC;YACzB,KAAK,qBAAqB,CAAC;YAC3B,KAAK,oBAAoB,CAAC;YAC1B,KAAK,0BAA0B,CAAC;YAChC,KAAK,iBAAiB,CAAC;YACvB,KAAK,qBAAqB,CAAC;YAC3B,KAAK,sBAAsB,CAAC;YAC5B,KAAK,sBAAsB,CAAC;YAC5B,KAAK,4BAA4B,CAAC;YAClC,KAAK,qBAAqB,CAAC;YAC3B,KAAK,iBAAiB;gBACpB,GAAG,CAAC,GAAG,CAAC,GAAG,2CAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAC,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,CAAgB,CAAC;gBACtF,MAAM;YACR,KAAK,kBAAkB;gBACrB,GAAG,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC;gBACvC,MAAM;YACR,KAAK,YAAY;gBACf,GAAG,CAAC,GAAG,CAAC,GAAI,KAAK,CAAC,CAAC,GAAC,CAAC,CAA0C,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC7G,MAAM;YACR,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,QAAQ,GAAG,EAAsC,CAAC;gBAExD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;gBAEzB,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAiC,CAAC;oBAEpE,QAAQ,QAAQ,EAAE,CAAC;wBACjB,KAAK,iBAAiB,CAAC;wBACvB,KAAK,cAAc,CAAC;wBACpB,KAAK,cAAc,CAAC;wBACpB,KAAK,uBAAuB,CAAC;wBAC7B,KAAK,kBAAkB,CAAC;wBACxB,KAAK,yBAAyB,CAAC;wBAC/B,KAAK,kBAAkB;4BACrB,QAAQ,CAAC,QAAQ,CAAC,GAAG,2CAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAC,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,CAAgB,CAAC;4BAChG,MAAM;oBACV,CAAC;gBACH,CAAC;gBAED,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;gBACpB,MAAM;YACR,CAAC;YACD,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,QAAQ,GAAG,EAA0C,CAAC;gBAE5D,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;gBAEzB,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAqC,CAAC;oBAExE,QAAQ,QAAQ,EAAE,CAAC;wBACjB,KAAK,aAAa,CAAC;wBACnB,KAAK,cAAc,CAAC;wBACpB,KAAK,gBAAgB,CAAC;wBACtB,KAAK,aAAa;4BAChB,QAAQ,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;4BAChC,MAAM;oBACV,CAAC;gBACH,CAAC;gBAED,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;gBACpB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/PROFILE_AGGREGATE.d.ts b/back/node_modules/@redis/search/dist/lib/commands/PROFILE_AGGREGATE.d.ts new file mode 100644 index 0000000..44eafb2 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/PROFILE_AGGREGATE.d.ts @@ -0,0 +1,25 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { ReplyUnion, UnwrapReply } from '@redis/client/dist/lib/RESP/types'; +import { FtAggregateOptions } from './AGGREGATE'; +import { ProfileOptions, ProfileReplyResp2 } from './PROFILE_SEARCH'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Profiles the execution of an aggregation query for performance analysis. + * @param parser - The command parser + * @param index - Name of the index to profile query against + * @param query - The aggregation query to profile + * @param options - Optional parameters: + * - LIMITED: Collect limited timing information only + * - All options supported by FT.AGGREGATE command + */ + readonly parseCommand: (this: void, parser: CommandParser, index: string, query: string, options?: ProfileOptions & FtAggregateOptions) => void; + readonly transformReply: { + readonly 2: (reply: [[total: UnwrapReply>, ...results: import("@redis/client/dist/lib/RESP/types").ArrayReply>[]], import("@redis/client/dist/lib/RESP/types").ArrayReply]) => ProfileReplyResp2; + readonly 3: (reply: ReplyUnion) => ReplyUnion; + }; + readonly unstableResp3: true; +}; +export default _default; +//# sourceMappingURL=PROFILE_AGGREGATE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/PROFILE_AGGREGATE.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/PROFILE_AGGREGATE.d.ts.map new file mode 100644 index 0000000..39c1a83 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/PROFILE_AGGREGATE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PROFILE_AGGREGATE.d.ts","sourceRoot":"","sources":["../../../lib/commands/PROFILE_AGGREGATE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAW,UAAU,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAkB,EAAqB,kBAAkB,EAAyB,MAAM,aAAa,CAAC;AACtG,OAAO,EAAE,cAAc,EAAwB,iBAAiB,EAAG,MAAM,kBAAkB,CAAC;;;;IAK1F;;;;;;;;OAQG;gDAEO,aAAa,SACd,MAAM,SACN,MAAM,YACH,cAAc,GAAG,kBAAkB;;uUAaqB,iBAAiB;4BAMxE,UAAU,KAAG,UAAU;;;;AAnCtC,wBAsC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/PROFILE_AGGREGATE.js b/back/node_modules/@redis/search/dist/lib/commands/PROFILE_AGGREGATE.js new file mode 100644 index 0000000..98f9ac8 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/PROFILE_AGGREGATE.js @@ -0,0 +1,58 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const AGGREGATE_1 = __importStar(require("./AGGREGATE")); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Profiles the execution of an aggregation query for performance analysis. + * @param parser - The command parser + * @param index - Name of the index to profile query against + * @param query - The aggregation query to profile + * @param options - Optional parameters: + * - LIMITED: Collect limited timing information only + * - All options supported by FT.AGGREGATE command + */ + parseCommand(parser, index, query, options) { + parser.push('FT.PROFILE', index, 'AGGREGATE'); + if (options?.LIMITED) { + parser.push('LIMITED'); + } + parser.push('QUERY', query); + (0, AGGREGATE_1.parseAggregateOptions)(parser, options); + }, + transformReply: { + 2: (reply) => { + return { + results: AGGREGATE_1.default.transformReply[2](reply[0]), + profile: reply[1] + }; + }, + 3: (reply) => reply + }, + unstableResp3: true +}; +//# sourceMappingURL=PROFILE_AGGREGATE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/PROFILE_AGGREGATE.js.map b/back/node_modules/@redis/search/dist/lib/commands/PROFILE_AGGREGATE.js.map new file mode 100644 index 0000000..39d5c2d --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/PROFILE_AGGREGATE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PROFILE_AGGREGATE.js","sourceRoot":"","sources":["../../../lib/commands/PROFILE_AGGREGATE.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yDAAsG;AAGtG,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CACV,MAAqB,EACrB,KAAa,EACb,KAAa,EACb,OAA6C;QAE7C,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAE9C,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAE5B,IAAA,iCAAqB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACxC,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAA2D,EAAqB,EAAE;YACpF,OAAO;gBACL,OAAO,EAAE,mBAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9C,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;aAClB,CAAA;QACH,CAAC;QACD,CAAC,EAAE,CAAC,KAAiB,EAAc,EAAE,CAAC,KAAK;KAC5C;IACD,aAAa,EAAE,IAAI;CACO,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/PROFILE_SEARCH.d.ts b/back/node_modules/@redis/search/dist/lib/commands/PROFILE_SEARCH.d.ts new file mode 100644 index 0000000..33cf351 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/PROFILE_SEARCH.d.ts @@ -0,0 +1,36 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { ArrayReply, RedisArgument, ReplyUnion, TuplesReply } from '@redis/client/dist/lib/RESP/types'; +import { AggregateReply } from './AGGREGATE'; +import { FtSearchOptions, SearchRawReply, SearchReply } from './SEARCH'; +export type ProfileRawReplyResp2 = TuplesReply<[ + T, + ArrayReply +]>; +export interface ProfileReplyResp2 { + results: SearchReply | AggregateReply; + profile: ReplyUnion; +} +export interface ProfileOptions { + LIMITED?: true; +} +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Profiles the execution of a search query for performance analysis. + * @param parser - The command parser + * @param index - Name of the index to profile query against + * @param query - The search query to profile + * @param options - Optional parameters: + * - LIMITED: Collect limited timing information only + * - All options supported by FT.SEARCH command + */ + readonly parseCommand: (this: void, parser: CommandParser, index: RedisArgument, query: RedisArgument, options?: ProfileOptions & FtSearchOptions) => void; + readonly transformReply: { + readonly 2: (reply: [SearchRawReply, ArrayReply]) => ProfileReplyResp2; + readonly 3: (reply: ReplyUnion) => ReplyUnion; + }; + readonly unstableResp3: true; +}; +export default _default; +//# sourceMappingURL=PROFILE_SEARCH.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/PROFILE_SEARCH.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/PROFILE_SEARCH.d.ts.map new file mode 100644 index 0000000..5580f34 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/PROFILE_SEARCH.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PROFILE_SEARCH.d.ts","sourceRoot":"","sources":["../../../lib/commands/PROFILE_SEARCH.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAW,aAAa,EAAE,UAAU,EAAE,WAAW,EAAe,MAAM,mCAAmC,CAAC;AAC7H,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAe,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAsB,MAAM,UAAU,CAAC;AAEpG,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI,WAAW,CAAC;IAChD,CAAC;IACD,UAAU,CAAC,UAAU,CAAC;CACvB,CAAC,CAAC;AAIH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC;IACtC,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB;;;;IAKC;;;;;;;;OAQG;gDAEO,aAAa,SACd,aAAa,SACb,aAAa,YACV,cAAc,GAAG,eAAe;;yEAaW,iBAAiB;4BAM3D,UAAU,KAAG,UAAU;;;;AAnCtC,wBAsC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/PROFILE_SEARCH.js b/back/node_modules/@redis/search/dist/lib/commands/PROFILE_SEARCH.js new file mode 100644 index 0000000..8fab781 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/PROFILE_SEARCH.js @@ -0,0 +1,58 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const SEARCH_1 = __importStar(require("./SEARCH")); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Profiles the execution of a search query for performance analysis. + * @param parser - The command parser + * @param index - Name of the index to profile query against + * @param query - The search query to profile + * @param options - Optional parameters: + * - LIMITED: Collect limited timing information only + * - All options supported by FT.SEARCH command + */ + parseCommand(parser, index, query, options) { + parser.push('FT.PROFILE', index, 'SEARCH'); + if (options?.LIMITED) { + parser.push('LIMITED'); + } + parser.push('QUERY', query); + (0, SEARCH_1.parseSearchOptions)(parser, options); + }, + transformReply: { + 2: (reply) => { + return { + results: SEARCH_1.default.transformReply[2](reply[0]), + profile: reply[1] + }; + }, + 3: (reply) => reply + }, + unstableResp3: true +}; +//# sourceMappingURL=PROFILE_SEARCH.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/PROFILE_SEARCH.js.map b/back/node_modules/@redis/search/dist/lib/commands/PROFILE_SEARCH.js.map new file mode 100644 index 0000000..823af3c --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/PROFILE_SEARCH.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PROFILE_SEARCH.js","sourceRoot":"","sources":["../../../lib/commands/PROFILE_SEARCH.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAGA,mDAAoG;AAkBpG,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CACV,MAAqB,EACrB,KAAoB,EACpB,KAAoB,EACpB,OAA0C;QAE1C,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAE3C,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAE5B,IAAA,2BAAkB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAA8C,EAAqB,EAAE;YACvE,OAAO;gBACL,OAAO,EAAE,gBAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC3C,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;aAClB,CAAC;QACJ,CAAC;QACD,CAAC,EAAE,CAAC,KAAiB,EAAc,EAAE,CAAC,KAAK;KAC5C;IACD,aAAa,EAAE,IAAI;CACO,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SEARCH.d.ts b/back/node_modules/@redis/search/dist/lib/commands/SEARCH.d.ts new file mode 100644 index 0000000..d6d7baf --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SEARCH.d.ts @@ -0,0 +1,81 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, ReplyUnion } from '@redis/client/dist/lib/RESP/types'; +import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers'; +import { RediSearchLanguage } from './CREATE'; +export type FtSearchParams = Record; +export declare function parseParamsArgument(parser: CommandParser, params?: FtSearchParams): void; +export interface FtSearchOptions { + VERBATIM?: boolean; + NOSTOPWORDS?: boolean; + INKEYS?: RedisVariadicArgument; + INFIELDS?: RedisVariadicArgument; + RETURN?: RedisVariadicArgument; + SUMMARIZE?: boolean | { + FIELDS?: RedisArgument | Array; + FRAGS?: number; + LEN?: number; + SEPARATOR?: RedisArgument; + }; + HIGHLIGHT?: boolean | { + FIELDS?: RedisArgument | Array; + TAGS?: { + open: RedisArgument; + close: RedisArgument; + }; + }; + SLOP?: number; + TIMEOUT?: number; + INORDER?: boolean; + LANGUAGE?: RediSearchLanguage; + EXPANDER?: RedisArgument; + SCORER?: RedisArgument; + SORTBY?: RedisArgument | { + BY: RedisArgument; + DIRECTION?: 'ASC' | 'DESC'; + }; + LIMIT?: { + from: number | RedisArgument; + size: number | RedisArgument; + }; + PARAMS?: FtSearchParams; + DIALECT?: number; +} +export declare function parseSearchOptions(parser: CommandParser, options?: FtSearchOptions): void; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Searches a RediSearch index with the given query. + * @param parser - The command parser + * @param index - The index name to search + * @param query - The text query to search. For syntax, see https://redis.io/docs/stack/search/reference/query_syntax + * @param options - Optional search parameters including: + * - VERBATIM: do not try to use stemming for query expansion + * - NOSTOPWORDS: do not filter stopwords from the query + * - INKEYS/INFIELDS: restrict the search to specific keys/fields + * - RETURN: limit which fields are returned + * - SUMMARIZE/HIGHLIGHT: create search result highlights + * - LIMIT: pagination control + * - SORTBY: sort results by a specific field + * - PARAMS: bind parameters to the query + */ + readonly parseCommand: (this: void, parser: CommandParser, index: RedisArgument, query: RedisArgument, options?: FtSearchOptions) => void; + readonly transformReply: { + readonly 2: (reply: SearchRawReply) => SearchReply; + readonly 3: () => ReplyUnion; + }; + readonly unstableResp3: true; +}; +export default _default; +export type SearchRawReply = Array; +interface SearchDocumentValue { + [key: string]: string | number | null | Array | SearchDocumentValue; +} +export interface SearchReply { + total: number; + documents: Array<{ + id: string; + value: SearchDocumentValue; + }>; +} +//# sourceMappingURL=SEARCH.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SEARCH.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/SEARCH.d.ts.map new file mode 100644 index 0000000..faaeb3d --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SEARCH.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SEARCH.d.ts","sourceRoot":"","sources":["../../../lib/commands/SEARCH.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAW,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAiC,MAAM,sDAAsD,CAAC;AAC5H,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAG9C,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAAC,CAAC;AAEpE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,cAAc,QAiBjF;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,GAAG;QACpB,MAAM,CAAC,EAAE,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,aAAa,CAAC;KAC3B,CAAC;IACF,SAAS,CAAC,EAAE,OAAO,GAAG;QACpB,MAAM,CAAC,EAAE,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QAC9C,IAAI,CAAC,EAAE;YACL,IAAI,EAAE,aAAa,CAAC;YACpB,KAAK,EAAE,aAAa,CAAC;SACtB,CAAC;KACH,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,aAAa,GAAG;QACvB,EAAE,EAAE,aAAa,CAAC;QAClB,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;KAC5B,CAAC;IACF,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC;QAC7B,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC;KAC9B,CAAC;IACF,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,eAAe,QA8FlF;;;;IAKC;;;;;;;;;;;;;;OAcG;gDACkB,aAAa,SAAS,aAAa,SAAS,aAAa,YAAY,eAAe;;+CAM3E,WAAW;0BAkBN,UAAU;;;;AA1C/C,wBA6C6B;AAE7B,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AAExC,UAAU,mBAAmB;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAAC;CAC1F;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,KAAK,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,mBAAmB,CAAC;KAC9B,CAAC,CAAC;CACJ"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SEARCH.js b/back/node_modules/@redis/search/dist/lib/commands/SEARCH.js new file mode 100644 index 0000000..b686861 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SEARCH.js @@ -0,0 +1,160 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseSearchOptions = exports.parseParamsArgument = void 0; +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +const default_1 = require("../dialect/default"); +function parseParamsArgument(parser, params) { + if (params) { + parser.push('PARAMS'); + const args = []; + for (const key in params) { + if (!Object.hasOwn(params, key)) + continue; + const value = params[key]; + args.push(key, typeof value === 'number' ? value.toString() : value); + } + parser.pushVariadicWithLength(args); + } +} +exports.parseParamsArgument = parseParamsArgument; +function parseSearchOptions(parser, options) { + if (options?.VERBATIM) { + parser.push('VERBATIM'); + } + if (options?.NOSTOPWORDS) { + parser.push('NOSTOPWORDS'); + } + (0, generic_transformers_1.parseOptionalVariadicArgument)(parser, 'INKEYS', options?.INKEYS); + (0, generic_transformers_1.parseOptionalVariadicArgument)(parser, 'INFIELDS', options?.INFIELDS); + (0, generic_transformers_1.parseOptionalVariadicArgument)(parser, 'RETURN', options?.RETURN); + if (options?.SUMMARIZE) { + parser.push('SUMMARIZE'); + if (typeof options.SUMMARIZE === 'object') { + (0, generic_transformers_1.parseOptionalVariadicArgument)(parser, 'FIELDS', options.SUMMARIZE.FIELDS); + if (options.SUMMARIZE.FRAGS !== undefined) { + parser.push('FRAGS', options.SUMMARIZE.FRAGS.toString()); + } + if (options.SUMMARIZE.LEN !== undefined) { + parser.push('LEN', options.SUMMARIZE.LEN.toString()); + } + if (options.SUMMARIZE.SEPARATOR !== undefined) { + parser.push('SEPARATOR', options.SUMMARIZE.SEPARATOR); + } + } + } + if (options?.HIGHLIGHT) { + parser.push('HIGHLIGHT'); + if (typeof options.HIGHLIGHT === 'object') { + (0, generic_transformers_1.parseOptionalVariadicArgument)(parser, 'FIELDS', options.HIGHLIGHT.FIELDS); + if (options.HIGHLIGHT.TAGS) { + parser.push('TAGS', options.HIGHLIGHT.TAGS.open, options.HIGHLIGHT.TAGS.close); + } + } + } + if (options?.SLOP !== undefined) { + parser.push('SLOP', options.SLOP.toString()); + } + if (options?.TIMEOUT !== undefined) { + parser.push('TIMEOUT', options.TIMEOUT.toString()); + } + if (options?.INORDER) { + parser.push('INORDER'); + } + if (options?.LANGUAGE) { + parser.push('LANGUAGE', options.LANGUAGE); + } + if (options?.EXPANDER) { + parser.push('EXPANDER', options.EXPANDER); + } + if (options?.SCORER) { + parser.push('SCORER', options.SCORER); + } + if (options?.SORTBY) { + parser.push('SORTBY'); + if (typeof options.SORTBY === 'string' || options.SORTBY instanceof Buffer) { + parser.push(options.SORTBY); + } + else { + parser.push(options.SORTBY.BY); + if (options.SORTBY.DIRECTION) { + parser.push(options.SORTBY.DIRECTION); + } + } + } + if (options?.LIMIT) { + parser.push('LIMIT', options.LIMIT.from.toString(), options.LIMIT.size.toString()); + } + parseParamsArgument(parser, options?.PARAMS); + if (options?.DIALECT) { + parser.push('DIALECT', options.DIALECT.toString()); + } + else { + parser.push('DIALECT', default_1.DEFAULT_DIALECT); + } +} +exports.parseSearchOptions = parseSearchOptions; +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Searches a RediSearch index with the given query. + * @param parser - The command parser + * @param index - The index name to search + * @param query - The text query to search. For syntax, see https://redis.io/docs/stack/search/reference/query_syntax + * @param options - Optional search parameters including: + * - VERBATIM: do not try to use stemming for query expansion + * - NOSTOPWORDS: do not filter stopwords from the query + * - INKEYS/INFIELDS: restrict the search to specific keys/fields + * - RETURN: limit which fields are returned + * - SUMMARIZE/HIGHLIGHT: create search result highlights + * - LIMIT: pagination control + * - SORTBY: sort results by a specific field + * - PARAMS: bind parameters to the query + */ + parseCommand(parser, index, query, options) { + parser.push('FT.SEARCH', index, query); + parseSearchOptions(parser, options); + }, + transformReply: { + 2: (reply) => { + // if reply[2] is array, then we have content/documents. Otherwise, only ids + const withoutDocuments = reply.length > 2 && !Array.isArray(reply[2]); + const documents = []; + let i = 1; + while (i < reply.length) { + documents.push({ + id: reply[i++], + value: withoutDocuments ? Object.create(null) : documentValue(reply[i++]) + }); + } + return { + total: reply[0], + documents + }; + }, + 3: undefined + }, + unstableResp3: true +}; +function documentValue(tuples) { + const message = Object.create(null); + if (!tuples) { + return message; + } + let i = 0; + while (i < tuples.length) { + const key = tuples[i++], value = tuples[i++]; + if (key === '$') { // might be a JSON reply + try { + Object.assign(message, JSON.parse(value)); + continue; + } + catch { + // set as a regular property if not a valid JSON + } + } + message[key] = value; + } + return message; +} +//# sourceMappingURL=SEARCH.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SEARCH.js.map b/back/node_modules/@redis/search/dist/lib/commands/SEARCH.js.map new file mode 100644 index 0000000..7280120 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SEARCH.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SEARCH.js","sourceRoot":"","sources":["../../../lib/commands/SEARCH.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SEARCH_NOCONTENT.d.ts b/back/node_modules/@redis/search/dist/lib/commands/SEARCH_NOCONTENT.d.ts new file mode 100644 index 0000000..e730222 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SEARCH_NOCONTENT.d.ts @@ -0,0 +1,26 @@ +import { ReplyUnion } from '@redis/client/dist/lib/RESP/types'; +import { SearchRawReply } from './SEARCH'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Performs a search query but returns only document ids without their contents. + * @param args - Same parameters as FT.SEARCH: + * - parser: The command parser + * - index: Name of the index to search + * - query: The text query to search + * - options: Optional search parameters + */ + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client/dist/lib/RESP/types").RedisArgument, query: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./SEARCH").FtSearchOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: SearchRawReply) => SearchNoContentReply; + readonly 3: () => ReplyUnion; + }; + readonly unstableResp3: true; +}; +export default _default; +export interface SearchNoContentReply { + total: number; + documents: Array; +} +//# sourceMappingURL=SEARCH_NOCONTENT.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SEARCH_NOCONTENT.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/SEARCH_NOCONTENT.d.ts.map new file mode 100644 index 0000000..09c9288 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SEARCH_NOCONTENT.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SEARCH_NOCONTENT.d.ts","sourceRoot":"","sources":["../../../lib/commands/SEARCH_NOCONTENT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;;;;IAKhD;;;;;;;OAOG;;;+CAM2B,oBAAoB;0BAMf,UAAU;;;;AAtB/C,wBAyB6B;AAE7B,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAC1B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SEARCH_NOCONTENT.js b/back/node_modules/@redis/search/dist/lib/commands/SEARCH_NOCONTENT.js new file mode 100644 index 0000000..567195c --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SEARCH_NOCONTENT.js @@ -0,0 +1,34 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const SEARCH_1 = __importDefault(require("./SEARCH")); +exports.default = { + NOT_KEYED_COMMAND: SEARCH_1.default.NOT_KEYED_COMMAND, + IS_READ_ONLY: SEARCH_1.default.IS_READ_ONLY, + /** + * Performs a search query but returns only document ids without their contents. + * @param args - Same parameters as FT.SEARCH: + * - parser: The command parser + * - index: Name of the index to search + * - query: The text query to search + * - options: Optional search parameters + */ + parseCommand(...args) { + SEARCH_1.default.parseCommand(...args); + args[0].push('NOCONTENT'); + }, + transformReply: { + 2: (reply) => { + return { + total: reply[0], + documents: reply.slice(1) + }; + }, + 3: undefined + }, + unstableResp3: true +}; +; +//# sourceMappingURL=SEARCH_NOCONTENT.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SEARCH_NOCONTENT.js.map b/back/node_modules/@redis/search/dist/lib/commands/SEARCH_NOCONTENT.js.map new file mode 100644 index 0000000..4a47b40 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SEARCH_NOCONTENT.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SEARCH_NOCONTENT.js","sourceRoot":"","sources":["../../../lib/commands/SEARCH_NOCONTENT.ts"],"names":[],"mappings":";;;;;AACA,sDAAkD;AAElD,kBAAe;IACb,iBAAiB,EAAE,gBAAM,CAAC,iBAAiB;IAC3C,YAAY,EAAE,gBAAM,CAAC,YAAY;IACjC;;;;;;;OAOG;IACH,YAAY,CAAC,GAAG,IAA4C;QAC1D,gBAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAAqB,EAAwB,EAAE;YACjD,OAAO;gBACL,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;gBACf,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;aAC1B,CAAA;QACH,CAAC;QACD,CAAC,EAAE,SAAwC;KAC5C;IACD,aAAa,EAAE,IAAI;CACO,CAAC;AAK5B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SPELLCHECK.d.ts b/back/node_modules/@redis/search/dist/lib/commands/SPELLCHECK.d.ts new file mode 100644 index 0000000..591fe56 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SPELLCHECK.d.ts @@ -0,0 +1,45 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, ReplyUnion } from '@redis/client/dist/lib/RESP/types'; +export interface Terms { + mode: 'INCLUDE' | 'EXCLUDE'; + dictionary: RedisArgument; +} +export interface FtSpellCheckOptions { + DISTANCE?: number; + TERMS?: Terms | Array; + DIALECT?: number; +} +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Performs spelling correction on a search query. + * @param parser - The command parser + * @param index - Name of the index to use for spelling corrections + * @param query - The search query to check for spelling + * @param options - Optional parameters: + * - DISTANCE: Maximum Levenshtein distance for spelling suggestions + * - TERMS: Custom dictionary terms to include/exclude + * - DIALECT: Version of query dialect to use (defaults to 1) + */ + readonly parseCommand: (this: void, parser: CommandParser, index: RedisArgument, query: RedisArgument, options?: FtSpellCheckOptions) => void; + readonly transformReply: { + readonly 2: (rawReply: SpellCheckRawReply) => SpellCheckReply; + readonly 3: () => ReplyUnion; + }; + readonly unstableResp3: true; +}; +export default _default; +type SpellCheckRawReply = Array<[ + _: string, + term: string, + suggestions: Array<[score: string, suggestion: string]> +]>; +type SpellCheckReply = Array<{ + term: string; + suggestions: Array<{ + score: number; + suggestion: string; + }>; +}>; +//# sourceMappingURL=SPELLCHECK.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SPELLCHECK.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/SPELLCHECK.d.ts.map new file mode 100644 index 0000000..f0da75a --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SPELLCHECK.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SPELLCHECK.d.ts","sourceRoot":"","sources":["../../../lib/commands/SPELLCHECK.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAW,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAGvF,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;IAC5B,UAAU,EAAE,aAAa,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;;;;IAKC;;;;;;;;;OASG;gDACkB,aAAa,SAAS,aAAa,SAAS,aAAa,YAAY,mBAAmB;;;0BAiC1E,UAAU;;;;AA9C/C,wBAiD6B;AAM7B,KAAK,kBAAkB,GAAG,KAAK,CAAC;IAC9B,CAAC,EAAE,MAAM;IACT,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;CACxD,CAAC,CAAC;AAEH,KAAK,eAAe,GAAG,KAAK,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,KAAK,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAA;KACnB,CAAC,CAAA;CACH,CAAC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SPELLCHECK.js b/back/node_modules/@redis/search/dist/lib/commands/SPELLCHECK.js new file mode 100644 index 0000000..cafa365 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SPELLCHECK.js @@ -0,0 +1,56 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const default_1 = require("../dialect/default"); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Performs spelling correction on a search query. + * @param parser - The command parser + * @param index - Name of the index to use for spelling corrections + * @param query - The search query to check for spelling + * @param options - Optional parameters: + * - DISTANCE: Maximum Levenshtein distance for spelling suggestions + * - TERMS: Custom dictionary terms to include/exclude + * - DIALECT: Version of query dialect to use (defaults to 1) + */ + parseCommand(parser, index, query, options) { + parser.push('FT.SPELLCHECK', index, query); + if (options?.DISTANCE) { + parser.push('DISTANCE', options.DISTANCE.toString()); + } + if (options?.TERMS) { + if (Array.isArray(options.TERMS)) { + for (const term of options.TERMS) { + parseTerms(parser, term); + } + } + else { + parseTerms(parser, options.TERMS); + } + } + if (options?.DIALECT) { + parser.push('DIALECT', options.DIALECT.toString()); + } + else { + parser.push('DIALECT', default_1.DEFAULT_DIALECT); + } + }, + transformReply: { + 2: (rawReply) => { + return rawReply.map(([, term, suggestions]) => ({ + term, + suggestions: suggestions.map(([score, suggestion]) => ({ + score: Number(score), + suggestion + })) + })); + }, + 3: undefined, + }, + unstableResp3: true +}; +function parseTerms(parser, { mode, dictionary }) { + parser.push('TERMS', mode, dictionary); +} +//# sourceMappingURL=SPELLCHECK.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SPELLCHECK.js.map b/back/node_modules/@redis/search/dist/lib/commands/SPELLCHECK.js.map new file mode 100644 index 0000000..acfd832 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SPELLCHECK.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SPELLCHECK.js","sourceRoot":"","sources":["../../../lib/commands/SPELLCHECK.ts"],"names":[],"mappings":";;AAEA,gDAAqD;AAarD,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;;;;OASG;IACH,YAAY,CAAC,MAAqB,EAAE,KAAoB,EAAE,KAAoB,EAAE,OAA6B;QAC3G,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAE3C,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBACjC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAED,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,yBAAe,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,QAA4B,EAAmB,EAAE;YACnD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC9C,IAAI;gBACJ,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;oBACrD,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;oBACpB,UAAU;iBACX,CAAC,CAAC;aACJ,CAAC,CAAC,CAAC;QACN,CAAC;QACD,CAAC,EAAE,SAAwC;KAC5C;IACD,aAAa,EAAE,IAAI;CACO,CAAC;AAE7B,SAAS,UAAU,CAAC,MAAqB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAS;IACpE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;AACzC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SUGADD.d.ts b/back/node_modules/@redis/search/dist/lib/commands/SUGADD.d.ts new file mode 100644 index 0000000..2df6461 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SUGADD.d.ts @@ -0,0 +1,23 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, NumberReply } from '@redis/client/dist/lib/RESP/types'; +export interface FtSugAddOptions { + INCR?: boolean; + PAYLOAD?: RedisArgument; +} +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Adds a suggestion string to an auto-complete suggestion dictionary. + * @param parser - The command parser + * @param key - The suggestion dictionary key + * @param string - The suggestion string to add + * @param score - The suggestion score used for sorting + * @param options - Optional parameters: + * - INCR: If true, increment the existing entry's score + * - PAYLOAD: Optional payload to associate with the suggestion + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, string: RedisArgument, score: number, options?: FtSugAddOptions) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=SUGADD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SUGADD.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/SUGADD.d.ts.map new file mode 100644 index 0000000..3fde8ce --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SUGADD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SUGADD.d.ts","sourceRoot":"","sources":["../../../lib/commands/SUGADD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,mCAAmC,CAAC;AAExF,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;;;IAIC;;;;;;;;;OASG;gDACkB,aAAa,OAAO,aAAa,UAAU,aAAa,SAAS,MAAM,YAAY,eAAe;mCAazE,WAAW;;AAzB3D,wBA0B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SUGADD.js b/back/node_modules/@redis/search/dist/lib/commands/SUGADD.js new file mode 100644 index 0000000..8cd6984 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SUGADD.js @@ -0,0 +1,28 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Adds a suggestion string to an auto-complete suggestion dictionary. + * @param parser - The command parser + * @param key - The suggestion dictionary key + * @param string - The suggestion string to add + * @param score - The suggestion score used for sorting + * @param options - Optional parameters: + * - INCR: If true, increment the existing entry's score + * - PAYLOAD: Optional payload to associate with the suggestion + */ + parseCommand(parser, key, string, score, options) { + parser.push('FT.SUGADD'); + parser.pushKey(key); + parser.push(string, score.toString()); + if (options?.INCR) { + parser.push('INCR'); + } + if (options?.PAYLOAD) { + parser.push('PAYLOAD', options.PAYLOAD); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=SUGADD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SUGADD.js.map b/back/node_modules/@redis/search/dist/lib/commands/SUGADD.js.map new file mode 100644 index 0000000..6e6285d --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SUGADD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SUGADD.js","sourceRoot":"","sources":["../../../lib/commands/SUGADD.ts"],"names":[],"mappings":";;AAQA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;;;OASG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,MAAqB,EAAE,KAAa,EAAE,OAAyB;QACrH,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEtC,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QAED,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SUGDEL.d.ts b/back/node_modules/@redis/search/dist/lib/commands/SUGDEL.d.ts new file mode 100644 index 0000000..cbb027e --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SUGDEL.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, NumberReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Deletes a string from a suggestion dictionary. + * @param parser - The command parser + * @param key - The suggestion dictionary key + * @param string - The suggestion string to delete + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, string: RedisArgument) => void; + readonly transformReply: () => NumberReply<0 | 1>; +}; +export default _default; +//# sourceMappingURL=SUGDEL.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SUGDEL.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/SUGDEL.d.ts.map new file mode 100644 index 0000000..260e428 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SUGDEL.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SUGDEL.d.ts","sourceRoot":"","sources":["../../../lib/commands/SUGDEL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,mCAAmC,CAAC;;;IAItF;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,UAAU,aAAa;mCAK/B,YAAY,CAAC,GAAG,CAAC,CAAC;;AAblE,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SUGDEL.js b/back/node_modules/@redis/search/dist/lib/commands/SUGDEL.js new file mode 100644 index 0000000..03a905a --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SUGDEL.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Deletes a string from a suggestion dictionary. + * @param parser - The command parser + * @param key - The suggestion dictionary key + * @param string - The suggestion string to delete + */ + parseCommand(parser, key, string) { + parser.push('FT.SUGDEL'); + parser.pushKey(key); + parser.push(string); + }, + transformReply: undefined +}; +//# sourceMappingURL=SUGDEL.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SUGDEL.js.map b/back/node_modules/@redis/search/dist/lib/commands/SUGDEL.js.map new file mode 100644 index 0000000..160e0aa --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SUGDEL.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SUGDEL.js","sourceRoot":"","sources":["../../../lib/commands/SUGDEL.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,MAAqB;QAC3E,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE,SAAgD;CACtC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SUGGET.d.ts b/back/node_modules/@redis/search/dist/lib/commands/SUGGET.d.ts new file mode 100644 index 0000000..abd4386 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SUGGET.d.ts @@ -0,0 +1,22 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { NullReply, ArrayReply, BlobStringReply, RedisArgument } from '@redis/client/dist/lib/RESP/types'; +export interface FtSugGetOptions { + FUZZY?: boolean; + MAX?: number; +} +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Gets completion suggestions for a prefix from a suggestion dictionary. + * @param parser - The command parser + * @param key - The suggestion dictionary key + * @param prefix - The prefix to get completion suggestions for + * @param options - Optional parameters: + * - FUZZY: Enable fuzzy prefix matching + * - MAX: Maximum number of results to return + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, prefix: RedisArgument, options?: FtSugGetOptions) => void; + readonly transformReply: () => NullReply | ArrayReply; +}; +export default _default; +//# sourceMappingURL=SUGGET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SUGGET.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/SUGGET.d.ts.map new file mode 100644 index 0000000..82bcdd1 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SUGGET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SUGGET.d.ts","sourceRoot":"","sources":["../../../lib/commands/SUGGET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAW,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEnH,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;;;IAIC;;;;;;;;OAQG;gDACkB,aAAa,OAAO,aAAa,UAAU,aAAa,YAAY,eAAe;mCAa1D,SAAS,GAAG,WAAW,eAAe,CAAC;;AAxBvF,wBAyB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SUGGET.js b/back/node_modules/@redis/search/dist/lib/commands/SUGGET.js new file mode 100644 index 0000000..51e7a7a --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SUGGET.js @@ -0,0 +1,27 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Gets completion suggestions for a prefix from a suggestion dictionary. + * @param parser - The command parser + * @param key - The suggestion dictionary key + * @param prefix - The prefix to get completion suggestions for + * @param options - Optional parameters: + * - FUZZY: Enable fuzzy prefix matching + * - MAX: Maximum number of results to return + */ + parseCommand(parser, key, prefix, options) { + parser.push('FT.SUGGET'); + parser.pushKey(key); + parser.push(prefix); + if (options?.FUZZY) { + parser.push('FUZZY'); + } + if (options?.MAX !== undefined) { + parser.push('MAX', options.MAX.toString()); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=SUGGET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SUGGET.js.map b/back/node_modules/@redis/search/dist/lib/commands/SUGGET.js.map new file mode 100644 index 0000000..15708b6 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SUGGET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SUGGET.js","sourceRoot":"","sources":["../../../lib/commands/SUGGET.ts"],"names":[],"mappings":";;AAQA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,MAAqB,EAAE,OAAyB;QACtG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEpB,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;QAED,IAAI,OAAO,EAAE,GAAG,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqE;CAC3D,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHPAYLOADS.d.ts b/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHPAYLOADS.d.ts new file mode 100644 index 0000000..dff422c --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHPAYLOADS.d.ts @@ -0,0 +1,19 @@ +import { NullReply, ArrayReply, BlobStringReply, UnwrapReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Gets completion suggestions with their payloads from a suggestion dictionary. + * @param args - Same parameters as FT.SUGGET: + * - parser: The command parser + * - key: The suggestion dictionary key + * - prefix: The prefix to get completion suggestions for + * - options: Optional parameters for fuzzy matching and max results + */ + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, prefix: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./SUGGET").FtSugGetOptions | undefined) => void; + readonly transformReply: (this: void, reply: NullReply | UnwrapReply>) => { + suggestion: BlobStringReply; + payload: BlobStringReply; + }[] | null; +}; +export default _default; +//# sourceMappingURL=SUGGET_WITHPAYLOADS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHPAYLOADS.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHPAYLOADS.d.ts.map new file mode 100644 index 0000000..5187641 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHPAYLOADS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SUGGET_WITHPAYLOADS.d.ts","sourceRoot":"","sources":["../../../lib/commands/SUGGET_WITHPAYLOADS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAW,MAAM,mCAAmC,CAAC;;;IAM/G;;;;;;;OAOG;;iDAKmB,SAAS,GAAG,YAAY,WAAW,eAAe,CAAC,CAAC;oBAI1D,eAAe;iBAClB,eAAe;;;AAnB9B,wBAgC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHPAYLOADS.js b/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHPAYLOADS.js new file mode 100644 index 0000000..75616d9 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHPAYLOADS.js @@ -0,0 +1,36 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +const SUGGET_1 = __importDefault(require("./SUGGET")); +exports.default = { + IS_READ_ONLY: SUGGET_1.default.IS_READ_ONLY, + /** + * Gets completion suggestions with their payloads from a suggestion dictionary. + * @param args - Same parameters as FT.SUGGET: + * - parser: The command parser + * - key: The suggestion dictionary key + * - prefix: The prefix to get completion suggestions for + * - options: Optional parameters for fuzzy matching and max results + */ + parseCommand(...args) { + SUGGET_1.default.parseCommand(...args); + args[0].push('WITHPAYLOADS'); + }, + transformReply(reply) { + if ((0, generic_transformers_1.isNullReply)(reply)) + return null; + const transformedReply = new Array(reply.length / 2); + let replyIndex = 0, arrIndex = 0; + while (replyIndex < reply.length) { + transformedReply[arrIndex++] = { + suggestion: reply[replyIndex++], + payload: reply[replyIndex++] + }; + } + return transformedReply; + } +}; +//# sourceMappingURL=SUGGET_WITHPAYLOADS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHPAYLOADS.js.map b/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHPAYLOADS.js.map new file mode 100644 index 0000000..a131200 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHPAYLOADS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SUGGET_WITHPAYLOADS.js","sourceRoot":"","sources":["../../../lib/commands/SUGGET_WITHPAYLOADS.ts"],"names":[],"mappings":";;;;;AACA,+FAAmF;AACnF,sDAA8B;AAE9B,kBAAe;IACb,YAAY,EAAE,gBAAM,CAAC,YAAY;IACjC;;;;;;;OAOG;IACH,YAAY,CAAC,GAAG,IAA4C;QAC1D,gBAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC/B,CAAC;IACD,cAAc,CAAC,KAA2D;QACxE,IAAI,IAAA,kCAAW,EAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEpC,MAAM,gBAAgB,GAGjB,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,IAAI,UAAU,GAAG,CAAC,EAChB,QAAQ,GAAG,CAAC,CAAC;QACf,OAAO,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACjC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,GAAG;gBAC7B,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;gBAC/B,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;aAC7B,CAAC;QACJ,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES.d.ts b/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES.d.ts new file mode 100644 index 0000000..60927b5 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES.d.ts @@ -0,0 +1,23 @@ +import { NullReply, ArrayReply, BlobStringReply, DoubleReply, UnwrapReply, TypeMapping } from '@redis/client/dist/lib/RESP/types'; +type SuggestScore = { + suggestion: BlobStringReply; + score: DoubleReply; +}; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Gets completion suggestions with their scores from a suggestion dictionary. + * @param args - Same parameters as FT.SUGGET: + * - parser: The command parser + * - key: The suggestion dictionary key + * - prefix: The prefix to get completion suggestions for + * - options: Optional parameters for fuzzy matching and max results + */ + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, prefix: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./SUGGET").FtSugGetOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: NullReply | UnwrapReply>, preserve?: any, typeMapping?: TypeMapping) => SuggestScore[] | null; + readonly 3: (reply: UnwrapReply>) => SuggestScore[] | null; + }; +}; +export default _default; +//# sourceMappingURL=SUGGET_WITHSCORES.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES.d.ts.map new file mode 100644 index 0000000..de776c8 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SUGGET_WITHSCORES.d.ts","sourceRoot":"","sources":["../../../lib/commands/SUGGET_WITHSCORES.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAW,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAI3I,KAAK,YAAY,GAAG;IAClB,UAAU,EAAE,eAAe,CAAC;IAC5B,KAAK,EAAE,WAAW,CAAC;CACpB,CAAA;;;IAIC;;;;;;;OAOG;;;4BAMU,SAAS,GAAG,YAAY,WAAW,eAAe,CAAC,CAAC,aAAa,GAAG,gBAAgB,WAAW;4BAe/F,YAAY,WAAW,eAAe,GAAG,WAAW,CAAC,CAAC;;;AA9BrE,wBA8C6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES.js b/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES.js new file mode 100644 index 0000000..3d18941 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES.js @@ -0,0 +1,51 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +const SUGGET_1 = __importDefault(require("./SUGGET")); +exports.default = { + IS_READ_ONLY: SUGGET_1.default.IS_READ_ONLY, + /** + * Gets completion suggestions with their scores from a suggestion dictionary. + * @param args - Same parameters as FT.SUGGET: + * - parser: The command parser + * - key: The suggestion dictionary key + * - prefix: The prefix to get completion suggestions for + * - options: Optional parameters for fuzzy matching and max results + */ + parseCommand(...args) { + SUGGET_1.default.parseCommand(...args); + args[0].push('WITHSCORES'); + }, + transformReply: { + 2: (reply, preserve, typeMapping) => { + if ((0, generic_transformers_1.isNullReply)(reply)) + return null; + const transformedReply = new Array(reply.length / 2); + let replyIndex = 0, arrIndex = 0; + while (replyIndex < reply.length) { + transformedReply[arrIndex++] = { + suggestion: reply[replyIndex++], + score: generic_transformers_1.transformDoubleReply[2](reply[replyIndex++], preserve, typeMapping) + }; + } + return transformedReply; + }, + 3: (reply) => { + if ((0, generic_transformers_1.isNullReply)(reply)) + return null; + const transformedReply = new Array(reply.length / 2); + let replyIndex = 0, arrIndex = 0; + while (replyIndex < reply.length) { + transformedReply[arrIndex++] = { + suggestion: reply[replyIndex++], + score: reply[replyIndex++] + }; + } + return transformedReply; + } + } +}; +//# sourceMappingURL=SUGGET_WITHSCORES.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES.js.map b/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES.js.map new file mode 100644 index 0000000..e808e37 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SUGGET_WITHSCORES.js","sourceRoot":"","sources":["../../../lib/commands/SUGGET_WITHSCORES.ts"],"names":[],"mappings":";;;;;AACA,+FAAyG;AACzG,sDAA8B;AAO9B,kBAAe;IACb,YAAY,EAAE,gBAAM,CAAC,YAAY;IACjC;;;;;;;OAOG;IACH,YAAY,CAAC,GAAG,IAA4C;QAC1D,gBAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAA2D,EAAE,QAAc,EAAE,WAAyB,EAAE,EAAE;YAC5G,IAAI,IAAA,kCAAW,EAAC,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAEpC,MAAM,gBAAgB,GAAwB,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC1E,IAAI,UAAU,GAAG,CAAC,EAChB,QAAQ,GAAG,CAAC,CAAC;YACf,OAAO,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,GAAG;oBAC7B,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;oBAC/B,KAAK,EAAE,2CAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC;iBAC3E,CAAC;YACJ,CAAC;YAED,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QACD,CAAC,EAAE,CAAC,KAA6D,EAAE,EAAE;YACnE,IAAI,IAAA,kCAAW,EAAC,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAEpC,MAAM,gBAAgB,GAAwB,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC1E,IAAI,UAAU,GAAG,CAAC,EAChB,QAAQ,GAAG,CAAC,CAAC;YACf,OAAO,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,GAAG;oBAC7B,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAoB;oBAClD,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,CAAgB;iBAC1C,CAAC;YACJ,CAAC;YAED,OAAO,gBAAgB,CAAC;QAC1B,CAAC;KACF;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES_WITHPAYLOADS.d.ts b/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES_WITHPAYLOADS.d.ts new file mode 100644 index 0000000..8dfed8b --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES_WITHPAYLOADS.d.ts @@ -0,0 +1,24 @@ +import { NullReply, ArrayReply, BlobStringReply, DoubleReply, UnwrapReply, TypeMapping } from '@redis/client/dist/lib/RESP/types'; +type SuggestScoreWithPayload = { + suggestion: BlobStringReply; + score: DoubleReply; + payload: BlobStringReply; +}; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Gets completion suggestions with their scores and payloads from a suggestion dictionary. + * @param args - Same parameters as FT.SUGGET: + * - parser: The command parser + * - key: The suggestion dictionary key + * - prefix: The prefix to get completion suggestions for + * - options: Optional parameters for fuzzy matching and max results + */ + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, prefix: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./SUGGET").FtSugGetOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: NullReply | UnwrapReply>, preserve?: any, typeMapping?: TypeMapping) => SuggestScoreWithPayload[] | null; + readonly 3: (reply: NullReply | UnwrapReply>) => SuggestScoreWithPayload[] | null; + }; +}; +export default _default; +//# sourceMappingURL=SUGGET_WITHSCORES_WITHPAYLOADS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES_WITHPAYLOADS.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES_WITHPAYLOADS.d.ts.map new file mode 100644 index 0000000..1ef0862 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES_WITHPAYLOADS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SUGGET_WITHSCORES_WITHPAYLOADS.d.ts","sourceRoot":"","sources":["../../../lib/commands/SUGGET_WITHSCORES_WITHPAYLOADS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAW,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAI3I,KAAK,uBAAuB,GAAG;IAC7B,UAAU,EAAE,eAAe,CAAC;IAC5B,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,eAAe,CAAC;CAC1B,CAAA;;;IAIC;;;;;;;OAOG;;;4BASU,SAAS,GAAG,YAAY,WAAW,eAAe,CAAC,CAAC,aAAa,GAAG,gBAAgB,WAAW;4BAgB/F,SAAS,GAAG,YAAY,WAAW,eAAe,GAAG,WAAW,CAAC,CAAC;;;AAlCjF,wBAmD6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES_WITHPAYLOADS.js b/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES_WITHPAYLOADS.js new file mode 100644 index 0000000..c98b76f --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES_WITHPAYLOADS.js @@ -0,0 +1,53 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +const SUGGET_1 = __importDefault(require("./SUGGET")); +exports.default = { + IS_READ_ONLY: SUGGET_1.default.IS_READ_ONLY, + /** + * Gets completion suggestions with their scores and payloads from a suggestion dictionary. + * @param args - Same parameters as FT.SUGGET: + * - parser: The command parser + * - key: The suggestion dictionary key + * - prefix: The prefix to get completion suggestions for + * - options: Optional parameters for fuzzy matching and max results + */ + parseCommand(...args) { + SUGGET_1.default.parseCommand(...args); + args[0].push('WITHSCORES', 'WITHPAYLOADS'); + }, + transformReply: { + 2: (reply, preserve, typeMapping) => { + if ((0, generic_transformers_1.isNullReply)(reply)) + return null; + const transformedReply = new Array(reply.length / 3); + let replyIndex = 0, arrIndex = 0; + while (replyIndex < reply.length) { + transformedReply[arrIndex++] = { + suggestion: reply[replyIndex++], + score: generic_transformers_1.transformDoubleReply[2](reply[replyIndex++], preserve, typeMapping), + payload: reply[replyIndex++] + }; + } + return transformedReply; + }, + 3: (reply) => { + if ((0, generic_transformers_1.isNullReply)(reply)) + return null; + const transformedReply = new Array(reply.length / 3); + let replyIndex = 0, arrIndex = 0; + while (replyIndex < reply.length) { + transformedReply[arrIndex++] = { + suggestion: reply[replyIndex++], + score: reply[replyIndex++], + payload: reply[replyIndex++] + }; + } + return transformedReply; + } + } +}; +//# sourceMappingURL=SUGGET_WITHSCORES_WITHPAYLOADS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES_WITHPAYLOADS.js.map b/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES_WITHPAYLOADS.js.map new file mode 100644 index 0000000..f24f189 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SUGGET_WITHSCORES_WITHPAYLOADS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SUGGET_WITHSCORES_WITHPAYLOADS.js","sourceRoot":"","sources":["../../../lib/commands/SUGGET_WITHSCORES_WITHPAYLOADS.ts"],"names":[],"mappings":";;;;;AACA,+FAAyG;AACzG,sDAA8B;AAQ9B,kBAAe;IACb,YAAY,EAAE,gBAAM,CAAC,YAAY;IACjC;;;;;;;OAOG;IACH,YAAY,CAAC,GAAG,IAA4C;QAC1D,gBAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CACV,YAAY,EACZ,cAAc,CACf,CAAC;IACJ,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAA2D,EAAE,QAAc,EAAE,WAAyB,EAAE,EAAE;YAC5G,IAAI,IAAA,kCAAW,EAAC,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAEpC,MAAM,gBAAgB,GAAmC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACrF,IAAI,UAAU,GAAG,CAAC,EAChB,QAAQ,GAAG,CAAC,CAAC;YACf,OAAO,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,GAAG;oBAC7B,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;oBAC/B,KAAK,EAAE,2CAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC;oBAC1E,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;iBAC7B,CAAC;YACJ,CAAC;YAED,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QACD,CAAC,EAAE,CAAC,KAAyE,EAAE,EAAE;YAC/E,IAAI,IAAA,kCAAW,EAAC,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAEpC,MAAM,gBAAgB,GAAmC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACrF,IAAI,UAAU,GAAG,CAAC,EAChB,QAAQ,GAAG,CAAC,CAAC;YACf,OAAO,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,GAAG;oBAC7B,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAoB;oBAClD,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,CAAgB;oBACzC,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,CAAoB;iBAChD,CAAC;YACJ,CAAC;YAED,OAAO,gBAAgB,CAAC;QAC1B,CAAC;KACF;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SUGLEN.d.ts b/back/node_modules/@redis/search/dist/lib/commands/SUGLEN.d.ts new file mode 100644 index 0000000..c324d7e --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SUGLEN.d.ts @@ -0,0 +1,14 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, NumberReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Gets the size of a suggestion dictionary. + * @param parser - The command parser + * @param key - The suggestion dictionary key + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=SUGLEN.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SUGLEN.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/SUGLEN.d.ts.map new file mode 100644 index 0000000..1aca385 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SUGLEN.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SUGLEN.d.ts","sourceRoot":"","sources":["../../../lib/commands/SUGLEN.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,mCAAmC,CAAC;;;IAItF;;;;OAIG;gDACkB,aAAa,OAAO,aAAa;mCAGR,WAAW;;AAV3D,wBAW6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SUGLEN.js b/back/node_modules/@redis/search/dist/lib/commands/SUGLEN.js new file mode 100644 index 0000000..bf4c8d4 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SUGLEN.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Gets the size of a suggestion dictionary. + * @param parser - The command parser + * @param key - The suggestion dictionary key + */ + parseCommand(parser, key) { + parser.push('FT.SUGLEN', key); + }, + transformReply: undefined +}; +//# sourceMappingURL=SUGLEN.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SUGLEN.js.map b/back/node_modules/@redis/search/dist/lib/commands/SUGLEN.js.map new file mode 100644 index 0000000..13255fb --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SUGLEN.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SUGLEN.js","sourceRoot":"","sources":["../../../lib/commands/SUGLEN.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB;QACpD,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAChC,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SYNDUMP.d.ts b/back/node_modules/@redis/search/dist/lib/commands/SYNDUMP.d.ts new file mode 100644 index 0000000..1698dc7 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SYNDUMP.d.ts @@ -0,0 +1,18 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, MapReply, BlobStringReply, ArrayReply, UnwrapReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Dumps the contents of a synonym group. + * @param parser - The command parser + * @param index - Name of the index that contains the synonym group + */ + readonly parseCommand: (this: void, parser: CommandParser, index: RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: UnwrapReply>>) => Record>>; + readonly 3: () => MapReply>; + }; +}; +export default _default; +//# sourceMappingURL=SYNDUMP.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SYNDUMP.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/SYNDUMP.d.ts.map new file mode 100644 index 0000000..a2a599f --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SYNDUMP.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SYNDUMP.d.ts","sourceRoot":"","sources":["../../../lib/commands/SYNDUMP.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAW,MAAM,mCAAmC,CAAC;;;;IAK7H;;;;OAIG;gDACkB,aAAa,SAAS,aAAa;;4BAI3C,YAAY,WAAW,eAAe,GAAG,WAAW,eAAe,CAAC,CAAC,CAAC;0BAUhD,SAAS,eAAe,EAAE,WAAW,eAAe,CAAC,CAAC;;;AAtB3F,wBAwB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SYNDUMP.js b/back/node_modules/@redis/search/dist/lib/commands/SYNDUMP.js new file mode 100644 index 0000000..4623c5c --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SYNDUMP.js @@ -0,0 +1,27 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Dumps the contents of a synonym group. + * @param parser - The command parser + * @param index - Name of the index that contains the synonym group + */ + parseCommand(parser, index) { + parser.push('FT.SYNDUMP', index); + }, + transformReply: { + 2: (reply) => { + const result = {}; + let i = 0; + while (i < reply.length) { + const key = reply[i++].toString(), value = reply[i++]; + result[key] = value; + } + return result; + }, + 3: undefined + } +}; +//# sourceMappingURL=SYNDUMP.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SYNDUMP.js.map b/back/node_modules/@redis/search/dist/lib/commands/SYNDUMP.js.map new file mode 100644 index 0000000..fa8ac5a --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SYNDUMP.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SYNDUMP.js","sourceRoot":"","sources":["../../../lib/commands/SYNDUMP.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,KAAoB;QACtD,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAA6E,EAAE,EAAE;YACnF,MAAM,MAAM,GAAgD,EAAE,CAAC;YAC/D,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAI,KAAK,CAAC,CAAC,EAAE,CAA6C,CAAC,QAAQ,EAAE,EAC5E,KAAK,GAAG,KAAK,CAAC,CAAC,EAAE,CAA2C,CAAC;gBAC/D,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACtB,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,CAAC,EAAE,SAAoF;KACxF;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SYNUPDATE.d.ts b/back/node_modules/@redis/search/dist/lib/commands/SYNUPDATE.d.ts new file mode 100644 index 0000000..faa3a15 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SYNUPDATE.d.ts @@ -0,0 +1,23 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { SimpleStringReply, RedisArgument } from '@redis/client/dist/lib/RESP/types'; +import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers'; +export interface FtSynUpdateOptions { + SKIPINITIALSCAN?: boolean; +} +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Updates a synonym group with new terms. + * @param parser - The command parser + * @param index - Name of the index that contains the synonym group + * @param groupId - ID of the synonym group to update + * @param terms - One or more synonym terms to add to the group + * @param options - Optional parameters: + * - SKIPINITIALSCAN: Skip the initial scan for existing documents + */ + readonly parseCommand: (this: void, parser: CommandParser, index: RedisArgument, groupId: RedisArgument, terms: RedisVariadicArgument, options?: FtSynUpdateOptions) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=SYNUPDATE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SYNUPDATE.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/SYNUPDATE.d.ts.map new file mode 100644 index 0000000..78e5791 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SYNUPDATE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SYNUPDATE.d.ts","sourceRoot":"","sources":["../../../lib/commands/SYNUPDATE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAW,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAE7F,MAAM,WAAW,kBAAkB;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;;;;IAKC;;;;;;;;OAQG;gDAEO,aAAa,SACd,aAAa,WACX,aAAa,SACf,qBAAqB,YAClB,kBAAkB;mCAUgB,kBAAkB,IAAI,CAAC;;AA3BvE,wBA4B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SYNUPDATE.js b/back/node_modules/@redis/search/dist/lib/commands/SYNUPDATE.js new file mode 100644 index 0000000..1c12494 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SYNUPDATE.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Updates a synonym group with new terms. + * @param parser - The command parser + * @param index - Name of the index that contains the synonym group + * @param groupId - ID of the synonym group to update + * @param terms - One or more synonym terms to add to the group + * @param options - Optional parameters: + * - SKIPINITIALSCAN: Skip the initial scan for existing documents + */ + parseCommand(parser, index, groupId, terms, options) { + parser.push('FT.SYNUPDATE', index, groupId); + if (options?.SKIPINITIALSCAN) { + parser.push('SKIPINITIALSCAN'); + } + parser.pushVariadic(terms); + }, + transformReply: undefined +}; +//# sourceMappingURL=SYNUPDATE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/SYNUPDATE.js.map b/back/node_modules/@redis/search/dist/lib/commands/SYNUPDATE.js.map new file mode 100644 index 0000000..3a236b4 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/SYNUPDATE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SYNUPDATE.js","sourceRoot":"","sources":["../../../lib/commands/SYNUPDATE.ts"],"names":[],"mappings":";;AAQA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,CACV,MAAqB,EACrB,KAAoB,EACpB,OAAsB,EACtB,KAA4B,EAC5B,OAA4B;QAE5B,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAE5C,IAAI,OAAO,EAAE,eAAe,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/TAGVALS.d.ts b/back/node_modules/@redis/search/dist/lib/commands/TAGVALS.d.ts new file mode 100644 index 0000000..c8f2cbb --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/TAGVALS.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, ArrayReply, SetReply, BlobStringReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Returns the distinct values in a TAG field. + * @param parser - The command parser + * @param index - Name of the index + * @param fieldName - Name of the TAG field to get values from + */ + readonly parseCommand: (this: void, parser: CommandParser, index: RedisArgument, fieldName: RedisArgument) => void; + readonly transformReply: { + readonly 2: () => ArrayReply; + readonly 3: () => SetReply; + }; +}; +export default _default; +//# sourceMappingURL=TAGVALS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/TAGVALS.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/TAGVALS.d.ts.map new file mode 100644 index 0000000..cbc42dd --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/TAGVALS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"TAGVALS.d.ts","sourceRoot":"","sources":["../../../lib/commands/TAGVALS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAW,MAAM,mCAAmC,CAAC;;;;IAKhH;;;;;OAKG;gDACkB,aAAa,SAAS,aAAa,aAAa,aAAa;;0BAI/C,WAAW,eAAe,CAAC;0BAC3B,SAAS,eAAe,CAAC;;;AAd9D,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/TAGVALS.js b/back/node_modules/@redis/search/dist/lib/commands/TAGVALS.js new file mode 100644 index 0000000..70eb3ad --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/TAGVALS.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Returns the distinct values in a TAG field. + * @param parser - The command parser + * @param index - Name of the index + * @param fieldName - Name of the TAG field to get values from + */ + parseCommand(parser, index, fieldName) { + parser.push('FT.TAGVALS', index, fieldName); + }, + transformReply: { + 2: undefined, + 3: undefined + } +}; +//# sourceMappingURL=TAGVALS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/TAGVALS.js.map b/back/node_modules/@redis/search/dist/lib/commands/TAGVALS.js.map new file mode 100644 index 0000000..ee7b332 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/TAGVALS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"TAGVALS.js","sourceRoot":"","sources":["../../../lib/commands/TAGVALS.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,KAAoB,EAAE,SAAwB;QAChF,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,SAAyD;QAC5D,CAAC,EAAE,SAAuD;KAC3D;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/_LIST.d.ts b/back/node_modules/@redis/search/dist/lib/commands/_LIST.d.ts new file mode 100644 index 0000000..8c64535 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/_LIST.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { ArrayReply, SetReply, BlobStringReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Lists all existing indexes in the database. + * @param parser - The command parser + */ + readonly parseCommand: (this: void, parser: CommandParser) => void; + readonly transformReply: { + readonly 2: () => ArrayReply; + readonly 3: () => SetReply; + }; +}; +export default _default; +//# sourceMappingURL=_LIST.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/_LIST.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/_LIST.d.ts.map new file mode 100644 index 0000000..d166d18 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/_LIST.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"_LIST.d.ts","sourceRoot":"","sources":["../../../lib/commands/_LIST.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAW,MAAM,mCAAmC,CAAC;;;;IAKjG;;;OAGG;gDACkB,aAAa;;0BAIC,WAAW,eAAe,CAAC;0BAC3B,SAAS,eAAe,CAAC;;;AAZ9D,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/_LIST.js b/back/node_modules/@redis/search/dist/lib/commands/_LIST.js new file mode 100644 index 0000000..f49456a --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/_LIST.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Lists all existing indexes in the database. + * @param parser - The command parser + */ + parseCommand(parser) { + parser.push('FT._LIST'); + }, + transformReply: { + 2: undefined, + 3: undefined + } +}; +//# sourceMappingURL=_LIST.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/_LIST.js.map b/back/node_modules/@redis/search/dist/lib/commands/_LIST.js.map new file mode 100644 index 0000000..f46e58e --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/_LIST.js.map @@ -0,0 +1 @@ +{"version":3,"file":"_LIST.js","sourceRoot":"","sources":["../../../lib/commands/_LIST.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;OAGG;IACH,YAAY,CAAC,MAAqB;QAChC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1B,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,SAAyD;QAC5D,CAAC,EAAE,SAAuD;KAC3D;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/index.d.ts b/back/node_modules/@redis/search/dist/lib/commands/index.d.ts new file mode 100644 index 0000000..a5cbe6c --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/index.d.ts @@ -0,0 +1,589 @@ +/// +declare const _default: { + _LIST: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser) => void; + readonly transformReply: { + readonly 2: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").SetReply>; + }; + }; + _list: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser) => void; + readonly transformReply: { + readonly 2: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").SetReply>; + }; + }; + ALTER: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, schema: import("./CREATE").RediSearchSchema) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + alter: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, schema: import("./CREATE").RediSearchSchema) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + AGGREGATE_WITHCURSOR: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: import("./AGGREGATE_WITHCURSOR").FtAggregateWithCursorOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [result: [total: import("@redis/client/dist/lib/RESP/types").UnwrapReply>, ...results: import("@redis/client/dist/lib/RESP/types").ArrayReply>[]], cursor: import("@redis/client/dist/lib/RESP/types").NumberReply]) => import("./AGGREGATE_WITHCURSOR").AggregateWithCursorReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + aggregateWithCursor: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: import("./AGGREGATE_WITHCURSOR").FtAggregateWithCursorOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [result: [total: import("@redis/client/dist/lib/RESP/types").UnwrapReply>, ...results: import("@redis/client/dist/lib/RESP/types").ArrayReply>[]], cursor: import("@redis/client/dist/lib/RESP/types").NumberReply]) => import("./AGGREGATE_WITHCURSOR").AggregateWithCursorReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + AGGREGATE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: import("./AGGREGATE").FtAggregateOptions | undefined) => void; + readonly transformReply: { + readonly 2: (rawReply: [total: import("@redis/client/dist/lib/RESP/types").UnwrapReply>, ...results: import("@redis/client/dist/lib/RESP/types").ArrayReply>[]], preserve?: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => import("./AGGREGATE").AggregateReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + aggregate: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: import("./AGGREGATE").FtAggregateOptions | undefined) => void; + readonly transformReply: { + readonly 2: (rawReply: [total: import("@redis/client/dist/lib/RESP/types").UnwrapReply>, ...results: import("@redis/client/dist/lib/RESP/types").ArrayReply>[]], preserve?: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => import("./AGGREGATE").AggregateReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + ALIASADD: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, alias: import("@redis/client").RedisArgument, index: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + aliasAdd: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, alias: import("@redis/client").RedisArgument, index: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + ALIASDEL: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, alias: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + aliasDel: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, alias: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + ALIASUPDATE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, alias: import("@redis/client").RedisArgument, index: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + aliasUpdate: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, alias: import("@redis/client").RedisArgument, index: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + /** + * @deprecated Redis >=8 uses the standard CONFIG command + */ + CONFIG_GET: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, option: string) => void; + readonly transformReply: (this: void, reply: import("@redis/client/dist/lib/RESP/types").TuplesReply<[import("@redis/client/dist/lib/RESP/types").BlobStringReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").NullReply]>[]) => Record | import("@redis/client/dist/lib/RESP/types").NullReply>; + }; + /** + * @deprecated Redis >=8 uses the standard CONFIG command + */ + configGet: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, option: string) => void; + readonly transformReply: (this: void, reply: import("@redis/client/dist/lib/RESP/types").TuplesReply<[import("@redis/client/dist/lib/RESP/types").BlobStringReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").NullReply]>[]) => Record | import("@redis/client/dist/lib/RESP/types").NullReply>; + }; + /** + * @deprecated Redis >=8 uses the standard CONFIG command + */ + CONFIG_SET: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, property: Buffer | (string & {}) | "a" | "b", value: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + /** + * @deprecated Redis >=8 uses the standard CONFIG command + */ + configSet: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, property: Buffer | (string & {}) | "a" | "b", value: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + CREATE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, schema: import("./CREATE").RediSearchSchema, options?: import("./CREATE").CreateOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + create: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, schema: import("./CREATE").RediSearchSchema, options?: import("./CREATE").CreateOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + CURSOR_DEL: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, cursorId: import("@redis/client/dist/lib/RESP/types").UnwrapReply>) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + cursorDel: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, cursorId: import("@redis/client/dist/lib/RESP/types").UnwrapReply>) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + CURSOR_READ: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, cursor: import("@redis/client/dist/lib/RESP/types").UnwrapReply>, options?: import("./CURSOR_READ").FtCursorReadOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [result: [total: import("@redis/client/dist/lib/RESP/types").UnwrapReply>, ...results: import("@redis/client/dist/lib/RESP/types").ArrayReply>[]], cursor: import("@redis/client/dist/lib/RESP/types").NumberReply]) => import("./AGGREGATE_WITHCURSOR").AggregateWithCursorReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + cursorRead: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, cursor: import("@redis/client/dist/lib/RESP/types").UnwrapReply>, options?: import("./CURSOR_READ").FtCursorReadOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [result: [total: import("@redis/client/dist/lib/RESP/types").UnwrapReply>, ...results: import("@redis/client/dist/lib/RESP/types").ArrayReply>[]], cursor: import("@redis/client/dist/lib/RESP/types").NumberReply]) => import("./AGGREGATE_WITHCURSOR").AggregateWithCursorReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + DICTADD: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, dictionary: import("@redis/client").RedisArgument, term: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + dictAdd: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, dictionary: import("@redis/client").RedisArgument, term: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + DICTDEL: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, dictionary: import("@redis/client").RedisArgument, term: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + dictDel: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, dictionary: import("@redis/client").RedisArgument, term: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + DICTDUMP: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, dictionary: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").SetReply>; + }; + }; + dictDump: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, dictionary: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").SetReply>; + }; + }; + DROPINDEX: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, options?: import("./DROPINDEX").FtDropIndexOptions | undefined) => void; + readonly transformReply: { + readonly 2: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + }; + dropIndex: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, options?: import("./DROPINDEX").FtDropIndexOptions | undefined) => void; + readonly transformReply: { + readonly 2: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + }; + EXPLAIN: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: import("./EXPLAIN").FtExplainOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply; + }; + explain: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: import("./EXPLAIN").FtExplainOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply; + }; + EXPLAINCLI: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: import("./EXPLAINCLI").FtExplainCLIOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + explainCli: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: import("./EXPLAINCLI").FtExplainCLIOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + HYBRID: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, options: import("./HYBRID").FtHybridOptions) => void; + readonly transformReply: { + readonly 2: (reply: any) => import("./HYBRID").HybridSearchResult; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + hybrid: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, options: import("./HYBRID").FtHybridOptions) => void; + readonly transformReply: { + readonly 2: (reply: any) => import("./HYBRID").HybridSearchResult; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + INFO: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: any[], preserve?: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => import("./INFO").InfoReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + info: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: any[], preserve?: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => import("./INFO").InfoReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + PROFILESEARCH: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: (import("./PROFILE_SEARCH").ProfileOptions & import("./SEARCH").FtSearchOptions) | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [import("./SEARCH").SearchRawReply, import("@redis/client/dist/lib/RESP/types").ArrayReply]) => import("./PROFILE_SEARCH").ProfileReplyResp2; + readonly 3: (reply: import("@redis/client/dist/lib/RESP/types").ReplyUnion) => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + profileSearch: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: (import("./PROFILE_SEARCH").ProfileOptions & import("./SEARCH").FtSearchOptions) | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [import("./SEARCH").SearchRawReply, import("@redis/client/dist/lib/RESP/types").ArrayReply]) => import("./PROFILE_SEARCH").ProfileReplyResp2; + readonly 3: (reply: import("@redis/client/dist/lib/RESP/types").ReplyUnion) => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + PROFILEAGGREGATE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: string, query: string, options?: (import("./PROFILE_SEARCH").ProfileOptions & import("./AGGREGATE").FtAggregateOptions) | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [[total: import("@redis/client/dist/lib/RESP/types").UnwrapReply>, ...results: import("@redis/client/dist/lib/RESP/types").ArrayReply>[]], import("@redis/client/dist/lib/RESP/types").ArrayReply]) => import("./PROFILE_SEARCH").ProfileReplyResp2; + readonly 3: (reply: import("@redis/client/dist/lib/RESP/types").ReplyUnion) => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + profileAggregate: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: string, query: string, options?: (import("./PROFILE_SEARCH").ProfileOptions & import("./AGGREGATE").FtAggregateOptions) | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [[total: import("@redis/client/dist/lib/RESP/types").UnwrapReply>, ...results: import("@redis/client/dist/lib/RESP/types").ArrayReply>[]], import("@redis/client/dist/lib/RESP/types").ArrayReply]) => import("./PROFILE_SEARCH").ProfileReplyResp2; + readonly 3: (reply: import("@redis/client/dist/lib/RESP/types").ReplyUnion) => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + SEARCH_NOCONTENT: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: import("./SEARCH").FtSearchOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("./SEARCH").SearchRawReply) => import("./SEARCH_NOCONTENT").SearchNoContentReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + searchNoContent: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: import("./SEARCH").FtSearchOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("./SEARCH").SearchRawReply) => import("./SEARCH_NOCONTENT").SearchNoContentReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + SEARCH: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: import("./SEARCH").FtSearchOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("./SEARCH").SearchRawReply) => import("./SEARCH").SearchReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + search: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: import("./SEARCH").FtSearchOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("./SEARCH").SearchRawReply) => import("./SEARCH").SearchReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + SPELLCHECK: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: import("./SPELLCHECK").FtSpellCheckOptions | undefined) => void; + readonly transformReply: { + readonly 2: (rawReply: [_: string, term: string, suggestions: [score: string, suggestion: string][]][]) => { + term: string; + suggestions: { + score: number; + suggestion: string; + }[]; + }[]; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + spellCheck: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: import("./SPELLCHECK").FtSpellCheckOptions | undefined) => void; + readonly transformReply: { + readonly 2: (rawReply: [_: string, term: string, suggestions: [score: string, suggestion: string][]][]) => { + term: string; + suggestions: { + score: number; + suggestion: string; + }[]; + }[]; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + SUGADD: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, string: import("@redis/client").RedisArgument, score: number, options?: import("./SUGADD").FtSugAddOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + sugAdd: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, string: import("@redis/client").RedisArgument, score: number, options?: import("./SUGADD").FtSugAddOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + SUGDEL: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, string: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>; + }; + sugDel: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, string: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>; + }; + SUGGET_WITHPAYLOADS: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, prefix: import("@redis/client").RedisArgument, options?: import("./SUGGET").FtSugGetOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply[]) => { + suggestion: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + payload: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + }[] | null; + }; + sugGetWithPayloads: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, prefix: import("@redis/client").RedisArgument, options?: import("./SUGGET").FtSugGetOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply[]) => { + suggestion: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + payload: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + }[] | null; + }; + SUGGET_WITHSCORES_WITHPAYLOADS: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, prefix: import("@redis/client").RedisArgument, options?: import("./SUGGET").FtSugGetOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => { + suggestion: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + score: import("@redis/client/dist/lib/RESP/types").DoubleReply; + payload: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + }[] | null; + readonly 3: (reply: import("@redis/client/dist/lib/RESP/types").NullReply | (import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").DoubleReply)[]) => { + suggestion: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + score: import("@redis/client/dist/lib/RESP/types").DoubleReply; + payload: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + }[] | null; + }; + }; + sugGetWithScoresWithPayloads: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, prefix: import("@redis/client").RedisArgument, options?: import("./SUGGET").FtSugGetOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => { + suggestion: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + score: import("@redis/client/dist/lib/RESP/types").DoubleReply; + payload: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + }[] | null; + readonly 3: (reply: import("@redis/client/dist/lib/RESP/types").NullReply | (import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").DoubleReply)[]) => { + suggestion: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + score: import("@redis/client/dist/lib/RESP/types").DoubleReply; + payload: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + }[] | null; + }; + }; + SUGGET_WITHSCORES: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, prefix: import("@redis/client").RedisArgument, options?: import("./SUGGET").FtSugGetOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => { + suggestion: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + score: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[] | null; + readonly 3: (reply: (import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").DoubleReply)[]) => { + suggestion: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + score: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[] | null; + }; + }; + sugGetWithScores: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, prefix: import("@redis/client").RedisArgument, options?: import("./SUGGET").FtSugGetOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: import("@redis/client").TypeMapping | undefined) => { + suggestion: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + score: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[] | null; + readonly 3: (reply: (import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").DoubleReply)[]) => { + suggestion: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + score: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[] | null; + }; + }; + SUGGET: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, prefix: import("@redis/client").RedisArgument, options?: import("./SUGGET").FtSugGetOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply> | import("@redis/client/dist/lib/RESP/types").NullReply; + }; + sugGet: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, prefix: import("@redis/client").RedisArgument, options?: import("./SUGGET").FtSugGetOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply> | import("@redis/client/dist/lib/RESP/types").NullReply; + }; + SUGLEN: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + sugLen: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + SYNDUMP: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: (import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>)[]) => Record>>; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").ArrayReply>>; + }; + }; + synDump: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: (import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>)[]) => Record>>; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").ArrayReply>>; + }; + }; + SYNUPDATE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, groupId: import("@redis/client").RedisArgument, terms: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./SYNUPDATE").FtSynUpdateOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + synUpdate: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, groupId: import("@redis/client").RedisArgument, terms: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./SYNUPDATE").FtSynUpdateOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + TAGVALS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, fieldName: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").SetReply>; + }; + }; + tagVals: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, fieldName: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").SetReply>; + }; + }; +}; +export default _default; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/index.d.ts.map b/back/node_modules/@redis/search/dist/lib/commands/index.d.ts.map new file mode 100644 index 0000000..35b54cc --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/commands/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmDE;;OAEG;;;;;;;IAEH;;OAEG;;;;;;;IAEH;;OAEG;;;;;;;IAEH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA7BL,wBAmFE"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/index.js b/back/node_modules/@redis/search/dist/lib/commands/index.js new file mode 100644 index 0000000..a2fdffc --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/index.js @@ -0,0 +1,125 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const _LIST_1 = __importDefault(require("./_LIST")); +const ALTER_1 = __importDefault(require("./ALTER")); +const AGGREGATE_WITHCURSOR_1 = __importDefault(require("./AGGREGATE_WITHCURSOR")); +const AGGREGATE_1 = __importDefault(require("./AGGREGATE")); +const ALIASADD_1 = __importDefault(require("./ALIASADD")); +const ALIASDEL_1 = __importDefault(require("./ALIASDEL")); +const ALIASUPDATE_1 = __importDefault(require("./ALIASUPDATE")); +const CONFIG_GET_1 = __importDefault(require("./CONFIG_GET")); +const CONFIG_SET_1 = __importDefault(require("./CONFIG_SET")); +const CREATE_1 = __importDefault(require("./CREATE")); +const CURSOR_DEL_1 = __importDefault(require("./CURSOR_DEL")); +const CURSOR_READ_1 = __importDefault(require("./CURSOR_READ")); +const DICTADD_1 = __importDefault(require("./DICTADD")); +const DICTDEL_1 = __importDefault(require("./DICTDEL")); +const DICTDUMP_1 = __importDefault(require("./DICTDUMP")); +const DROPINDEX_1 = __importDefault(require("./DROPINDEX")); +const EXPLAIN_1 = __importDefault(require("./EXPLAIN")); +const EXPLAINCLI_1 = __importDefault(require("./EXPLAINCLI")); +const HYBRID_1 = __importDefault(require("./HYBRID")); +const INFO_1 = __importDefault(require("./INFO")); +const PROFILE_SEARCH_1 = __importDefault(require("./PROFILE_SEARCH")); +const PROFILE_AGGREGATE_1 = __importDefault(require("./PROFILE_AGGREGATE")); +const SEARCH_NOCONTENT_1 = __importDefault(require("./SEARCH_NOCONTENT")); +const SEARCH_1 = __importDefault(require("./SEARCH")); +const SPELLCHECK_1 = __importDefault(require("./SPELLCHECK")); +const SUGADD_1 = __importDefault(require("./SUGADD")); +const SUGDEL_1 = __importDefault(require("./SUGDEL")); +const SUGGET_WITHPAYLOADS_1 = __importDefault(require("./SUGGET_WITHPAYLOADS")); +const SUGGET_WITHSCORES_WITHPAYLOADS_1 = __importDefault(require("./SUGGET_WITHSCORES_WITHPAYLOADS")); +const SUGGET_WITHSCORES_1 = __importDefault(require("./SUGGET_WITHSCORES")); +const SUGGET_1 = __importDefault(require("./SUGGET")); +const SUGLEN_1 = __importDefault(require("./SUGLEN")); +const SYNDUMP_1 = __importDefault(require("./SYNDUMP")); +const SYNUPDATE_1 = __importDefault(require("./SYNUPDATE")); +const TAGVALS_1 = __importDefault(require("./TAGVALS")); +exports.default = { + _LIST: _LIST_1.default, + _list: _LIST_1.default, + ALTER: ALTER_1.default, + alter: ALTER_1.default, + AGGREGATE_WITHCURSOR: AGGREGATE_WITHCURSOR_1.default, + aggregateWithCursor: AGGREGATE_WITHCURSOR_1.default, + AGGREGATE: AGGREGATE_1.default, + aggregate: AGGREGATE_1.default, + ALIASADD: ALIASADD_1.default, + aliasAdd: ALIASADD_1.default, + ALIASDEL: ALIASDEL_1.default, + aliasDel: ALIASDEL_1.default, + ALIASUPDATE: ALIASUPDATE_1.default, + aliasUpdate: ALIASUPDATE_1.default, + /** + * @deprecated Redis >=8 uses the standard CONFIG command + */ + CONFIG_GET: CONFIG_GET_1.default, + /** + * @deprecated Redis >=8 uses the standard CONFIG command + */ + configGet: CONFIG_GET_1.default, + /** + * @deprecated Redis >=8 uses the standard CONFIG command + */ + CONFIG_SET: CONFIG_SET_1.default, + /** + * @deprecated Redis >=8 uses the standard CONFIG command + */ + configSet: CONFIG_SET_1.default, + CREATE: CREATE_1.default, + create: CREATE_1.default, + CURSOR_DEL: CURSOR_DEL_1.default, + cursorDel: CURSOR_DEL_1.default, + CURSOR_READ: CURSOR_READ_1.default, + cursorRead: CURSOR_READ_1.default, + DICTADD: DICTADD_1.default, + dictAdd: DICTADD_1.default, + DICTDEL: DICTDEL_1.default, + dictDel: DICTDEL_1.default, + DICTDUMP: DICTDUMP_1.default, + dictDump: DICTDUMP_1.default, + DROPINDEX: DROPINDEX_1.default, + dropIndex: DROPINDEX_1.default, + EXPLAIN: EXPLAIN_1.default, + explain: EXPLAIN_1.default, + EXPLAINCLI: EXPLAINCLI_1.default, + explainCli: EXPLAINCLI_1.default, + HYBRID: HYBRID_1.default, + hybrid: HYBRID_1.default, + INFO: INFO_1.default, + info: INFO_1.default, + PROFILESEARCH: PROFILE_SEARCH_1.default, + profileSearch: PROFILE_SEARCH_1.default, + PROFILEAGGREGATE: PROFILE_AGGREGATE_1.default, + profileAggregate: PROFILE_AGGREGATE_1.default, + SEARCH_NOCONTENT: SEARCH_NOCONTENT_1.default, + searchNoContent: SEARCH_NOCONTENT_1.default, + SEARCH: SEARCH_1.default, + search: SEARCH_1.default, + SPELLCHECK: SPELLCHECK_1.default, + spellCheck: SPELLCHECK_1.default, + SUGADD: SUGADD_1.default, + sugAdd: SUGADD_1.default, + SUGDEL: SUGDEL_1.default, + sugDel: SUGDEL_1.default, + SUGGET_WITHPAYLOADS: SUGGET_WITHPAYLOADS_1.default, + sugGetWithPayloads: SUGGET_WITHPAYLOADS_1.default, + SUGGET_WITHSCORES_WITHPAYLOADS: SUGGET_WITHSCORES_WITHPAYLOADS_1.default, + sugGetWithScoresWithPayloads: SUGGET_WITHSCORES_WITHPAYLOADS_1.default, + SUGGET_WITHSCORES: SUGGET_WITHSCORES_1.default, + sugGetWithScores: SUGGET_WITHSCORES_1.default, + SUGGET: SUGGET_1.default, + sugGet: SUGGET_1.default, + SUGLEN: SUGLEN_1.default, + sugLen: SUGLEN_1.default, + SYNDUMP: SYNDUMP_1.default, + synDump: SYNDUMP_1.default, + SYNUPDATE: SYNUPDATE_1.default, + synUpdate: SYNUPDATE_1.default, + TAGVALS: TAGVALS_1.default, + tagVals: TAGVALS_1.default +}; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/commands/index.js.map b/back/node_modules/@redis/search/dist/lib/commands/index.js.map new file mode 100644 index 0000000..a63e648 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/commands/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/commands/index.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,oDAA4B;AAC5B,kFAA0D;AAC1D,4DAAoC;AACpC,0DAAkC;AAClC,0DAAkC;AAClC,gEAAwC;AACxC,8DAAsC;AACtC,8DAAsC;AACtC,sDAA8B;AAC9B,8DAAsC;AACtC,gEAAwC;AACxC,wDAAgC;AAChC,wDAAgC;AAChC,0DAAkC;AAClC,4DAAoC;AACpC,wDAAgC;AAChC,8DAAsC;AACtC,sDAA8B;AAC9B,kDAA0B;AAC1B,sEAA6C;AAC7C,4EAAmD;AACnD,0EAAkD;AAClD,sDAA8B;AAC9B,8DAAsC;AACtC,sDAA8B;AAC9B,sDAA8B;AAC9B,gFAAwD;AACxD,sGAA8E;AAC9E,4EAAoD;AACpD,sDAA8B;AAC9B,sDAA8B;AAC9B,wDAAgC;AAChC,4DAAoC;AACpC,wDAAgC;AAEhC,kBAAe;IACb,KAAK,EAAL,eAAK;IACL,KAAK,EAAE,eAAK;IACZ,KAAK,EAAL,eAAK;IACL,KAAK,EAAE,eAAK;IACZ,oBAAoB,EAApB,8BAAoB;IACpB,mBAAmB,EAAE,8BAAoB;IACzC,SAAS,EAAT,mBAAS;IACT,SAAS,EAAE,mBAAS;IACpB,QAAQ,EAAR,kBAAQ;IACR,QAAQ,EAAE,kBAAQ;IAClB,QAAQ,EAAR,kBAAQ;IACR,QAAQ,EAAE,kBAAQ;IAClB,WAAW,EAAX,qBAAW;IACX,WAAW,EAAE,qBAAW;IACxB;;OAEG;IACH,UAAU,EAAV,oBAAU;IACV;;OAEG;IACH,SAAS,EAAE,oBAAU;IACrB;;OAEG;IACH,UAAU,EAAV,oBAAU;IACV;;OAEG;IACH,SAAS,EAAE,oBAAU;IACrB,MAAM,EAAN,gBAAM;IACN,MAAM,EAAE,gBAAM;IACd,UAAU,EAAV,oBAAU;IACV,SAAS,EAAE,oBAAU;IACrB,WAAW,EAAX,qBAAW;IACX,UAAU,EAAE,qBAAW;IACvB,OAAO,EAAP,iBAAO;IACP,OAAO,EAAE,iBAAO;IAChB,OAAO,EAAP,iBAAO;IACP,OAAO,EAAE,iBAAO;IAChB,QAAQ,EAAR,kBAAQ;IACR,QAAQ,EAAE,kBAAQ;IAClB,SAAS,EAAT,mBAAS;IACT,SAAS,EAAE,mBAAS;IACpB,OAAO,EAAP,iBAAO;IACP,OAAO,EAAE,iBAAO;IAChB,UAAU,EAAV,oBAAU;IACV,UAAU,EAAE,oBAAU;IACtB,MAAM,EAAN,gBAAM;IACN,MAAM,EAAE,gBAAM;IACd,IAAI,EAAJ,cAAI;IACJ,IAAI,EAAE,cAAI;IACV,aAAa,EAAb,wBAAa;IACb,aAAa,EAAE,wBAAa;IAC5B,gBAAgB,EAAhB,2BAAgB;IAChB,gBAAgB,EAAE,2BAAgB;IAClC,gBAAgB,EAAhB,0BAAgB;IAChB,eAAe,EAAE,0BAAgB;IACjC,MAAM,EAAN,gBAAM;IACN,MAAM,EAAE,gBAAM;IACd,UAAU,EAAV,oBAAU;IACV,UAAU,EAAE,oBAAU;IACtB,MAAM,EAAN,gBAAM;IACN,MAAM,EAAE,gBAAM;IACd,MAAM,EAAN,gBAAM;IACN,MAAM,EAAE,gBAAM;IACd,mBAAmB,EAAnB,6BAAmB;IACnB,kBAAkB,EAAE,6BAAmB;IACvC,8BAA8B,EAA9B,wCAA8B;IAC9B,4BAA4B,EAAE,wCAA8B;IAC5D,iBAAiB,EAAjB,2BAAiB;IACjB,gBAAgB,EAAE,2BAAiB;IACnC,MAAM,EAAN,gBAAM;IACN,MAAM,EAAE,gBAAM;IACd,MAAM,EAAN,gBAAM;IACN,MAAM,EAAE,gBAAM;IACd,OAAO,EAAP,iBAAO;IACP,OAAO,EAAE,iBAAO;IAChB,SAAS,EAAT,mBAAS;IACT,SAAS,EAAE,mBAAS;IACpB,OAAO,EAAP,iBAAO;IACP,OAAO,EAAE,iBAAO;CACjB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/dialect/default.d.ts b/back/node_modules/@redis/search/dist/lib/dialect/default.d.ts new file mode 100644 index 0000000..9eb3094 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/dialect/default.d.ts @@ -0,0 +1,2 @@ +export declare const DEFAULT_DIALECT = "2"; +//# sourceMappingURL=default.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/dialect/default.d.ts.map b/back/node_modules/@redis/search/dist/lib/dialect/default.d.ts.map new file mode 100644 index 0000000..2dfc475 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/dialect/default.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../lib/dialect/default.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,MAAM,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/dialect/default.js b/back/node_modules/@redis/search/dist/lib/dialect/default.js new file mode 100644 index 0000000..189fc3f --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/dialect/default.js @@ -0,0 +1,5 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.DEFAULT_DIALECT = void 0; +exports.DEFAULT_DIALECT = '2'; +//# sourceMappingURL=default.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/dialect/default.js.map b/back/node_modules/@redis/search/dist/lib/dialect/default.js.map new file mode 100644 index 0000000..54631cd --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/dialect/default.js.map @@ -0,0 +1 @@ +{"version":3,"file":"default.js","sourceRoot":"","sources":["../../../lib/dialect/default.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,GAAG,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/index.d.ts b/back/node_modules/@redis/search/dist/lib/index.d.ts new file mode 100644 index 0000000..01557a7 --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/index.d.ts @@ -0,0 +1,7 @@ +export { default } from './commands'; +export { SearchReply } from './commands/SEARCH'; +export { RediSearchSchema } from './commands/CREATE'; +export { REDISEARCH_LANGUAGE, RediSearchLanguage, SCHEMA_FIELD_TYPE, SchemaFieldType, SCHEMA_TEXT_FIELD_PHONETIC, SchemaTextFieldPhonetic, SCHEMA_VECTOR_FIELD_ALGORITHM, SchemaVectorFieldAlgorithm } from './commands/CREATE'; +export { FT_AGGREGATE_GROUP_BY_REDUCERS, FtAggregateGroupByReducer, FT_AGGREGATE_STEPS, FtAggregateStep } from './commands/AGGREGATE'; +export { FtSearchOptions } from './commands/SEARCH'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/index.d.ts.map b/back/node_modules/@redis/search/dist/lib/index.d.ts.map new file mode 100644 index 0000000..dc9b02f --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EACH,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,0BAA0B,EAC1B,uBAAuB,EACvB,6BAA6B,EAC7B,0BAA0B,EAC7B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACH,8BAA8B,EAC9B,yBAAyB,EACzB,kBAAkB,EAClB,eAAe,EAClB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/index.js b/back/node_modules/@redis/search/dist/lib/index.js new file mode 100644 index 0000000..7020a3c --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/index.js @@ -0,0 +1,17 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FT_AGGREGATE_STEPS = exports.FT_AGGREGATE_GROUP_BY_REDUCERS = exports.SCHEMA_VECTOR_FIELD_ALGORITHM = exports.SCHEMA_TEXT_FIELD_PHONETIC = exports.SCHEMA_FIELD_TYPE = exports.REDISEARCH_LANGUAGE = exports.default = void 0; +var commands_1 = require("./commands"); +Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(commands_1).default; } }); +var CREATE_1 = require("./commands/CREATE"); +Object.defineProperty(exports, "REDISEARCH_LANGUAGE", { enumerable: true, get: function () { return CREATE_1.REDISEARCH_LANGUAGE; } }); +Object.defineProperty(exports, "SCHEMA_FIELD_TYPE", { enumerable: true, get: function () { return CREATE_1.SCHEMA_FIELD_TYPE; } }); +Object.defineProperty(exports, "SCHEMA_TEXT_FIELD_PHONETIC", { enumerable: true, get: function () { return CREATE_1.SCHEMA_TEXT_FIELD_PHONETIC; } }); +Object.defineProperty(exports, "SCHEMA_VECTOR_FIELD_ALGORITHM", { enumerable: true, get: function () { return CREATE_1.SCHEMA_VECTOR_FIELD_ALGORITHM; } }); +var AGGREGATE_1 = require("./commands/AGGREGATE"); +Object.defineProperty(exports, "FT_AGGREGATE_GROUP_BY_REDUCERS", { enumerable: true, get: function () { return AGGREGATE_1.FT_AGGREGATE_GROUP_BY_REDUCERS; } }); +Object.defineProperty(exports, "FT_AGGREGATE_STEPS", { enumerable: true, get: function () { return AGGREGATE_1.FT_AGGREGATE_STEPS; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/search/dist/lib/index.js.map b/back/node_modules/@redis/search/dist/lib/index.js.map new file mode 100644 index 0000000..40a74dd --- /dev/null +++ b/back/node_modules/@redis/search/dist/lib/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAoC;AAA3B,oHAAA,OAAO,OAAA;AAIhB,4CAS0B;AARtB,6GAAA,mBAAmB,OAAA;AAEnB,2GAAA,iBAAiB,OAAA;AAEjB,oHAAA,0BAA0B,OAAA;AAE1B,uHAAA,6BAA6B,OAAA;AAGjC,kDAK6B;AAJzB,2HAAA,8BAA8B,OAAA;AAE9B,+GAAA,kBAAkB,OAAA"} \ No newline at end of file diff --git a/back/node_modules/@redis/search/package.json b/back/node_modules/@redis/search/package.json new file mode 100644 index 0000000..8d06fb1 --- /dev/null +++ b/back/node_modules/@redis/search/package.json @@ -0,0 +1,37 @@ +{ + "name": "@redis/search", + "version": "5.11.0", + "license": "MIT", + "main": "./dist/lib/index.js", + "types": "./dist/lib/index.d.ts", + "files": [ + "dist/", + "!dist/tsconfig.tsbuildinfo" + ], + "scripts": { + "test": "nyc -r text-summary -r lcov mocha -r tsx --reporter mocha-multi-reporters --reporter-options configFile=mocha-multi-reporter-config.json --exit './lib/**/*.spec.ts'", + "test-sourcemap": "mocha -r ts-node/register/transpile-only './lib/**/*.spec.ts'", + "release": "release-it" + }, + "peerDependencies": { + "@redis/client": "^5.11.0" + }, + "devDependencies": { + "@redis/test-utils": "*" + }, + "engines": { + "node": ">= 18" + }, + "repository": { + "type": "git", + "url": "git://github.com/redis/node-redis.git" + }, + "bugs": { + "url": "https://github.com/redis/node-redis/issues" + }, + "homepage": "https://github.com/redis/node-redis/tree/master/packages/search", + "keywords": [ + "redis", + "RediSearch" + ] +} diff --git a/back/node_modules/@redis/time-series/README.md b/back/node_modules/@redis/time-series/README.md new file mode 100644 index 0000000..ff42bfb --- /dev/null +++ b/back/node_modules/@redis/time-series/README.md @@ -0,0 +1,143 @@ +# @redis/time-series + +This package provides support for the [RedisTimeSeries](https://redis.io/docs/data-types/timeseries/) module, which adds a time series data structure to Redis. + +Should be used with [`redis`/`@redis/client`](https://github.com/redis/node-redis). + +:warning: To use these extra commands, your Redis server must have the RedisTimeSeries module installed. + +## Usage + +For a complete example, see [`time-series.js`](https://github.com/redis/node-redis/blob/master/examples/time-series.js) in the Node Redis examples folder. + +### Creating Time Series data structure in Redis + +The [`TS.CREATE`](https://oss.redis.com/redistimeseries/commands/#tscreate) command creates a new time series. + +Here, we'll create a new time series "`temperature`": + +```javascript + +import { createClient } from 'redis'; +import { TimeSeriesDuplicatePolicies, TimeSeriesEncoding, TimeSeriesAggregationType } from '@redis/time-series'; + +... +const created = await client.ts.create('temperature', { + RETENTION: 86400000, // 1 day in milliseconds + ENCODING: TimeSeriesEncoding.UNCOMPRESSED, // No compression - When not specified, the option is set to COMPRESSED + DUPLICATE_POLICY: TimeSeriesDuplicatePolicies.BLOCK, // No duplicates - When not specified: set to the global DUPLICATE_POLICY configuration of the database (which by default, is BLOCK). +}); + +if (created === 'OK') { + console.log('Created timeseries.'); +} else { + console.log('Error creating timeseries :('); + process.exit(1); +} +``` + +### Adding new value to a Time Series data structure in Redis + +With RedisTimeSeries, we can add a single value to time series data structure using the [`TS.ADD`](https://redis.io/commands/ts.add/) command and if we would like to add multiple values we can use the [`TS.MADD`](https://redis.io/commands/ts.madd/) command. + +```javascript + +let value = Math.floor(Math.random() * 1000) + 1; // Random data point value +let currentTimestamp = 1640995200000; // Jan 1 2022 00:00:00 +let num = 0; + +while (num < 10000) { + // Add a new value to the timeseries, providing our own timestamp: + // https://redis.io/commands/ts.add/ + await client.ts.add('temperature', currentTimestamp, value); + console.log(`Added timestamp ${currentTimestamp}, value ${value}.`); + + num += 1; + value = Math.floor(Math.random() * 1000) + 1; // Get another random value + currentTimestamp += 1000; // Move on one second. +} + +// Add multiple values to the timeseries in round trip to the server: +// https://redis.io/commands/ts.madd/ +const response = await client.ts.mAdd([{ + key: 'temperature', + timestamp: currentTimestamp + 60000, + value: Math.floor(Math.random() * 1000) + 1 +}, { + key: 'temperature', + timestamp: currentTimestamp + 120000, + value: Math.floor(Math.random() * 1000) + 1 +}]); +``` + +### Retrieving Time Series data from Redis + +With RedisTimeSeries, we can retrieve the time series data using the [`TS.RANGE`](https://redis.io/commands/ts.range/) command by passing the criteria as follows: + +```javascript +// Query the timeseries with TS.RANGE: +// https://redis.io/commands/ts.range/ +const fromTimestamp = 1640995200000; // Jan 1 2022 00:00:00 +const toTimestamp = 1640995260000; // Jan 1 2022 00:01:00 +const rangeResponse = await client.ts.range('temperature', fromTimestamp, toTimestamp, { + // Group into 10 second averages. + AGGREGATION: { + type: TimeSeriesAggregationType.AVERAGE, + timeBucket: 10000 + } +}); + +console.log('RANGE RESPONSE:'); +// rangeResponse looks like: +// [ +// { timestamp: 1640995200000, value: 356.8 }, +// { timestamp: 1640995210000, value: 534.8 }, +// { timestamp: 1640995220000, value: 481.3 }, +// { timestamp: 1640995230000, value: 437 }, +// { timestamp: 1640995240000, value: 507.3 }, +// { timestamp: 1640995250000, value: 581.2 }, +// { timestamp: 1640995260000, value: 600 } +// ] +``` + +### Altering Time Series data Stored in Redis + +RedisTimeSeries includes commands that can update values in a time series data structure. + +Using the [`TS.ALTER`](https://redis.io/commands/ts.alter/) command, we can update time series retention like this: + +```javascript +// https://redis.io/commands/ts.alter/ +const alterResponse = await client.ts.alter('temperature', { + RETENTION: 0 // Keep the entries forever +}); +``` + +### Retrieving Information about the timeseries Stored in Redis + +RedisTimeSeries also includes commands that can help to view the information on the state of a time series. + +Using the [`TS.INFO`](https://redis.io/commands/ts.info/) command, we can view timeseries information like this: + +```javascript +// Get some information about the state of the timeseries. +// https://redis.io/commands/ts.info/ +const tsInfo = await client.ts.info('temperature'); + +// tsInfo looks like this: +// { +// totalSamples: 1440, +// memoryUsage: 28904, +// firstTimestamp: 1641508920000, +// lastTimestamp: 1641595320000, +// retentionTime: 86400000, +// chunkCount: 7, +// chunkSize: 4096, +// chunkType: 'uncompressed', +// duplicatePolicy: 'block', +// labels: [], +// sourceKey: null, +// rules: [] +// } +``` + diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/ADD.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/ADD.d.ts new file mode 100644 index 0000000..b2f6eff --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/ADD.d.ts @@ -0,0 +1,30 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, NumberReply } from '@redis/client/dist/lib/RESP/types'; +import { TimeSeriesEncoding, TimeSeriesDuplicatePolicies, Labels, Timestamp } from './helpers'; +export interface TsIgnoreOptions { + maxTimeDiff: number; + maxValDiff: number; +} +export interface TsAddOptions { + RETENTION?: number; + ENCODING?: TimeSeriesEncoding; + CHUNK_SIZE?: number; + ON_DUPLICATE?: TimeSeriesDuplicatePolicies; + LABELS?: Labels; + IGNORE?: TsIgnoreOptions; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Creates or appends a sample to a time series + * @param parser - The command parser + * @param key - The key name for the time series + * @param timestamp - The timestamp of the sample + * @param value - The value of the sample + * @param options - Optional configuration parameters + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, timestamp: Timestamp, value: number, options?: TsAddOptions) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=ADD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/ADD.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/ADD.d.ts.map new file mode 100644 index 0000000..0784504 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/ADD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ADD.d.ts","sourceRoot":"","sources":["../../../lib/commands/ADD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,mCAAmC,CAAC;AACxF,OAAO,EAGL,kBAAkB,EAGlB,2BAA2B,EAC3B,MAAM,EAEN,SAAS,EAEV,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,2BAA2B,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;;;IAIC;;;;;;;OAOG;gDAEO,aAAa,OAChB,aAAa,aACP,SAAS,SACb,MAAM,YACH,YAAY;mCAoBsB,WAAW;;AAnC3D,wBAoC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/ADD.js b/back/node_modules/@redis/time-series/dist/lib/commands/ADD.js new file mode 100644 index 0000000..b86de5f --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/ADD.js @@ -0,0 +1,29 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const helpers_1 = require("./helpers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Creates or appends a sample to a time series + * @param parser - The command parser + * @param key - The key name for the time series + * @param timestamp - The timestamp of the sample + * @param value - The value of the sample + * @param options - Optional configuration parameters + */ + parseCommand(parser, key, timestamp, value, options) { + parser.push('TS.ADD'); + parser.pushKey(key); + parser.push((0, helpers_1.transformTimestampArgument)(timestamp), value.toString()); + (0, helpers_1.parseRetentionArgument)(parser, options?.RETENTION); + (0, helpers_1.parseEncodingArgument)(parser, options?.ENCODING); + (0, helpers_1.parseChunkSizeArgument)(parser, options?.CHUNK_SIZE); + if (options?.ON_DUPLICATE) { + parser.push('ON_DUPLICATE', options.ON_DUPLICATE); + } + (0, helpers_1.parseLabelsArgument)(parser, options?.LABELS); + (0, helpers_1.parseIgnoreArgument)(parser, options?.IGNORE); + }, + transformReply: undefined +}; +//# sourceMappingURL=ADD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/ADD.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/ADD.js.map new file mode 100644 index 0000000..fc3bd8a --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/ADD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ADD.js","sourceRoot":"","sources":["../../../lib/commands/ADD.ts"],"names":[],"mappings":";;AAEA,uCAWmB;AAgBnB,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;OAOG;IACH,YAAY,CACV,MAAqB,EACrB,GAAkB,EAClB,SAAoB,EACpB,KAAa,EACb,OAAsB;QAEtB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAA,oCAA0B,EAAC,SAAS,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAErE,IAAA,gCAAsB,EAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAEnD,IAAA,+BAAqB,EAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEjD,IAAA,gCAAsB,EAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAEpD,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC;QAED,IAAA,6BAAmB,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAE7C,IAAA,6BAAmB,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/ALTER.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/ALTER.d.ts new file mode 100644 index 0000000..5e6f888 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/ALTER.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, SimpleStringReply } from '@redis/client/dist/lib/RESP/types'; +import { TsCreateOptions } from './CREATE'; +export type TsAlterOptions = Pick; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Alters the configuration of an existing time series + * @param parser - The command parser + * @param key - The key name for the time series + * @param options - Configuration parameters to alter + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, options?: TsAlterOptions) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=ALTER.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/ALTER.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/ALTER.d.ts.map new file mode 100644 index 0000000..940ff67 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/ALTER.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ALTER.d.ts","sourceRoot":"","sources":["../../../lib/commands/ALTER.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,mCAAmC,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAI3C,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,YAAY,GAAG,kBAAkB,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC;;;IAIxH;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,YAAY,cAAc;mCAclC,kBAAkB,IAAI,CAAC;;AAtBvE,wBAuB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/ALTER.js b/back/node_modules/@redis/time-series/dist/lib/commands/ALTER.js new file mode 100644 index 0000000..6cd939f --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/ALTER.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const helpers_1 = require("./helpers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Alters the configuration of an existing time series + * @param parser - The command parser + * @param key - The key name for the time series + * @param options - Configuration parameters to alter + */ + parseCommand(parser, key, options) { + parser.push('TS.ALTER'); + parser.pushKey(key); + (0, helpers_1.parseRetentionArgument)(parser, options?.RETENTION); + (0, helpers_1.parseChunkSizeArgument)(parser, options?.CHUNK_SIZE); + (0, helpers_1.parseDuplicatePolicy)(parser, options?.DUPLICATE_POLICY); + (0, helpers_1.parseLabelsArgument)(parser, options?.LABELS); + (0, helpers_1.parseIgnoreArgument)(parser, options?.IGNORE); + }, + transformReply: undefined +}; +//# sourceMappingURL=ALTER.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/ALTER.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/ALTER.js.map new file mode 100644 index 0000000..a1e8ac6 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/ALTER.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ALTER.js","sourceRoot":"","sources":["../../../lib/commands/ALTER.ts"],"names":[],"mappings":";;AAGA,uCAA2I;AAK3I,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,OAAwB;QAC9E,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAA,gCAAsB,EAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAEnD,IAAA,gCAAsB,EAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAEpD,IAAA,8BAAoB,EAAC,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAExD,IAAA,6BAAmB,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAE7C,IAAA,6BAAmB,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/CREATE.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/CREATE.d.ts new file mode 100644 index 0000000..1b8e66e --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/CREATE.d.ts @@ -0,0 +1,25 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, SimpleStringReply } from '@redis/client/dist/lib/RESP/types'; +import { TimeSeriesEncoding, TimeSeriesDuplicatePolicies, Labels } from './helpers'; +import { TsIgnoreOptions } from './ADD'; +export interface TsCreateOptions { + RETENTION?: number; + ENCODING?: TimeSeriesEncoding; + CHUNK_SIZE?: number; + DUPLICATE_POLICY?: TimeSeriesDuplicatePolicies; + LABELS?: Labels; + IGNORE?: TsIgnoreOptions; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Creates a new time series + * @param parser - The command parser + * @param key - The key name for the new time series + * @param options - Optional configuration parameters + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, options?: TsCreateOptions) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=CREATE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/CREATE.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/CREATE.d.ts.map new file mode 100644 index 0000000..7db74b3 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/CREATE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CREATE.d.ts","sourceRoot":"","sources":["../../../lib/commands/CREATE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,mCAAmC,CAAC;AAC9F,OAAO,EAEL,kBAAkB,EAGlB,2BAA2B,EAE3B,MAAM,EAGP,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAExC,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,2BAA2B,CAAC;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;;;IAIC;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,YAAY,eAAe;mCAgBnC,kBAAkB,IAAI,CAAC;;AAxBvE,wBAyB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/CREATE.js b/back/node_modules/@redis/time-series/dist/lib/commands/CREATE.js new file mode 100644 index 0000000..861b277 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/CREATE.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const helpers_1 = require("./helpers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Creates a new time series + * @param parser - The command parser + * @param key - The key name for the new time series + * @param options - Optional configuration parameters + */ + parseCommand(parser, key, options) { + parser.push('TS.CREATE'); + parser.pushKey(key); + (0, helpers_1.parseRetentionArgument)(parser, options?.RETENTION); + (0, helpers_1.parseEncodingArgument)(parser, options?.ENCODING); + (0, helpers_1.parseChunkSizeArgument)(parser, options?.CHUNK_SIZE); + (0, helpers_1.parseDuplicatePolicy)(parser, options?.DUPLICATE_POLICY); + (0, helpers_1.parseLabelsArgument)(parser, options?.LABELS); + (0, helpers_1.parseIgnoreArgument)(parser, options?.IGNORE); + }, + transformReply: undefined +}; +//# sourceMappingURL=CREATE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/CREATE.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/CREATE.js.map new file mode 100644 index 0000000..407add0 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/CREATE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CREATE.js","sourceRoot":"","sources":["../../../lib/commands/CREATE.ts"],"names":[],"mappings":";;AAEA,uCAUmB;AAYnB,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,OAAyB;QAC/E,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAA,gCAAsB,EAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAEnD,IAAA,+BAAqB,EAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEjD,IAAA,gCAAsB,EAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAEpD,IAAA,8BAAoB,EAAC,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAExD,IAAA,6BAAmB,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAE7C,IAAA,6BAAmB,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/CREATERULE.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/CREATERULE.d.ts new file mode 100644 index 0000000..007cbf7 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/CREATERULE.d.ts @@ -0,0 +1,42 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, SimpleStringReply } from '@redis/client/dist/lib/RESP/types'; +export declare const TIME_SERIES_AGGREGATION_TYPE: { + readonly AVG: "AVG"; + readonly FIRST: "FIRST"; + readonly LAST: "LAST"; + readonly MIN: "MIN"; + readonly MAX: "MAX"; + readonly SUM: "SUM"; + readonly RANGE: "RANGE"; + readonly COUNT: "COUNT"; + /** + * Available since 8.6 + */ + readonly COUNT_NAN: "COUNTNAN"; + /** + * Available since 8.6 + */ + readonly COUNT_ALL: "COUNTALL"; + readonly STD_P: "STD.P"; + readonly STD_S: "STD.S"; + readonly VAR_P: "VAR.P"; + readonly VAR_S: "VAR.S"; + readonly TWA: "TWA"; +}; +export type TimeSeriesAggregationType = typeof TIME_SERIES_AGGREGATION_TYPE[keyof typeof TIME_SERIES_AGGREGATION_TYPE]; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Creates a compaction rule from source time series to destination time series + * @param parser - The command parser + * @param sourceKey - The source time series key + * @param destinationKey - The destination time series key + * @param aggregationType - The aggregation type to use + * @param bucketDuration - The duration of each bucket in milliseconds + * @param alignTimestamp - Optional timestamp for alignment + */ + readonly parseCommand: (this: void, parser: CommandParser, sourceKey: RedisArgument, destinationKey: RedisArgument, aggregationType: TimeSeriesAggregationType, bucketDuration: number, alignTimestamp?: number) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=CREATERULE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/CREATERULE.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/CREATERULE.d.ts.map new file mode 100644 index 0000000..7b01ef4 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/CREATERULE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CREATERULE.d.ts","sourceRoot":"","sources":["../../../lib/commands/CREATERULE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,mCAAmC,CAAC;AAE9F,eAAO,MAAM,4BAA4B;;;;;;;;;IASvC;;MAEE;;IAEF;;MAEE;;;;;;;CAOM,CAAC;AAEX,MAAM,MAAM,yBAAyB,GAAG,OAAO,4BAA4B,CAAC,MAAM,OAAO,4BAA4B,CAAC,CAAC;;;IAIrH;;;;;;;;OAQG;gDAEO,aAAa,aACV,aAAa,kBACR,aAAa,mBACZ,yBAAyB,kBAC1B,MAAM,mBACL,MAAM;mCAUqB,kBAAkB,IAAI,CAAC;;AA3BvE,wBA4B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/CREATERULE.js b/back/node_modules/@redis/time-series/dist/lib/commands/CREATERULE.js new file mode 100644 index 0000000..d9071b6 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/CREATERULE.js @@ -0,0 +1,48 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TIME_SERIES_AGGREGATION_TYPE = void 0; +exports.TIME_SERIES_AGGREGATION_TYPE = { + AVG: 'AVG', + FIRST: 'FIRST', + LAST: 'LAST', + MIN: 'MIN', + MAX: 'MAX', + SUM: 'SUM', + RANGE: 'RANGE', + COUNT: 'COUNT', + /** + * Available since 8.6 + */ + COUNT_NAN: 'COUNTNAN', + /** + * Available since 8.6 + */ + COUNT_ALL: 'COUNTALL', + STD_P: 'STD.P', + STD_S: 'STD.S', + VAR_P: 'VAR.P', + VAR_S: 'VAR.S', + TWA: 'TWA' +}; +exports.default = { + IS_READ_ONLY: false, + /** + * Creates a compaction rule from source time series to destination time series + * @param parser - The command parser + * @param sourceKey - The source time series key + * @param destinationKey - The destination time series key + * @param aggregationType - The aggregation type to use + * @param bucketDuration - The duration of each bucket in milliseconds + * @param alignTimestamp - Optional timestamp for alignment + */ + parseCommand(parser, sourceKey, destinationKey, aggregationType, bucketDuration, alignTimestamp) { + parser.push('TS.CREATERULE'); + parser.pushKeys([sourceKey, destinationKey]); + parser.push('AGGREGATION', aggregationType, bucketDuration.toString()); + if (alignTimestamp !== undefined) { + parser.push(alignTimestamp.toString()); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=CREATERULE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/CREATERULE.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/CREATERULE.js.map new file mode 100644 index 0000000..44fa4d1 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/CREATERULE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CREATERULE.js","sourceRoot":"","sources":["../../../lib/commands/CREATERULE.ts"],"names":[],"mappings":";;;AAGa,QAAA,4BAA4B,GAAG;IAC1C,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd;;MAEE;IACF,SAAS,EAAE,UAAU;IACrB;;MAEE;IACF,SAAS,EAAE,UAAU;IACrB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;CACF,CAAC;AAIX,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;;;OAQG;IACH,YAAY,CACV,MAAqB,EACrB,SAAwB,EACxB,cAA6B,EAC7B,eAA0C,EAC1C,cAAsB,EACtB,cAAuB;QAEvB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7B,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEvE,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/DECRBY.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/DECRBY.d.ts new file mode 100644 index 0000000..eaf3ba5 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/DECRBY.d.ts @@ -0,0 +1,11 @@ +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Decreases the value of a time series by a given amount + * @param args - Arguments passed to the parseIncrByArguments function + */ + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, value: number, options?: import("./INCRBY").TsIncrByOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; +}; +export default _default; +//# sourceMappingURL=DECRBY.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/DECRBY.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/DECRBY.d.ts.map new file mode 100644 index 0000000..1fae33a --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/DECRBY.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"DECRBY.d.ts","sourceRoot":"","sources":["../../../lib/commands/DECRBY.ts"],"names":[],"mappings":";;IAKE;;;OAGG;;;;AALL,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/DECRBY.js b/back/node_modules/@redis/time-series/dist/lib/commands/DECRBY.js new file mode 100644 index 0000000..7d370f7 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/DECRBY.js @@ -0,0 +1,40 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const INCRBY_1 = __importStar(require("./INCRBY")); +exports.default = { + IS_READ_ONLY: INCRBY_1.default.IS_READ_ONLY, + /** + * Decreases the value of a time series by a given amount + * @param args - Arguments passed to the parseIncrByArguments function + */ + parseCommand(...args) { + const parser = args[0]; + parser.push('TS.DECRBY'); + (0, INCRBY_1.parseIncrByArguments)(...args); + }, + transformReply: INCRBY_1.default.transformReply +}; +//# sourceMappingURL=DECRBY.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/DECRBY.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/DECRBY.js.map new file mode 100644 index 0000000..c6af430 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/DECRBY.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DECRBY.js","sourceRoot":"","sources":["../../../lib/commands/DECRBY.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,mDAAwD;AAExD,kBAAe;IACb,YAAY,EAAE,gBAAM,CAAC,YAAY;IACjC;;;OAGG;IACH,YAAY,CAAC,GAAG,IAA6C;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEvB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,IAAA,6BAAoB,EAAC,GAAG,IAAI,CAAC,CAAC;IAChC,CAAC;IACD,cAAc,EAAE,gBAAM,CAAC,cAAc;CACX,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/DEL.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/DEL.d.ts new file mode 100644 index 0000000..f391cc5 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/DEL.d.ts @@ -0,0 +1,17 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { Timestamp } from './helpers'; +import { RedisArgument, NumberReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Deletes samples between two timestamps from a time series + * @param parser - The command parser + * @param key - The key name of the time series + * @param fromTimestamp - Start timestamp to delete from + * @param toTimestamp - End timestamp to delete until + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, fromTimestamp: Timestamp, toTimestamp: Timestamp) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=DEL.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/DEL.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/DEL.d.ts.map new file mode 100644 index 0000000..a90e3bf --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/DEL.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"DEL.d.ts","sourceRoot":"","sources":["../../../lib/commands/DEL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,SAAS,EAA8B,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAY,MAAM,mCAAmC,CAAC;;;IAIvF;;;;;;OAMG;gDACkB,aAAa,OAAO,aAAa,iBAAiB,SAAS,eAAe,SAAS;mCAK1D,WAAW;;AAd3D,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/DEL.js b/back/node_modules/@redis/time-series/dist/lib/commands/DEL.js new file mode 100644 index 0000000..2cb8ef2 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/DEL.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const helpers_1 = require("./helpers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Deletes samples between two timestamps from a time series + * @param parser - The command parser + * @param key - The key name of the time series + * @param fromTimestamp - Start timestamp to delete from + * @param toTimestamp - End timestamp to delete until + */ + parseCommand(parser, key, fromTimestamp, toTimestamp) { + parser.push('TS.DEL'); + parser.pushKey(key); + parser.push((0, helpers_1.transformTimestampArgument)(fromTimestamp), (0, helpers_1.transformTimestampArgument)(toTimestamp)); + }, + transformReply: undefined +}; +//# sourceMappingURL=DEL.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/DEL.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/DEL.js.map new file mode 100644 index 0000000..2b242ba --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/DEL.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DEL.js","sourceRoot":"","sources":["../../../lib/commands/DEL.ts"],"names":[],"mappings":";;AACA,uCAAkE;AAGlE,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,aAAwB,EAAE,WAAsB;QACtG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAA,oCAA0B,EAAC,aAAa,CAAC,EAAE,IAAA,oCAA0B,EAAC,WAAW,CAAC,CAAC,CAAC;IAClG,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/DELETERULE.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/DELETERULE.d.ts new file mode 100644 index 0000000..4ab77df --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/DELETERULE.d.ts @@ -0,0 +1,15 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, SimpleStringReply } from '@redis/client/dist/lib/RESP/types'; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Deletes a compaction rule between source and destination time series + * @param parser - The command parser + * @param sourceKey - The source time series key + * @param destinationKey - The destination time series key + */ + readonly parseCommand: (this: void, parser: CommandParser, sourceKey: RedisArgument, destinationKey: RedisArgument) => void; + readonly transformReply: () => SimpleStringReply<'OK'>; +}; +export default _default; +//# sourceMappingURL=DELETERULE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/DELETERULE.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/DELETERULE.d.ts.map new file mode 100644 index 0000000..d3495ca --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/DELETERULE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"DELETERULE.d.ts","sourceRoot":"","sources":["../../../lib/commands/DELETERULE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,mCAAmC,CAAC;;;IAI5F;;;;;OAKG;gDACkB,aAAa,aAAa,aAAa,kBAAkB,aAAa;mCAI7C,kBAAkB,IAAI,CAAC;;AAZvE,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/DELETERULE.js b/back/node_modules/@redis/time-series/dist/lib/commands/DELETERULE.js new file mode 100644 index 0000000..19b68a9 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/DELETERULE.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: false, + /** + * Deletes a compaction rule between source and destination time series + * @param parser - The command parser + * @param sourceKey - The source time series key + * @param destinationKey - The destination time series key + */ + parseCommand(parser, sourceKey, destinationKey) { + parser.push('TS.DELETERULE'); + parser.pushKeys([sourceKey, destinationKey]); + }, + transformReply: undefined +}; +//# sourceMappingURL=DELETERULE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/DELETERULE.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/DELETERULE.js.map new file mode 100644 index 0000000..304e004 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/DELETERULE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DELETERULE.js","sourceRoot":"","sources":["../../../lib/commands/DELETERULE.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,SAAwB,EAAE,cAA6B;QACzF,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7B,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,cAAc,EAAE,SAAqD;CAC3C,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/GET.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/GET.d.ts new file mode 100644 index 0000000..e2e88f0 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/GET.d.ts @@ -0,0 +1,28 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, TuplesReply, NumberReply, DoubleReply, UnwrapReply, Resp2Reply } from '@redis/client/dist/lib/RESP/types'; +export interface TsGetOptions { + LATEST?: boolean; +} +export type TsGetReply = TuplesReply<[]> | TuplesReply<[NumberReply, DoubleReply]>; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Gets the last sample of a time series + * @param parser - The command parser + * @param key - The key name of the time series + * @param options - Optional parameters for the command + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, options?: TsGetOptions) => void; + readonly transformReply: { + readonly 2: (this: void, reply: UnwrapReply>) => { + timestamp: NumberReply; + value: number; + } | null; + readonly 3: (this: void, reply: UnwrapReply) => { + timestamp: NumberReply; + value: DoubleReply; + } | null; + }; +}; +export default _default; +//# sourceMappingURL=GET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/GET.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/GET.d.ts.map new file mode 100644 index 0000000..1959755 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/GET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../lib/commands/GET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAW,MAAM,mCAAmC,CAAC;AAE3I,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;;;IAIjF;;;;;OAKG;gDACkB,aAAa,OAAO,aAAa,YAAY,YAAY;;wCASnE,YAAY,WAAW,UAAU,CAAC,CAAC;;;;wCAMnC,YAAY,UAAU,CAAC;;;;;;AAvBpC,wBA8B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/GET.js b/back/node_modules/@redis/time-series/dist/lib/commands/GET.js new file mode 100644 index 0000000..f4feefe --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/GET.js @@ -0,0 +1,33 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + IS_READ_ONLY: true, + /** + * Gets the last sample of a time series + * @param parser - The command parser + * @param key - The key name of the time series + * @param options - Optional parameters for the command + */ + parseCommand(parser, key, options) { + parser.push('TS.GET'); + parser.pushKey(key); + if (options?.LATEST) { + parser.push('LATEST'); + } + }, + transformReply: { + 2(reply) { + return reply.length === 0 ? null : { + timestamp: reply[0], + value: Number(reply[1]) + }; + }, + 3(reply) { + return reply.length === 0 ? null : { + timestamp: reply[0], + value: reply[1] + }; + } + } +}; +//# sourceMappingURL=GET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/GET.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/GET.js.map new file mode 100644 index 0000000..02e6851 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/GET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../lib/commands/GET.ts"],"names":[],"mappings":";;AASA,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAkB,EAAE,OAAsB;QAC5E,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,cAAc,EAAE;QACd,CAAC,CAAC,KAA0C;YAC1C,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;gBACnB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACxB,CAAC;QACJ,CAAC;QACD,CAAC,CAAC,KAA8B;YAC9B,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;gBACnB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;aAChB,CAAC;QACJ,CAAC;KACF;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/INCRBY.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/INCRBY.d.ts new file mode 100644 index 0000000..96c2ffa --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/INCRBY.d.ts @@ -0,0 +1,31 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument, NumberReply } from '@redis/client/dist/lib/RESP/types'; +import { Timestamp, Labels } from './helpers'; +import { TsIgnoreOptions } from './ADD'; +export interface TsIncrByOptions { + TIMESTAMP?: Timestamp; + RETENTION?: number; + UNCOMPRESSED?: boolean; + CHUNK_SIZE?: number; + LABELS?: Labels; + IGNORE?: TsIgnoreOptions; +} +/** + * Parses arguments for incrementing a time series value + * @param parser - The command parser + * @param key - The key name of the time series + * @param value - The value to increment by + * @param options - Optional parameters for the command + */ +export declare function parseIncrByArguments(parser: CommandParser, key: RedisArgument, value: number, options?: TsIncrByOptions): void; +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Increases the value of a time series by a given amount + * @param args - Arguments passed to the {@link parseIncrByArguments} function + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, value: number, options?: TsIncrByOptions | undefined) => void; + readonly transformReply: () => NumberReply; +}; +export default _default; +//# sourceMappingURL=INCRBY.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/INCRBY.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/INCRBY.d.ts.map new file mode 100644 index 0000000..77488b4 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/INCRBY.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"INCRBY.d.ts","sourceRoot":"","sources":["../../../lib/commands/INCRBY.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAW,MAAM,mCAAmC,CAAC;AACxF,OAAO,EAAE,SAAS,EAA8E,MAAM,EAA4C,MAAM,WAAW,CAAC;AACpK,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAExC,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,eAAe,QAoB1B;;;IAIC;;;OAGG;;mCAO2C,WAAW;;AAZ3D,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/INCRBY.js b/back/node_modules/@redis/time-series/dist/lib/commands/INCRBY.js new file mode 100644 index 0000000..f836e22 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/INCRBY.js @@ -0,0 +1,40 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseIncrByArguments = void 0; +const helpers_1 = require("./helpers"); +/** + * Parses arguments for incrementing a time series value + * @param parser - The command parser + * @param key - The key name of the time series + * @param value - The value to increment by + * @param options - Optional parameters for the command + */ +function parseIncrByArguments(parser, key, value, options) { + parser.pushKey(key); + parser.push(value.toString()); + if (options?.TIMESTAMP !== undefined && options?.TIMESTAMP !== null) { + parser.push('TIMESTAMP', (0, helpers_1.transformTimestampArgument)(options.TIMESTAMP)); + } + (0, helpers_1.parseRetentionArgument)(parser, options?.RETENTION); + if (options?.UNCOMPRESSED) { + parser.push('UNCOMPRESSED'); + } + (0, helpers_1.parseChunkSizeArgument)(parser, options?.CHUNK_SIZE); + (0, helpers_1.parseLabelsArgument)(parser, options?.LABELS); + (0, helpers_1.parseIgnoreArgument)(parser, options?.IGNORE); +} +exports.parseIncrByArguments = parseIncrByArguments; +exports.default = { + IS_READ_ONLY: false, + /** + * Increases the value of a time series by a given amount + * @param args - Arguments passed to the {@link parseIncrByArguments} function + */ + parseCommand(...args) { + const parser = args[0]; + parser.push('TS.INCRBY'); + parseIncrByArguments(...args); + }, + transformReply: undefined +}; +//# sourceMappingURL=INCRBY.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/INCRBY.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/INCRBY.js.map new file mode 100644 index 0000000..540ef11 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/INCRBY.js.map @@ -0,0 +1 @@ +{"version":3,"file":"INCRBY.js","sourceRoot":"","sources":["../../../lib/commands/INCRBY.ts"],"names":[],"mappings":";;;AAEA,uCAAoK;AAYpK;;;;;;GAMG;AACH,SAAgB,oBAAoB,CAClC,MAAqB,EACrB,GAAkB,EAClB,KAAa,EACb,OAAyB;IAEzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE9B,IAAI,OAAO,EAAE,SAAS,KAAK,SAAS,IAAI,OAAO,EAAE,SAAS,KAAK,IAAI,EAAE,CAAC;QACpE,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAA,oCAA0B,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,IAAA,gCAAsB,EAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAEnD,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9B,CAAC;IAED,IAAA,gCAAsB,EAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAEpD,IAAA,6BAAmB,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAE7C,IAAA,6BAAmB,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC;AAxBD,oDAwBC;AAED,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;OAGG;IACH,YAAY,CAAC,GAAG,IAA6C;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEvB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,oBAAoB,CAAC,GAAG,IAAI,CAAC,CAAC;IAChC,CAAC;IACD,cAAc,EAAE,SAAyC;CAC/B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/INFO.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/INFO.d.ts new file mode 100644 index 0000000..15103da --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/INFO.d.ts @@ -0,0 +1,77 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { ArrayReply, BlobStringReply, DoubleReply, NumberReply, ReplyUnion, SimpleStringReply, TypeMapping } from "@redis/client/dist/lib/RESP/types"; +import { TimeSeriesDuplicatePolicies } from "./helpers"; +import { TimeSeriesAggregationType } from "./CREATERULE"; +export type InfoRawReplyTypes = SimpleStringReply | NumberReply | TimeSeriesDuplicatePolicies | null | Array<[name: BlobStringReply, value: BlobStringReply]> | BlobStringReply | Array<[key: BlobStringReply, timeBucket: NumberReply, aggregationType: TimeSeriesAggregationType]> | DoubleReply; +export type InfoRawReply = Array; +export type InfoRawReplyOld = [ + 'totalSamples', + NumberReply, + 'memoryUsage', + NumberReply, + 'firstTimestamp', + NumberReply, + 'lastTimestamp', + NumberReply, + 'retentionTime', + NumberReply, + 'chunkCount', + NumberReply, + 'chunkSize', + NumberReply, + 'chunkType', + SimpleStringReply, + 'duplicatePolicy', + TimeSeriesDuplicatePolicies | null, + 'labels', + ArrayReply<[name: BlobStringReply, value: BlobStringReply]>, + 'sourceKey', + BlobStringReply | null, + 'rules', + ArrayReply<[key: BlobStringReply, timeBucket: NumberReply, aggregationType: TimeSeriesAggregationType]>, + 'ignoreMaxTimeDiff', + NumberReply, + 'ignoreMaxValDiff', + DoubleReply +]; +export interface InfoReply { + totalSamples: NumberReply; + memoryUsage: NumberReply; + firstTimestamp: NumberReply; + lastTimestamp: NumberReply; + retentionTime: NumberReply; + chunkCount: NumberReply; + chunkSize: NumberReply; + chunkType: SimpleStringReply; + duplicatePolicy: TimeSeriesDuplicatePolicies | null; + labels: Array<{ + name: BlobStringReply; + value: BlobStringReply; + }>; + sourceKey: BlobStringReply | null; + rules: Array<{ + key: BlobStringReply; + timeBucket: NumberReply; + aggregationType: TimeSeriesAggregationType; + }>; + /** Added in 7.4 */ + ignoreMaxTimeDiff: NumberReply; + /** Added in 7.4 */ + ignoreMaxValDiff: DoubleReply; +} +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Gets information about a time series + * @param parser - The command parser + * @param key - The key name of the time series + */ + readonly parseCommand: (this: void, parser: CommandParser, key: string) => void; + readonly transformReply: { + readonly 2: (this: void, reply: InfoRawReply, _: any, typeMapping?: TypeMapping) => InfoReply; + readonly 3: () => ReplyUnion; + }; + readonly unstableResp3: true; +}; +export default _default; +//# sourceMappingURL=INFO.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/INFO.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/INFO.d.ts.map new file mode 100644 index 0000000..d9ab955 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/INFO.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"INFO.d.ts","sourceRoot":"","sources":["../../../lib/commands/INFO.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAW,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAC/J,OAAO,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAGzD,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,GAC/C,WAAW,GACX,2BAA2B,GAAG,IAAI,GAClC,KAAK,CAAC,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,GACtD,eAAe,GACf,KAAK,CAAC,CAAC,GAAG,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,yBAAyB,CAAC,CAAC,GAClG,WAAW,CAAA;AAEb,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAEpD,MAAM,MAAM,eAAe,GAAG;IAC5B,cAAc;IACd,WAAW;IACX,aAAa;IACb,WAAW;IACX,gBAAgB;IAChB,WAAW;IACX,eAAe;IACf,WAAW;IACX,eAAe;IACf,WAAW;IACX,YAAY;IACZ,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,iBAAiB;IACjB,iBAAiB;IACjB,2BAA2B,GAAG,IAAI;IAClC,QAAQ;IACR,UAAU,CAAC,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;IAC3D,WAAW;IACX,eAAe,GAAG,IAAI;IACtB,OAAO;IACP,UAAU,CAAC,CAAC,GAAG,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,yBAAyB,CAAC,CAAC;IACvG,mBAAmB;IACnB,WAAW;IACX,kBAAkB;IAClB,WAAW;CACZ,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,WAAW,CAAC;IAC1B,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,WAAW,CAAC;IAC5B,aAAa,EAAE,WAAW,CAAC;IAC3B,aAAa,EAAE,WAAW,CAAC;IAC3B,UAAU,EAAE,WAAW,CAAC;IACxB,SAAS,EAAE,WAAW,CAAC;IACvB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,eAAe,EAAE,2BAA2B,GAAG,IAAI,CAAC;IACpD,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,eAAe,CAAC;QACtB,KAAK,EAAE,eAAe,CAAC;KACxB,CAAC,CAAC;IACH,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;IAClC,KAAK,EAAE,KAAK,CAAC;QACX,GAAG,EAAE,eAAe,CAAC;QACrB,UAAU,EAAE,WAAW,CAAC;QACxB,eAAe,EAAE,yBAAyB,CAAA;KAC3C,CAAC,CAAC;IACH,mBAAmB;IACnB,iBAAiB,EAAE,WAAW,CAAC;IAC/B,mBAAmB;IACnB,gBAAgB,EAAE,WAAW,CAAC;CAC/B;;;IAIG;;;;OAIG;gDACkB,aAAa,OAAO,MAAM;;4EAKH,WAAW,KAAG,SAAS;0BA6ChC,UAAU;;;;AAzDjD,wBA4D+B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/INFO.js b/back/node_modules/@redis/time-series/dist/lib/commands/INFO.js new file mode 100644 index 0000000..fbfe9e9 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/INFO.js @@ -0,0 +1,58 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers"); +exports.default = { + IS_READ_ONLY: true, + /** + * Gets information about a time series + * @param parser - The command parser + * @param key - The key name of the time series + */ + parseCommand(parser, key) { + parser.push('TS.INFO'); + parser.pushKey(key); + }, + transformReply: { + 2: (reply, _, typeMapping) => { + const ret = {}; + for (let i = 0; i < reply.length; i += 2) { + const key = reply[i].toString(); + switch (key) { + case 'totalSamples': + case 'memoryUsage': + case 'firstTimestamp': + case 'lastTimestamp': + case 'retentionTime': + case 'chunkCount': + case 'chunkSize': + case 'chunkType': + case 'duplicatePolicy': + case 'sourceKey': + case 'ignoreMaxTimeDiff': + ret[key] = reply[i + 1]; + break; + case 'labels': + ret[key] = reply[i + 1].map(([name, value]) => ({ + name, + value + })); + break; + case 'rules': + ret[key] = reply[i + 1].map(([key, timeBucket, aggregationType]) => ({ + key, + timeBucket, + aggregationType + })); + break; + case 'ignoreMaxValDiff': + ret[key] = generic_transformers_1.transformDoubleReply[2](reply[27], undefined, typeMapping); + break; + } + } + return ret; + }, + 3: undefined + }, + unstableResp3: true +}; +//# sourceMappingURL=INFO.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/INFO.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/INFO.js.map new file mode 100644 index 0000000..0696668 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/INFO.js.map @@ -0,0 +1 @@ +{"version":3,"file":"INFO.js","sourceRoot":"","sources":["../../../lib/commands/INFO.ts"],"names":[],"mappings":";;AAIA,+FAA4F;AAqE5F,kBAAe;IACX,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAW;QAC7C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAAmB,EAAE,CAAC,EAAE,WAAyB,EAAa,EAAE;YAClE,MAAM,GAAG,GAAG,EAAS,CAAC;YAEtB,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,MAAM,GAAG,GAAI,KAAK,CAAC,CAAC,CAAS,CAAC,QAAQ,EAAE,CAAC;gBAEzC,QAAQ,GAAG,EAAE,CAAC;oBACZ,KAAK,cAAc,CAAC;oBACpB,KAAK,aAAa,CAAC;oBACnB,KAAK,gBAAgB,CAAC;oBACtB,KAAK,eAAe,CAAC;oBACrB,KAAK,eAAe,CAAC;oBACrB,KAAK,YAAY,CAAC;oBAClB,KAAK,WAAW,CAAC;oBACjB,KAAK,WAAW,CAAC;oBACjB,KAAK,iBAAiB,CAAC;oBACvB,KAAK,WAAW,CAAC;oBACjB,KAAK,mBAAmB;wBACtB,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;wBACtB,MAAM;oBACR,KAAK,QAAQ;wBACX,GAAG,CAAC,GAAG,CAAC,GAAI,KAAK,CAAC,CAAC,GAAC,CAAC,CAA4D,CAAC,GAAG,CACnF,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;4BAClB,IAAI;4BACJ,KAAK;yBACN,CAAC,CACH,CAAC;wBACF,MAAM;oBACR,KAAK,OAAO;wBACV,GAAG,CAAC,GAAG,CAAC,GAAI,KAAK,CAAC,CAAC,GAAC,CAAC,CAAwG,CAAC,GAAG,CAC/H,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,eAAe,CAAC,EAAE,EAAE,CAAC,CAAC;4BACvC,GAAG;4BACH,UAAU;4BACV,eAAe;yBAChB,CAAC,CACH,CAAC;wBACF,MAAM;oBACR,KAAK,kBAAkB;wBACrB,GAAG,CAAC,GAAG,CAAC,GAAG,2CAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAA+B,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;wBACpG,MAAM;gBACV,CAAC;YACH,CAAC;YAED,OAAO,GAAG,CAAC;QACb,CAAC;QACD,CAAC,EAAE,SAAwC;KAC5C;IACD,aAAa,EAAE,IAAI;CACO,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/INFO_DEBUG.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/INFO_DEBUG.d.ts new file mode 100644 index 0000000..5ae76d7 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/INFO_DEBUG.d.ts @@ -0,0 +1,42 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { BlobStringReply, NumberReply, SimpleStringReply, TypeMapping, ReplyUnion } from "@redis/client/dist/lib/RESP/types"; +import { InfoRawReplyTypes, InfoReply } from "./INFO"; +type chunkType = Array<[ + 'startTimestamp', + NumberReply, + 'endTimestamp', + NumberReply, + 'samples', + NumberReply, + 'size', + NumberReply, + 'bytesPerSample', + SimpleStringReply +]>; +export type InfoDebugRawReplyType = InfoRawReplyTypes | chunkType; +export interface InfoDebugReply extends InfoReply { + keySelfName: BlobStringReply; + chunks: Array<{ + startTimestamp: NumberReply; + endTimestamp: NumberReply; + samples: NumberReply; + size: NumberReply; + bytesPerSample: SimpleStringReply; + }>; +} +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Gets debug information about a time series + * @param parser - The command parser + * @param key - The key name of the time series + */ + readonly parseCommand: (this: void, parser: CommandParser, key: string) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [...InfoRawReplyTypes[], "keySelfName", BlobStringReply, "Chunks", chunkType], _: any, typeMapping?: TypeMapping) => InfoDebugReply; + readonly 3: () => ReplyUnion; + }; + readonly unstableResp3: true; +}; +export default _default; +//# sourceMappingURL=INFO_DEBUG.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/INFO_DEBUG.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/INFO_DEBUG.d.ts.map new file mode 100644 index 0000000..f90d0a7 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/INFO_DEBUG.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"INFO_DEBUG.d.ts","sourceRoot":"","sources":["../../../lib/commands/INFO_DEBUG.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAW,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACtI,OAAa,EAAgB,iBAAiB,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAE1E,KAAK,SAAS,GAAG,KAAK,CAAC;IACrB,gBAAgB;IAChB,WAAW;IACX,cAAc;IACd,WAAW;IACX,SAAS;IACT,WAAW;IACX,MAAM;IACN,WAAW;IACX,gBAAgB;IAChB,iBAAiB;CAClB,CAAC,CAAC;AAUH,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GAAG,SAAS,CAAA;AAEjE,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C,WAAW,EAAE,eAAe,CAAC;IAC7B,MAAM,EAAE,KAAK,CAAC;QACZ,cAAc,EAAE,WAAW,CAAC;QAC5B,YAAY,EAAE,WAAW,CAAC;QAC1B,OAAO,EAAE,WAAW,CAAC;QACrB,IAAI,EAAE,WAAW,CAAC;QAClB,cAAc,EAAE,iBAAiB,CAAC;KACnC,CAAC,CAAC;CACJ;;;IAIC;;;;OAIG;gDACkB,aAAa,OAAO,MAAM;;qJAKE,WAAW,KAAG,cAAc;0BA4B1C,UAAU;;;;AAxC/C,wBA2C6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/INFO_DEBUG.js b/back/node_modules/@redis/time-series/dist/lib/commands/INFO_DEBUG.js new file mode 100644 index 0000000..3ca9890 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/INFO_DEBUG.js @@ -0,0 +1,46 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const INFO_1 = __importDefault(require("./INFO")); +exports.default = { + IS_READ_ONLY: INFO_1.default.IS_READ_ONLY, + /** + * Gets debug information about a time series + * @param parser - The command parser + * @param key - The key name of the time series + */ + parseCommand(parser, key) { + INFO_1.default.parseCommand(parser, key); + parser.push('DEBUG'); + }, + transformReply: { + 2: (reply, _, typeMapping) => { + const ret = INFO_1.default.transformReply[2](reply, _, typeMapping); + for (let i = 0; i < reply.length; i += 2) { + const key = reply[i].toString(); + switch (key) { + case 'keySelfName': { + ret[key] = reply[i + 1]; + break; + } + case 'Chunks': { + ret['chunks'] = reply[i + 1].map(chunk => ({ + startTimestamp: chunk[1], + endTimestamp: chunk[3], + samples: chunk[5], + size: chunk[7], + bytesPerSample: chunk[9] + })); + break; + } + } + } + return ret; + }, + 3: undefined + }, + unstableResp3: true +}; +//# sourceMappingURL=INFO_DEBUG.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/INFO_DEBUG.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/INFO_DEBUG.js.map new file mode 100644 index 0000000..eb746c2 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/INFO_DEBUG.js.map @@ -0,0 +1 @@ +{"version":3,"file":"INFO_DEBUG.js","sourceRoot":"","sources":["../../../lib/commands/INFO_DEBUG.ts"],"names":[],"mappings":";;;;;AAEA,kDAA0E;AAoC1E,kBAAe;IACb,YAAY,EAAE,cAAI,CAAC,YAAY;IAC/B;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,GAAW;QAC7C,cAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,CAAC,KAAwB,EAAE,CAAC,EAAE,WAAyB,EAAkB,EAAE;YAC5E,MAAM,GAAG,GAAG,cAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAgC,EAAE,CAAC,EAAE,WAAW,CAAQ,CAAC;YAE5F,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,MAAM,GAAG,GAAI,KAAK,CAAC,CAAC,CAAS,CAAC,QAAQ,EAAE,CAAC;gBAEzC,QAAQ,GAAG,EAAE,CAAC;oBACZ,KAAK,aAAa,CAAC,CAAC,CAAC;wBACnB,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;wBACtB,MAAM;oBACR,CAAC;oBACD,KAAK,QAAQ,CAAC,CAAC,CAAC;wBACd,GAAG,CAAC,QAAQ,CAAC,GAAI,KAAK,CAAC,CAAC,GAAC,CAAC,CAAe,CAAC,GAAG,CAC3C,KAAK,CAAC,EAAE,CAAC,CAAC;4BACR,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;4BACxB,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;4BACtB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;4BACjB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;4BACd,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;yBACzB,CAAC,CACH,CAAC;wBACF,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,GAAG,CAAC;QACb,CAAC;QACD,CAAC,EAAE,SAAwC;KAC5C;IACD,aAAa,EAAE,IAAI;CACO,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MADD.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/MADD.d.ts new file mode 100644 index 0000000..7b0c1d6 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MADD.d.ts @@ -0,0 +1,20 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { Timestamp } from './helpers'; +import { ArrayReply, NumberReply, SimpleErrorReply } from '@redis/client/dist/lib/RESP/types'; +export interface TsMAddSample { + key: string; + timestamp: Timestamp; + value: number; +} +declare const _default: { + readonly IS_READ_ONLY: false; + /** + * Adds multiple samples to multiple time series + * @param parser - The command parser + * @param toAdd - Array of samples to add to different time series + */ + readonly parseCommand: (this: void, parser: CommandParser, toAdd: Array) => void; + readonly transformReply: () => ArrayReply; +}; +export default _default; +//# sourceMappingURL=MADD.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MADD.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/MADD.d.ts.map new file mode 100644 index 0000000..c2646f7 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MADD.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MADD.d.ts","sourceRoot":"","sources":["../../../lib/commands/MADD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,SAAS,EAA8B,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAW,MAAM,mCAAmC,CAAC;AAEvG,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;;;IAIC;;;;OAIG;gDACkB,aAAa,SAAS,MAAM,YAAY,CAAC;mCAQhB,WAAW,WAAW,GAAG,gBAAgB,CAAC;;AAf1F,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MADD.js b/back/node_modules/@redis/time-series/dist/lib/commands/MADD.js new file mode 100644 index 0000000..f701322 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MADD.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const helpers_1 = require("./helpers"); +exports.default = { + IS_READ_ONLY: false, + /** + * Adds multiple samples to multiple time series + * @param parser - The command parser + * @param toAdd - Array of samples to add to different time series + */ + parseCommand(parser, toAdd) { + parser.push('TS.MADD'); + for (const { key, timestamp, value } of toAdd) { + parser.pushKey(key); + parser.push((0, helpers_1.transformTimestampArgument)(timestamp), value.toString()); + } + }, + transformReply: undefined +}; +//# sourceMappingURL=MADD.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MADD.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/MADD.js.map new file mode 100644 index 0000000..c8aa8a0 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MADD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MADD.js","sourceRoot":"","sources":["../../../lib/commands/MADD.ts"],"names":[],"mappings":";;AACA,uCAAkE;AASlE,kBAAe;IACb,YAAY,EAAE,KAAK;IACnB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,KAA0B;QAC5D,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEvB,KAAK,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,KAAK,EAAE,CAAC;YAC9C,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,IAAA,oCAA0B,EAAC,SAAS,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IACD,cAAc,EAAE,SAAwE;CAC9D,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MGET.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/MGET.d.ts new file mode 100644 index 0000000..7278748 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MGET.d.ts @@ -0,0 +1,55 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { BlobStringReply, ArrayReply, Resp2Reply, MapReply, TuplesReply, TypeMapping } from '@redis/client/dist/lib/RESP/types'; +import { SampleRawReply } from './helpers'; +import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers'; +export interface TsMGetOptions { + LATEST?: boolean; +} +/** + * Adds LATEST argument to command if specified + * @param parser - The command parser + * @param latest - Whether to include the LATEST argument + */ +export declare function parseLatestArgument(parser: CommandParser, latest?: boolean): void; +/** + * Adds FILTER argument to command + * @param parser - The command parser + * @param filter - Filter to match time series keys + */ +export declare function parseFilterArgument(parser: CommandParser, filter: RedisVariadicArgument): void; +export type MGetRawReply2 = ArrayReply +]>>; +export type MGetRawReply3 = MapReply>; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Gets the last samples matching a specific filter from multiple time series + * @param parser - The command parser + * @param filter - Filter to match time series keys + * @param options - Optional parameters for the command + */ + readonly parseCommand: (this: void, parser: CommandParser, filter: RedisVariadicArgument, options?: TsMGetOptions) => void; + readonly transformReply: { + readonly 2: (this: void, reply: MGetRawReply2, _: any, typeMapping?: TypeMapping) => MapReply, { + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }; + }>; + readonly 3: (this: void, reply: MGetRawReply3) => MapReply, { + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }>; + }; +}; +export default _default; +//# sourceMappingURL=MGET.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MGET.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/MGET.d.ts.map new file mode 100644 index 0000000..857b6dd --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MGET.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MGET.d.ts","sourceRoot":"","sources":["../../../lib/commands/MGET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAW,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AACzI,OAAO,EAAoC,cAAc,EAAwB,MAAM,WAAW,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAE7F,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,OAAO,QAI1E;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,qBAAqB,QAGvF;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CACpC,WAAW,CAAC;IACV,GAAG,EAAE,eAAe;IACpB,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,UAAU,CAAC,cAAc,CAAC;CACnC,CAAC,CACH,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,QAAQ,CAClC,eAAe,EACf,WAAW,CAAC;IACV,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,cAAc;CACvB,CAAC,CACH,CAAC;;;;IAKA;;;;;OAKG;gDACkB,aAAa,UAAU,qBAAqB,YAAY,aAAa;;6EAM/C,WAAW;;;;;;;;;;;;;;AAfxD,wBA8B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MGET.js b/back/node_modules/@redis/time-series/dist/lib/commands/MGET.js new file mode 100644 index 0000000..4b47fc3 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MGET.js @@ -0,0 +1,57 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseFilterArgument = exports.parseLatestArgument = void 0; +const helpers_1 = require("./helpers"); +/** + * Adds LATEST argument to command if specified + * @param parser - The command parser + * @param latest - Whether to include the LATEST argument + */ +function parseLatestArgument(parser, latest) { + if (latest) { + parser.push('LATEST'); + } +} +exports.parseLatestArgument = parseLatestArgument; +/** + * Adds FILTER argument to command + * @param parser - The command parser + * @param filter - Filter to match time series keys + */ +function parseFilterArgument(parser, filter) { + parser.push('FILTER'); + parser.pushVariadic(filter); +} +exports.parseFilterArgument = parseFilterArgument; +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Gets the last samples matching a specific filter from multiple time series + * @param parser - The command parser + * @param filter - Filter to match time series keys + * @param options - Optional parameters for the command + */ + parseCommand(parser, filter, options) { + parser.push('TS.MGET'); + parseLatestArgument(parser, options?.LATEST); + parseFilterArgument(parser, filter); + }, + transformReply: { + 2(reply, _, typeMapping) { + return (0, helpers_1.resp2MapToValue)(reply, ([, , sample]) => { + return { + sample: helpers_1.transformSampleReply[2](sample) + }; + }, typeMapping); + }, + 3(reply) { + return (0, helpers_1.resp3MapToValue)(reply, ([, sample]) => { + return { + sample: helpers_1.transformSampleReply[3](sample) + }; + }); + } + } +}; +//# sourceMappingURL=MGET.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MGET.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/MGET.js.map new file mode 100644 index 0000000..dbb8878 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MGET.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MGET.js","sourceRoot":"","sources":["../../../lib/commands/MGET.ts"],"names":[],"mappings":";;;AAEA,uCAAmG;AAOnG;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,MAAqB,EAAE,MAAgB;IACzE,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAJD,kDAIC;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,MAAqB,EAAE,MAA6B;IACtF,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtB,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAHD,kDAGC;AAkBD,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,MAA6B,EAAE,OAAuB;QACxF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7C,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IACD,cAAc,EAAE;QACd,CAAC,CAAC,KAAoB,EAAE,CAAC,EAAE,WAAyB;YAClD,OAAO,IAAA,yBAAe,EAAC,KAAK,EAAE,CAAC,CAAC,EAAC,EAAE,MAAM,CAAC,EAAE,EAAE;gBAC5C,OAAO;oBACL,MAAM,EAAE,8BAAoB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;iBACxC,CAAC;YACJ,CAAC,EAAE,WAAW,CAAC,CAAC;QAClB,CAAC;QACD,CAAC,CAAC,KAAoB;YACpB,OAAO,IAAA,yBAAe,EAAC,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE;gBAC3C,OAAO;oBACL,MAAM,EAAE,8BAAoB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;iBACxC,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KACF;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MGET_SELECTED_LABELS.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/MGET_SELECTED_LABELS.d.ts new file mode 100644 index 0000000..e3fb70d --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MGET_SELECTED_LABELS.d.ts @@ -0,0 +1,33 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { BlobStringReply, NullReply } from '@redis/client/dist/lib/RESP/types'; +import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers'; +import { TsMGetOptions } from './MGET'; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Gets the last samples matching a specific filter with selected labels + * @param parser - The command parser + * @param filter - Filter to match time series keys + * @param selectedLabels - Labels to include in the output + * @param options - Optional parameters for the command + */ + readonly parseCommand: (this: void, parser: CommandParser, filter: RedisVariadicArgument, selectedLabels: RedisVariadicArgument, options?: TsMGetOptions) => void; + readonly transformReply: { + 2(this: void, reply: import("./MGET_WITHLABELS").MGetLabelsRawReply2>, _: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined): import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, NullReply | BlobStringReply>; + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }; + }>; + 3(this: void, reply: import("./MGET_WITHLABELS").MGetLabelsRawReply3>): import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, NullReply | BlobStringReply>; + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }>; + }; +}; +export default _default; +//# sourceMappingURL=MGET_SELECTED_LABELS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MGET_SELECTED_LABELS.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/MGET_SELECTED_LABELS.d.ts.map new file mode 100644 index 0000000..1bff33d --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MGET_SELECTED_LABELS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MGET_SELECTED_LABELS.d.ts","sourceRoot":"","sources":["../../../lib/commands/MGET_SELECTED_LABELS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAW,eAAe,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAE,aAAa,EAA4C,MAAM,QAAQ,CAAC;;;IAM/E;;;;;;OAMG;gDACkB,aAAa,UAAU,qBAAqB,kBAAkB,qBAAqB,YAAY,aAAa;;;;;;;;;;;;;;;;;;AATnI,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MGET_SELECTED_LABELS.js b/back/node_modules/@redis/time-series/dist/lib/commands/MGET_SELECTED_LABELS.js new file mode 100644 index 0000000..2f21031 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MGET_SELECTED_LABELS.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const MGET_1 = require("./MGET"); +const helpers_1 = require("./helpers"); +const MGET_WITHLABELS_1 = require("./MGET_WITHLABELS"); +exports.default = { + IS_READ_ONLY: true, + /** + * Gets the last samples matching a specific filter with selected labels + * @param parser - The command parser + * @param filter - Filter to match time series keys + * @param selectedLabels - Labels to include in the output + * @param options - Optional parameters for the command + */ + parseCommand(parser, filter, selectedLabels, options) { + parser.push('TS.MGET'); + (0, MGET_1.parseLatestArgument)(parser, options?.LATEST); + (0, helpers_1.parseSelectedLabelsArguments)(parser, selectedLabels); + (0, MGET_1.parseFilterArgument)(parser, filter); + }, + transformReply: (0, MGET_WITHLABELS_1.createTransformMGetLabelsReply)(), +}; +//# sourceMappingURL=MGET_SELECTED_LABELS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MGET_SELECTED_LABELS.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/MGET_SELECTED_LABELS.js.map new file mode 100644 index 0000000..b323d89 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MGET_SELECTED_LABELS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MGET_SELECTED_LABELS.js","sourceRoot":"","sources":["../../../lib/commands/MGET_SELECTED_LABELS.ts"],"names":[],"mappings":";;AAGA,iCAAiF;AACjF,uCAAyD;AACzD,uDAAmE;AAEnE,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;OAMG;IACH,YAAY,CAAC,MAAqB,EAAE,MAA6B,EAAE,cAAqC,EAAE,OAAuB;QAC/H,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,IAAA,0BAAmB,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAA,sCAA4B,EAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QACrD,IAAA,0BAAmB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IACD,cAAc,EAAE,IAAA,gDAA8B,GAA+B;CACnD,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MGET_WITHLABELS.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/MGET_WITHLABELS.d.ts new file mode 100644 index 0000000..ae15f06 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MGET_WITHLABELS.d.ts @@ -0,0 +1,64 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { BlobStringReply, ArrayReply, Resp2Reply, MapReply, TuplesReply, TypeMapping } from '@redis/client/dist/lib/RESP/types'; +import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers'; +import { TsMGetOptions } from './MGET'; +import { RawLabelValue, SampleRawReply } from './helpers'; +export interface TsMGetWithLabelsOptions extends TsMGetOptions { + SELECTED_LABELS?: RedisVariadicArgument; +} +export type MGetLabelsRawReply2 = ArrayReply>, + sample: Resp2Reply +]>>; +export type MGetLabelsRawReply3 = MapReply, + sample: SampleRawReply +]>>; +export declare function createTransformMGetLabelsReply(): { + 2(this: void, reply: MGetLabelsRawReply2, _: any, typeMapping?: TypeMapping): MapReply, { + labels: MapReply, T>; + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }; + }>; + 3(this: void, reply: MGetLabelsRawReply3): MapReply, { + labels: MapReply, T>; + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }>; +}; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Gets the last samples matching a specific filter with labels + * @param parser - The command parser + * @param filter - Filter to match time series keys + * @param options - Optional parameters for the command + */ + readonly parseCommand: (this: void, parser: CommandParser, filter: RedisVariadicArgument, options?: TsMGetWithLabelsOptions) => void; + readonly transformReply: { + 2(this: void, reply: MGetLabelsRawReply2>, _: any, typeMapping?: TypeMapping | undefined): MapReply, { + labels: MapReply, BlobStringReply>; + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }; + }>; + 3(this: void, reply: MGetLabelsRawReply3>): MapReply, { + labels: MapReply, BlobStringReply>; + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }>; + }; +}; +export default _default; +//# sourceMappingURL=MGET_WITHLABELS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MGET_WITHLABELS.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/MGET_WITHLABELS.d.ts.map new file mode 100644 index 0000000..5077440 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MGET_WITHLABELS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MGET_WITHLABELS.d.ts","sourceRoot":"","sources":["../../../lib/commands/MGET_WITHLABELS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAW,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AACzI,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAE,aAAa,EAA4C,MAAM,QAAQ,CAAC;AACjF,OAAO,EAAE,aAAa,EAAoC,cAAc,EAA8C,MAAM,WAAW,CAAC;AAExI,MAAM,WAAW,uBAAwB,SAAQ,aAAa;IAC5D,eAAe,CAAC,EAAE,qBAAqB,CAAC;CACzC;AAED,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,aAAa,IAAI,UAAU,CACnE,WAAW,CAAC;IACV,GAAG,EAAE,eAAe;IACpB,MAAM,EAAE,UAAU,CAChB,WAAW,CAAC;QACV,KAAK,EAAE,eAAe;QACtB,KAAK,EAAE,CAAC;KACT,CAAC,CACH;IACD,MAAM,EAAE,UAAU,CAAC,cAAc,CAAC;CACnC,CAAC,CACH,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,aAAa,IAAI,QAAQ,CACjE,eAAe,EACf,WAAW,CAAC;IACV,MAAM,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;IACpC,MAAM,EAAE,cAAc;CACvB,CAAC,CACH,CAAC;AAEF,wBAAgB,8BAA8B,CAAC,CAAC,SAAS,aAAa;yBAEzD,oBAAoB,CAAC,CAAC,wBAAmB,WAAW;;;;;;;;;;;;;;EAiBhE;;;IAIC;;;;;OAKG;gDACkB,aAAa,UAAU,qBAAqB,YAAY,uBAAuB;;;;;;;;;;;;;;;;;;AARtG,wBAe6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MGET_WITHLABELS.js b/back/node_modules/@redis/time-series/dist/lib/commands/MGET_WITHLABELS.js new file mode 100644 index 0000000..0c6f058 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MGET_WITHLABELS.js @@ -0,0 +1,43 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createTransformMGetLabelsReply = void 0; +const MGET_1 = require("./MGET"); +const helpers_1 = require("./helpers"); +function createTransformMGetLabelsReply() { + return { + 2(reply, _, typeMapping) { + return (0, helpers_1.resp2MapToValue)(reply, ([, labels, sample]) => { + return { + labels: (0, helpers_1.transformRESP2Labels)(labels), + sample: helpers_1.transformSampleReply[2](sample) + }; + }, typeMapping); + }, + 3(reply) { + return (0, helpers_1.resp3MapToValue)(reply, ([labels, sample]) => { + return { + labels, + sample: helpers_1.transformSampleReply[3](sample) + }; + }); + } + }; +} +exports.createTransformMGetLabelsReply = createTransformMGetLabelsReply; +exports.default = { + IS_READ_ONLY: true, + /** + * Gets the last samples matching a specific filter with labels + * @param parser - The command parser + * @param filter - Filter to match time series keys + * @param options - Optional parameters for the command + */ + parseCommand(parser, filter, options) { + parser.push('TS.MGET'); + (0, MGET_1.parseLatestArgument)(parser, options?.LATEST); + parser.push('WITHLABELS'); + (0, MGET_1.parseFilterArgument)(parser, filter); + }, + transformReply: createTransformMGetLabelsReply(), +}; +//# sourceMappingURL=MGET_WITHLABELS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MGET_WITHLABELS.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/MGET_WITHLABELS.js.map new file mode 100644 index 0000000..4ef9dd4 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MGET_WITHLABELS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MGET_WITHLABELS.js","sourceRoot":"","sources":["../../../lib/commands/MGET_WITHLABELS.ts"],"names":[],"mappings":";;;AAGA,iCAAiF;AACjF,uCAAwI;AA2BxI,SAAgB,8BAA8B;IAC5C,OAAO;QACL,CAAC,CAAC,KAA6B,EAAE,CAAC,EAAE,WAAyB;YAC3D,OAAO,IAAA,yBAAe,EAAC,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE;gBACnD,OAAO;oBACL,MAAM,EAAE,IAAA,8BAAoB,EAAC,MAAM,CAAC;oBACpC,MAAM,EAAE,8BAAoB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;iBACxC,CAAC;YACJ,CAAC,EAAE,WAAW,CAAC,CAAC;QAClB,CAAC;QACD,CAAC,CAAC,KAA6B;YAC7B,OAAO,IAAA,yBAAe,EAAC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE;gBACjD,OAAO;oBACL,MAAM;oBACN,MAAM,EAAE,8BAAoB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;iBACxC,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KACkC,CAAC;AACxC,CAAC;AAnBD,wEAmBC;AAED,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAqB,EAAE,MAA6B,EAAE,OAAiC;QAClG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,IAAA,0BAAmB,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,IAAA,0BAAmB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IACD,cAAc,EAAE,8BAA8B,EAAmB;CACvC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE.d.ts new file mode 100644 index 0000000..d467f71 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE.d.ts @@ -0,0 +1,45 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { ArrayReply, BlobStringReply, Resp2Reply, MapReply, TuplesReply, TypeMapping, RedisArgument } from '@redis/client/dist/lib/RESP/types'; +import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers'; +import { SampleRawReply, Timestamp } from './helpers'; +import { TsRangeOptions } from './RANGE'; +export type TsMRangeRawReply2 = ArrayReply> +]>>; +export type TsMRangeRawReply3 = MapReply +]>>; +/** + * Creates a function that parses arguments for multi-range commands + * @param command - The command name to use (TS.MRANGE or TS.MREVRANGE) + */ +export declare function createTransformMRangeArguments(command: RedisArgument): (parser: CommandParser, fromTimestamp: Timestamp, toTimestamp: Timestamp, filter: RedisVariadicArgument, options?: TsRangeOptions) => void; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Gets samples for time series matching a specific filter within a time range + * @param parser - The command parser + * @param fromTimestamp - Start timestamp for range + * @param toTimestamp - End timestamp for range + * @param filter - Filter to match time series keys + * @param options - Optional parameters for the command + */ + readonly parseCommand: (parser: CommandParser, fromTimestamp: Timestamp, toTimestamp: Timestamp, filter: RedisVariadicArgument, options?: TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: TsMRangeRawReply2, _?: any, typeMapping?: TypeMapping) => MapReply, { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]>; + readonly 3: (this: void, reply: TsMRangeRawReply3) => MapReply, { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]>; + }; +}; +export default _default; +//# sourceMappingURL=MRANGE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE.d.ts.map new file mode 100644 index 0000000..e73a898 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MRANGE.d.ts","sourceRoot":"","sources":["../../../lib/commands/MRANGE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAW,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACxJ,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAoC,cAAc,EAAE,SAAS,EAAyB,MAAM,WAAW,CAAC;AAC/G,OAAO,EAAE,cAAc,EAAuB,MAAM,SAAS,CAAC;AAG9D,MAAM,MAAM,iBAAiB,GAAG,UAAU,CACxC,WAAW,CAAC;IACV,GAAG,EAAE,eAAe;IACpB,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;CAChD,CAAC,CACH,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CACtC,eAAe,EACf,WAAW,CAAC;IACV,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,UAAU,CAAC,cAAc,CAAC;CACpC,CAAC,CACH,CAAC;AAEF;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,aAAa,YAEzD,aAAa,iBACN,SAAS,eACX,SAAS,UACd,qBAAqB,YACnB,cAAc,UAY3B;;;;IAKC;;;;;;;OAOG;;;+DAG+B,GAAG,gBAAgB,WAAW;;;;;;;;;;AAblE,wBAwB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE.js b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE.js new file mode 100644 index 0000000..35f4215 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE.js @@ -0,0 +1,44 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createTransformMRangeArguments = void 0; +const helpers_1 = require("./helpers"); +const RANGE_1 = require("./RANGE"); +const MGET_1 = require("./MGET"); +/** + * Creates a function that parses arguments for multi-range commands + * @param command - The command name to use (TS.MRANGE or TS.MREVRANGE) + */ +function createTransformMRangeArguments(command) { + return (parser, fromTimestamp, toTimestamp, filter, options) => { + parser.push(command); + (0, RANGE_1.parseRangeArguments)(parser, fromTimestamp, toTimestamp, options); + (0, MGET_1.parseFilterArgument)(parser, filter); + }; +} +exports.createTransformMRangeArguments = createTransformMRangeArguments; +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Gets samples for time series matching a specific filter within a time range + * @param parser - The command parser + * @param fromTimestamp - Start timestamp for range + * @param toTimestamp - End timestamp for range + * @param filter - Filter to match time series keys + * @param options - Optional parameters for the command + */ + parseCommand: createTransformMRangeArguments('TS.MRANGE'), + transformReply: { + 2(reply, _, typeMapping) { + return (0, helpers_1.resp2MapToValue)(reply, ([_key, _labels, samples]) => { + return helpers_1.transformSamplesReply[2](samples); + }, typeMapping); + }, + 3(reply) { + return (0, helpers_1.resp3MapToValue)(reply, ([_labels, _metadata, samples]) => { + return helpers_1.transformSamplesReply[3](samples); + }); + } + }, +}; +//# sourceMappingURL=MRANGE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE.js.map new file mode 100644 index 0000000..3b7ee85 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MRANGE.js","sourceRoot":"","sources":["../../../lib/commands/MRANGE.ts"],"names":[],"mappings":";;;AAGA,uCAA+G;AAC/G,mCAA8D;AAC9D,iCAA6C;AAmB7C;;;GAGG;AACH,SAAgB,8BAA8B,CAAC,OAAsB;IACnE,OAAO,CACL,MAAqB,EACrB,aAAwB,EACxB,WAAsB,EACtB,MAA6B,EAC7B,OAAwB,EACxB,EAAE;QACF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,IAAA,2BAAmB,EACjB,MAAM,EACN,aAAa,EACb,WAAW,EACX,OAAO,CACR,CAAC;QAEF,IAAA,0BAAmB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC,CAAC;AACJ,CAAC;AAlBD,wEAkBC;AAED,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,EAAE,8BAA8B,CAAC,WAAW,CAAC;IACzD,cAAc,EAAE;QACd,CAAC,CAAC,KAAwB,EAAE,CAAO,EAAE,WAAyB;YAC5D,OAAO,IAAA,yBAAe,EAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE;gBACzD,OAAO,+BAAqB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC3C,CAAC,EAAE,WAAW,CAAC,CAAC;QAClB,CAAC;QACD,CAAC,CAAC,KAAwB;YACxB,OAAO,IAAA,yBAAe,EAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE;gBAC9D,OAAO,+BAAqB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;QACL,CAAC;KACF;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_GROUPBY.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_GROUPBY.d.ts new file mode 100644 index 0000000..dcdfc4b --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_GROUPBY.d.ts @@ -0,0 +1,93 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { ArrayReply, BlobStringReply, Resp2Reply, MapReply, TuplesReply, TypeMapping, RedisArgument, TuplesToMapReply } from '@redis/client/dist/lib/RESP/types'; +import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers'; +import { SampleRawReply, Timestamp } from './helpers'; +import { TsRangeOptions } from './RANGE'; +export declare const TIME_SERIES_REDUCERS: { + readonly AVG: "AVG"; + readonly SUM: "SUM"; + readonly MIN: "MIN"; + readonly MAX: "MAX"; + readonly RANGE: "RANGE"; + readonly COUNT: "COUNT"; + /** + * Available since 8.6 + */ + readonly COUNTNAN: "COUNTNAN"; + /** + * Available since 8.6 + */ + readonly COUNTALL: "COUNTALL"; + readonly STD_P: "STD.P"; + readonly STD_S: "STD.S"; + readonly VAR_P: "VAR.P"; + readonly VAR_S: "VAR.S"; +}; +export type TimeSeriesReducer = typeof TIME_SERIES_REDUCERS[keyof typeof TIME_SERIES_REDUCERS]; +export interface TsMRangeGroupBy { + label: RedisArgument; + REDUCE: TimeSeriesReducer; +} +/** + * Adds GROUPBY arguments to command + * @param parser - The command parser + * @param groupBy - Group by parameters + */ +export declare function parseGroupByArguments(parser: CommandParser, groupBy: TsMRangeGroupBy): void; +export type TsMRangeGroupByRawReply2 = ArrayReply> +]>>; +export type TsMRangeGroupByRawMetadataReply3 = TuplesToMapReply<[ + [ + BlobStringReply<'sources'>, + ArrayReply + ] +]>; +export type TsMRangeGroupByRawReply3 = MapReply +]>>; +/** + * Creates a function that parses arguments for multi-range commands with grouping + * @param command - The command name to use (TS.MRANGE or TS.MREVRANGE) + */ +export declare function createTransformMRangeGroupByArguments(command: RedisArgument): (parser: CommandParser, fromTimestamp: Timestamp, toTimestamp: Timestamp, filter: RedisVariadicArgument, groupBy: TsMRangeGroupBy, options?: TsRangeOptions) => void; +/** + * Extracts source keys from RESP3 metadata reply + * @param raw - Raw metadata from RESP3 reply + */ +export declare function extractResp3MRangeSources(raw: TsMRangeGroupByRawMetadataReply3): ArrayReply>; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Gets samples for time series matching a filter within a time range with grouping + * @param parser - The command parser + * @param fromTimestamp - Start timestamp for range + * @param toTimestamp - End timestamp for range + * @param filter - Filter to match time series keys + * @param groupBy - Group by parameters + * @param options - Optional parameters for the command + */ + readonly parseCommand: (parser: CommandParser, fromTimestamp: Timestamp, toTimestamp: Timestamp, filter: RedisVariadicArgument, groupBy: TsMRangeGroupBy, options?: TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: TsMRangeGroupByRawReply2, _?: any, typeMapping?: TypeMapping) => MapReply, { + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: TsMRangeGroupByRawReply3) => MapReply, { + sources: ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; +}; +export default _default; +//# sourceMappingURL=MRANGE_GROUPBY.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_GROUPBY.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_GROUPBY.d.ts.map new file mode 100644 index 0000000..f4abc53 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_GROUPBY.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MRANGE_GROUPBY.d.ts","sourceRoot":"","sources":["../../../lib/commands/MRANGE_GROUPBY.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAW,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAe,MAAM,mCAAmC,CAAC;AACvL,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAoC,cAAc,EAAE,SAAS,EAAyB,MAAM,WAAW,CAAC;AAC/G,OAAO,EAAE,cAAc,EAAuB,MAAM,SAAS,CAAC;AAG9D,eAAO,MAAM,oBAAoB;;;;;;;IAO/B;;MAEE;;IAEF;;MAEE;;;;;;CAMM,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,OAAO,oBAAoB,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC;AAE/F,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,QAEpF;AAED,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAC/C,WAAW,CAAC;IACV,GAAG,EAAE,eAAe;IACpB,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;CAChD,CAAC,CACH,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG,gBAAgB,CAAC;IAC9D;QAAC,eAAe,CAAC,SAAS,CAAC;QAAE,UAAU,CAAC,eAAe,CAAC;KAAC;CAC1D,CAAC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAC7C,eAAe,EACf,WAAW,CAAC;IACV,MAAM,EAAE,KAAK;IACb,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,gCAAgC;IAC3C,OAAO,EAAE,UAAU,CAAC,cAAc,CAAC;CACpC,CAAC,CACH,CAAC;AAEF;;;GAGG;AACH,wBAAgB,qCAAqC,CAAC,OAAO,EAAE,aAAa,YAEhE,aAAa,iBACN,SAAS,eACX,SAAS,UACd,qBAAqB,WACpB,eAAe,YACd,cAAc,UAS3B;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,gCAAgC,uCAS9E;;;IAIC;;;;;;;;OAQG;;;sEAGsC,GAAG,gBAAgB,WAAW;;;;;;;;;;;;;;;AAbzE,wBA6B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_GROUPBY.js b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_GROUPBY.js new file mode 100644 index 0000000..3f7ab38 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_GROUPBY.js @@ -0,0 +1,96 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extractResp3MRangeSources = exports.createTransformMRangeGroupByArguments = exports.parseGroupByArguments = exports.TIME_SERIES_REDUCERS = void 0; +const helpers_1 = require("./helpers"); +const RANGE_1 = require("./RANGE"); +const MGET_1 = require("./MGET"); +exports.TIME_SERIES_REDUCERS = { + AVG: 'AVG', + SUM: 'SUM', + MIN: 'MIN', + MAX: 'MAX', + RANGE: 'RANGE', + COUNT: 'COUNT', + /** + * Available since 8.6 + */ + COUNTNAN: 'COUNTNAN', + /** + * Available since 8.6 + */ + COUNTALL: 'COUNTALL', + STD_P: 'STD.P', + STD_S: 'STD.S', + VAR_P: 'VAR.P', + VAR_S: 'VAR.S' +}; +/** + * Adds GROUPBY arguments to command + * @param parser - The command parser + * @param groupBy - Group by parameters + */ +function parseGroupByArguments(parser, groupBy) { + parser.push('GROUPBY', groupBy.label, 'REDUCE', groupBy.REDUCE); +} +exports.parseGroupByArguments = parseGroupByArguments; +/** + * Creates a function that parses arguments for multi-range commands with grouping + * @param command - The command name to use (TS.MRANGE or TS.MREVRANGE) + */ +function createTransformMRangeGroupByArguments(command) { + return (parser, fromTimestamp, toTimestamp, filter, groupBy, options) => { + parser.push(command); + (0, RANGE_1.parseRangeArguments)(parser, fromTimestamp, toTimestamp, options); + (0, MGET_1.parseFilterArgument)(parser, filter); + parseGroupByArguments(parser, groupBy); + }; +} +exports.createTransformMRangeGroupByArguments = createTransformMRangeGroupByArguments; +/** + * Extracts source keys from RESP3 metadata reply + * @param raw - Raw metadata from RESP3 reply + */ +function extractResp3MRangeSources(raw) { + const unwrappedMetadata2 = raw; + if (unwrappedMetadata2 instanceof Map) { + return unwrappedMetadata2.get('sources'); + } + else if (unwrappedMetadata2 instanceof Array) { + return unwrappedMetadata2[1]; + } + else { + return unwrappedMetadata2.sources; + } +} +exports.extractResp3MRangeSources = extractResp3MRangeSources; +exports.default = { + IS_READ_ONLY: true, + /** + * Gets samples for time series matching a filter within a time range with grouping + * @param parser - The command parser + * @param fromTimestamp - Start timestamp for range + * @param toTimestamp - End timestamp for range + * @param filter - Filter to match time series keys + * @param groupBy - Group by parameters + * @param options - Optional parameters for the command + */ + parseCommand: createTransformMRangeGroupByArguments('TS.MRANGE'), + transformReply: { + 2(reply, _, typeMapping) { + return (0, helpers_1.resp2MapToValue)(reply, ([_key, _labels, samples]) => { + return { + samples: helpers_1.transformSamplesReply[2](samples) + }; + }, typeMapping); + }, + 3(reply) { + return (0, helpers_1.resp3MapToValue)(reply, ([_labels, _metadata1, metadata2, samples]) => { + return { + sources: extractResp3MRangeSources(metadata2), + samples: helpers_1.transformSamplesReply[3](samples) + }; + }); + } + }, +}; +//# sourceMappingURL=MRANGE_GROUPBY.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_GROUPBY.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_GROUPBY.js.map new file mode 100644 index 0000000..dad025c --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_GROUPBY.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MRANGE_GROUPBY.js","sourceRoot":"","sources":["../../../lib/commands/MRANGE_GROUPBY.ts"],"names":[],"mappings":";;;AAGA,uCAA+G;AAC/G,mCAA8D;AAC9D,iCAA6C;AAEhC,QAAA,oBAAoB,GAAG;IAClC,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd;;MAEE;IACF,QAAQ,EAAE,UAAU;IACpB;;MAEE;IACF,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;CACN,CAAC;AASX;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,MAAqB,EAAE,OAAwB;IACnF,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;AAClE,CAAC;AAFD,sDAEC;AAwBD;;;GAGG;AACH,SAAgB,qCAAqC,CAAC,OAAsB;IAC1E,OAAO,CACL,MAAqB,EACrB,aAAwB,EACxB,WAAsB,EACtB,MAA6B,EAC7B,OAAwB,EACxB,OAAwB,EACxB,EAAE;QACF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,IAAA,2BAAmB,EAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;QAEhE,IAAA,0BAAmB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEpC,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC,CAAC;AACJ,CAAC;AAhBD,sFAgBC;AAED;;;GAGG;AACH,SAAgB,yBAAyB,CAAC,GAAqC;IAC7E,MAAM,kBAAkB,GAAG,GAAyC,CAAC;IACrE,IAAI,kBAAkB,YAAY,GAAG,EAAE,CAAC;QACtC,OAAO,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;IAC5C,CAAC;SAAM,IAAI,kBAAkB,YAAY,KAAK,EAAE,CAAC;QAC/C,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,OAAO,kBAAkB,CAAC,OAAO,CAAC;IACpC,CAAC;AACH,CAAC;AATD,8DASC;AAED,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,EAAE,qCAAqC,CAAC,WAAW,CAAC;IAChE,cAAc,EAAE;QACd,CAAC,CAAC,KAA+B,EAAE,CAAO,EAAE,WAAyB;YACnE,OAAO,IAAA,yBAAe,EAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE;gBACzD,OAAO;oBACL,OAAO,EAAE,+BAAqB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;iBAC3C,CAAC;YACJ,CAAC,EAAE,WAAW,CAAC,CAAC;QAClB,CAAC;QACD,CAAC,CAAC,KAA+B;YAC/B,OAAO,IAAA,yBAAe,EAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE;gBAC1E,OAAO;oBACL,OAAO,EAAE,yBAAyB,CAAC,SAAS,CAAC;oBAC7C,OAAO,EAAE,+BAAqB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;iBAC3C,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KACF;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS.d.ts new file mode 100644 index 0000000..324cf2b --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS.d.ts @@ -0,0 +1,54 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { ArrayReply, BlobStringReply, Resp2Reply, MapReply, TuplesReply, TypeMapping, NullReply, RedisArgument } from '@redis/client/dist/lib/RESP/types'; +import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers'; +import { SampleRawReply, Timestamp } from './helpers'; +import { TsRangeOptions } from './RANGE'; +export type TsMRangeSelectedLabelsRawReply2 = ArrayReply>, + samples: ArrayReply> +]>>; +export type TsMRangeSelectedLabelsRawReply3 = MapReply, + metadata: never, + samples: ArrayReply +]>>; +/** + * Creates a function that parses arguments for multi-range commands with selected labels + * @param command - The command name to use (TS.MRANGE or TS.MREVRANGE) + */ +export declare function createTransformMRangeSelectedLabelsArguments(command: RedisArgument): (parser: CommandParser, fromTimestamp: Timestamp, toTimestamp: Timestamp, selectedLabels: RedisVariadicArgument, filter: RedisVariadicArgument, options?: TsRangeOptions) => void; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Gets samples for time series matching a filter with selected labels + * @param parser - The command parser + * @param fromTimestamp - Start timestamp for range + * @param toTimestamp - End timestamp for range + * @param selectedLabels - Labels to include in the output + * @param filter - Filter to match time series keys + * @param options - Optional parameters for the command + */ + readonly parseCommand: (parser: CommandParser, fromTimestamp: Timestamp, toTimestamp: Timestamp, selectedLabels: RedisVariadicArgument, filter: RedisVariadicArgument, options?: TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: TsMRangeSelectedLabelsRawReply2, _?: any, typeMapping?: TypeMapping) => MapReply, { + labels: MapReply, NullReply | BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: TsMRangeSelectedLabelsRawReply3) => MapReply, { + labels: never; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; +}; +export default _default; +//# sourceMappingURL=MRANGE_SELECTED_LABELS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS.d.ts.map new file mode 100644 index 0000000..3b34cbf --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MRANGE_SELECTED_LABELS.d.ts","sourceRoot":"","sources":["../../../lib/commands/MRANGE_SELECTED_LABELS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAW,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACnK,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAkE,cAAc,EAAE,SAAS,EAA+C,MAAM,WAAW,CAAC;AACnK,OAAO,EAAE,cAAc,EAAuB,MAAM,SAAS,CAAC;AAG9D,MAAM,MAAM,+BAA+B,GAAG,UAAU,CACtD,WAAW,CAAC;IACV,GAAG,EAAE,eAAe;IACpB,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC;QAC7B,KAAK,EAAE,eAAe;QACtB,KAAK,EAAE,eAAe,GAAG,SAAS;KACnC,CAAC,CAAC;IACH,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;CAChD,CAAC,CACH,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,QAAQ,CACpD,eAAe,EACf,WAAW,CAAC;IACV,MAAM,EAAE,QAAQ,CAAC,eAAe,EAAE,eAAe,GAAG,SAAS,CAAC;IAC9D,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,UAAU,CAAC,cAAc,CAAC;CACpC,CAAC,CACH,CAAC;AAEF;;;GAGG;AACH,wBAAgB,4CAA4C,CAAC,OAAO,EAAE,aAAa,YAEvE,aAAa,iBACN,SAAS,eACX,SAAS,kBACN,qBAAqB,UAC7B,qBAAqB,YACnB,cAAc,UAc3B;;;IAIC;;;;;;;;OAQG;;;6EAG6C,GAAG,gBAAgB,WAAW;;;;;;;;;;;;;;;;AAbhF,wBA8B6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS.js b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS.js new file mode 100644 index 0000000..68ae34d --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS.js @@ -0,0 +1,51 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createTransformMRangeSelectedLabelsArguments = void 0; +const helpers_1 = require("./helpers"); +const RANGE_1 = require("./RANGE"); +const MGET_1 = require("./MGET"); +/** + * Creates a function that parses arguments for multi-range commands with selected labels + * @param command - The command name to use (TS.MRANGE or TS.MREVRANGE) + */ +function createTransformMRangeSelectedLabelsArguments(command) { + return (parser, fromTimestamp, toTimestamp, selectedLabels, filter, options) => { + parser.push(command); + (0, RANGE_1.parseRangeArguments)(parser, fromTimestamp, toTimestamp, options); + (0, helpers_1.parseSelectedLabelsArguments)(parser, selectedLabels); + (0, MGET_1.parseFilterArgument)(parser, filter); + }; +} +exports.createTransformMRangeSelectedLabelsArguments = createTransformMRangeSelectedLabelsArguments; +exports.default = { + IS_READ_ONLY: true, + /** + * Gets samples for time series matching a filter with selected labels + * @param parser - The command parser + * @param fromTimestamp - Start timestamp for range + * @param toTimestamp - End timestamp for range + * @param selectedLabels - Labels to include in the output + * @param filter - Filter to match time series keys + * @param options - Optional parameters for the command + */ + parseCommand: createTransformMRangeSelectedLabelsArguments('TS.MRANGE'), + transformReply: { + 2(reply, _, typeMapping) { + return (0, helpers_1.resp2MapToValue)(reply, ([_key, labels, samples]) => { + return { + labels: (0, helpers_1.transformRESP2Labels)(labels, typeMapping), + samples: helpers_1.transformSamplesReply[2](samples) + }; + }, typeMapping); + }, + 3(reply) { + return (0, helpers_1.resp3MapToValue)(reply, ([_key, labels, samples]) => { + return { + labels, + samples: helpers_1.transformSamplesReply[3](samples) + }; + }); + } + }, +}; +//# sourceMappingURL=MRANGE_SELECTED_LABELS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS.js.map new file mode 100644 index 0000000..df829cd --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MRANGE_SELECTED_LABELS.js","sourceRoot":"","sources":["../../../lib/commands/MRANGE_SELECTED_LABELS.ts"],"names":[],"mappings":";;;AAGA,uCAAmK;AACnK,mCAA8D;AAC9D,iCAA6C;AAsB7C;;;GAGG;AACH,SAAgB,4CAA4C,CAAC,OAAsB;IACjF,OAAO,CACL,MAAqB,EACrB,aAAwB,EACxB,WAAsB,EACtB,cAAqC,EACrC,MAA6B,EAC7B,OAAwB,EACxB,EAAE;QACF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,IAAA,2BAAmB,EACjB,MAAM,EACN,aAAa,EACb,WAAW,EACX,OAAO,CACR,CAAC;QAEF,IAAA,sCAA4B,EAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAErD,IAAA,0BAAmB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC,CAAC;AACJ,CAAC;AArBD,oGAqBC;AAED,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,EAAE,4CAA4C,CAAC,WAAW,CAAC;IACvE,cAAc,EAAE;QACd,CAAC,CAAC,KAAsC,EAAE,CAAO,EAAE,WAAyB;YAC1E,OAAO,IAAA,yBAAe,EAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE;gBACxD,OAAO;oBACL,MAAM,EAAE,IAAA,8BAAoB,EAAC,MAAM,EAAE,WAAW,CAAC;oBACjD,OAAO,EAAE,+BAAqB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;iBAC3C,CAAC;YACJ,CAAC,EAAE,WAAW,CAAC,CAAC;QAClB,CAAC;QACD,CAAC,CAAC,KAAsC;YACtC,OAAO,IAAA,yBAAe,EAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE;gBACxD,OAAO;oBACL,MAAM;oBACN,OAAO,EAAE,+BAAqB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;iBAC3C,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KACF;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS_GROUPBY.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS_GROUPBY.d.ts new file mode 100644 index 0000000..871e8ac --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS_GROUPBY.d.ts @@ -0,0 +1,50 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { ArrayReply, BlobStringReply, MapReply, TuplesReply, RedisArgument, NullReply } from '@redis/client/dist/lib/RESP/types'; +import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers'; +import { SampleRawReply, Timestamp } from './helpers'; +import { TsRangeOptions } from './RANGE'; +import { TsMRangeGroupBy, TsMRangeGroupByRawMetadataReply3 } from './MRANGE_GROUPBY'; +export type TsMRangeWithLabelsGroupByRawReply3 = MapReply, + metadata: never, + metadata2: TsMRangeGroupByRawMetadataReply3, + samples: ArrayReply +]>>; +/** + * Creates a function that parses arguments for multi-range commands with selected labels and grouping + * @param command - The command name to use (TS.MRANGE or TS.MREVRANGE) + */ +export declare function createMRangeSelectedLabelsGroupByTransformArguments(command: RedisArgument): (parser: CommandParser, fromTimestamp: Timestamp, toTimestamp: Timestamp, selectedLabels: RedisVariadicArgument, filter: RedisVariadicArgument, groupBy: TsMRangeGroupBy, options?: TsRangeOptions) => void; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Gets samples for time series matching a filter with selected labels and grouping + * @param parser - The command parser + * @param fromTimestamp - Start timestamp for range + * @param toTimestamp - End timestamp for range + * @param selectedLabels - Labels to include in the output + * @param filter - Filter to match time series keys + * @param groupBy - Group by parameters + * @param options - Optional parameters for the command + */ + readonly parseCommand: (parser: CommandParser, fromTimestamp: Timestamp, toTimestamp: Timestamp, selectedLabels: RedisVariadicArgument, filter: RedisVariadicArgument, groupBy: TsMRangeGroupBy, options?: TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => MapReply, { + labels: MapReply, NullReply | BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: TsMRangeWithLabelsGroupByRawReply3) => MapReply, { + labels: MapReply, NullReply | BlobStringReply>; + sources: ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; +}; +export default _default; +//# sourceMappingURL=MRANGE_SELECTED_LABELS_GROUPBY.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS_GROUPBY.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS_GROUPBY.d.ts.map new file mode 100644 index 0000000..a481fbb --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS_GROUPBY.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MRANGE_SELECTED_LABELS_GROUPBY.d.ts","sourceRoot":"","sources":["../../../lib/commands/MRANGE_SELECTED_LABELS_GROUPBY.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAW,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC1I,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAiD,cAAc,EAAE,SAAS,EAAyB,MAAM,WAAW,CAAC;AAC5H,OAAO,EAAE,cAAc,EAAuB,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAoD,eAAe,EAAE,gCAAgC,EAAE,MAAM,kBAAkB,CAAC;AAIvI,MAAM,MAAM,kCAAkC,GAAG,QAAQ,CACvD,eAAe,EACf,WAAW,CAAC;IACV,MAAM,EAAE,QAAQ,CAAC,eAAe,EAAE,eAAe,GAAG,SAAS,CAAC;IAC9D,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,gCAAgC;IAC3C,OAAO,EAAE,UAAU,CAAC,cAAc,CAAC;CACpC,CAAC,CACH,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mDAAmD,CACjE,OAAO,EAAE,aAAa,YAGZ,aAAa,iBACN,SAAS,eACX,SAAS,kBACN,qBAAqB,UAC7B,qBAAqB,WACpB,eAAe,YACd,cAAc,UAgB3B;;;IAIC;;;;;;;;;OASG;;;;;;;;;;;;;;;;;;;;AAXL,wBAyB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS_GROUPBY.js b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS_GROUPBY.js new file mode 100644 index 0000000..04b9797 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS_GROUPBY.js @@ -0,0 +1,52 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createMRangeSelectedLabelsGroupByTransformArguments = void 0; +const helpers_1 = require("./helpers"); +const RANGE_1 = require("./RANGE"); +const MRANGE_GROUPBY_1 = require("./MRANGE_GROUPBY"); +const MGET_1 = require("./MGET"); +const MRANGE_SELECTED_LABELS_1 = __importDefault(require("./MRANGE_SELECTED_LABELS")); +/** + * Creates a function that parses arguments for multi-range commands with selected labels and grouping + * @param command - The command name to use (TS.MRANGE or TS.MREVRANGE) + */ +function createMRangeSelectedLabelsGroupByTransformArguments(command) { + return (parser, fromTimestamp, toTimestamp, selectedLabels, filter, groupBy, options) => { + parser.push(command); + (0, RANGE_1.parseRangeArguments)(parser, fromTimestamp, toTimestamp, options); + (0, helpers_1.parseSelectedLabelsArguments)(parser, selectedLabels); + (0, MGET_1.parseFilterArgument)(parser, filter); + (0, MRANGE_GROUPBY_1.parseGroupByArguments)(parser, groupBy); + }; +} +exports.createMRangeSelectedLabelsGroupByTransformArguments = createMRangeSelectedLabelsGroupByTransformArguments; +exports.default = { + IS_READ_ONLY: true, + /** + * Gets samples for time series matching a filter with selected labels and grouping + * @param parser - The command parser + * @param fromTimestamp - Start timestamp for range + * @param toTimestamp - End timestamp for range + * @param selectedLabels - Labels to include in the output + * @param filter - Filter to match time series keys + * @param groupBy - Group by parameters + * @param options - Optional parameters for the command + */ + parseCommand: createMRangeSelectedLabelsGroupByTransformArguments('TS.MRANGE'), + transformReply: { + 2: MRANGE_SELECTED_LABELS_1.default.transformReply[2], + 3(reply) { + return (0, helpers_1.resp3MapToValue)(reply, ([labels, _metadata, metadata2, samples]) => { + return { + labels, + sources: (0, MRANGE_GROUPBY_1.extractResp3MRangeSources)(metadata2), + samples: helpers_1.transformSamplesReply[3](samples) + }; + }); + } + }, +}; +//# sourceMappingURL=MRANGE_SELECTED_LABELS_GROUPBY.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS_GROUPBY.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS_GROUPBY.js.map new file mode 100644 index 0000000..13808d8 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS_GROUPBY.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MRANGE_SELECTED_LABELS_GROUPBY.js","sourceRoot":"","sources":["../../../lib/commands/MRANGE_SELECTED_LABELS_GROUPBY.ts"],"names":[],"mappings":";;;;;;AAGA,uCAA4H;AAC5H,mCAA8D;AAC9D,qDAAuI;AACvI,iCAA6C;AAC7C,sFAA8D;AAY9D;;;GAGG;AACH,SAAgB,mDAAmD,CACjE,OAAsB;IAEtB,OAAO,CACL,MAAqB,EACrB,aAAwB,EACxB,WAAsB,EACtB,cAAqC,EACrC,MAA6B,EAC7B,OAAwB,EACxB,OAAwB,EACxB,EAAE;QACF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,IAAA,2BAAmB,EACjB,MAAM,EACN,aAAa,EACb,WAAW,EACX,OAAO,CACR,CAAC;QAEF,IAAA,sCAA4B,EAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAErD,IAAA,0BAAmB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEpC,IAAA,sCAAqB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC,CAAC;AACJ,CAAC;AA1BD,kHA0BC;AAED,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;;;OASG;IACH,YAAY,EAAE,mDAAmD,CAAC,WAAW,CAAC;IAC9E,cAAc,EAAE;QACd,CAAC,EAAE,gCAAsB,CAAC,cAAc,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,KAAyC;YACzC,OAAO,IAAA,yBAAe,EAAC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE;gBACxE,OAAO;oBACL,MAAM;oBACN,OAAO,EAAE,IAAA,0CAAyB,EAAC,SAAS,CAAC;oBAC7C,OAAO,EAAE,+BAAqB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;iBAC3C,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KACF;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS.d.ts new file mode 100644 index 0000000..997d8b3 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS.d.ts @@ -0,0 +1,54 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { ArrayReply, BlobStringReply, Resp2Reply, MapReply, TuplesReply, TypeMapping, RedisArgument } from '@redis/client/dist/lib/RESP/types'; +import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers'; +import { SampleRawReply, Timestamp } from './helpers'; +import { TsRangeOptions } from './RANGE'; +export type TsMRangeWithLabelsRawReply2 = ArrayReply>, + samples: ArrayReply> +]>>; +export type TsMRangeWithLabelsRawReply3 = MapReply, + metadata: never, + samples: ArrayReply +]>>; +/** + * Creates a function that parses arguments for multi-range commands with labels + * @param command - The command name to use (TS.MRANGE or TS.MREVRANGE) + */ +export declare function createTransformMRangeWithLabelsArguments(command: RedisArgument): (parser: CommandParser, fromTimestamp: Timestamp, toTimestamp: Timestamp, filter: RedisVariadicArgument, options?: TsRangeOptions) => void; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Gets samples for time series matching a filter with labels + * @param parser - The command parser + * @param fromTimestamp - Start timestamp for range + * @param toTimestamp - End timestamp for range + * @param filter - Filter to match time series keys + * @param options - Optional parameters for the command + */ + readonly parseCommand: (parser: CommandParser, fromTimestamp: Timestamp, toTimestamp: Timestamp, filter: RedisVariadicArgument, options?: TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: TsMRangeWithLabelsRawReply2, _?: any, typeMapping?: TypeMapping) => MapReply, { + labels: Record>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: TsMRangeWithLabelsRawReply3) => MapReply, { + labels: MapReply, BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; +}; +export default _default; +//# sourceMappingURL=MRANGE_WITHLABELS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS.d.ts.map new file mode 100644 index 0000000..3e0c2a2 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MRANGE_WITHLABELS.d.ts","sourceRoot":"","sources":["../../../lib/commands/MRANGE_WITHLABELS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAwB,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACrK,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAoC,cAAc,EAAE,SAAS,EAAyB,MAAM,WAAW,CAAC;AAC/G,OAAO,EAAE,cAAc,EAAuB,MAAM,SAAS,CAAC;AAG9D,MAAM,MAAM,2BAA2B,GAAG,UAAU,CAClD,WAAW,CAAC;IACV,GAAG,EAAE,eAAe;IACpB,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC;QAC7B,KAAK,EAAE,eAAe;QACtB,KAAK,EAAE,eAAe;KACvB,CAAC,CAAC;IACH,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;CAChD,CAAC,CACH,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,QAAQ,CAChD,eAAe,EACf,WAAW,CAAC;IACV,MAAM,EAAE,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAClD,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,UAAU,CAAC,cAAc,CAAC;CACpC,CAAC,CACH,CAAC;AAEF;;;GAGG;AACH,wBAAgB,wCAAwC,CAAC,OAAO,EAAE,aAAa,YAEnE,aAAa,iBACN,SAAS,eACX,SAAS,UACd,qBAAqB,YACnB,cAAc,UAc3B;;;;IAKC;;;;;;;OAOG;;;yEAGyC,GAAG,gBAAgB,WAAW;;;;;;;;;;;;;;;;AAb5E,wBAuC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS.js b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS.js new file mode 100644 index 0000000..488e9ac --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS.js @@ -0,0 +1,59 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createTransformMRangeWithLabelsArguments = void 0; +const helpers_1 = require("./helpers"); +const RANGE_1 = require("./RANGE"); +const MGET_1 = require("./MGET"); +/** + * Creates a function that parses arguments for multi-range commands with labels + * @param command - The command name to use (TS.MRANGE or TS.MREVRANGE) + */ +function createTransformMRangeWithLabelsArguments(command) { + return (parser, fromTimestamp, toTimestamp, filter, options) => { + parser.push(command); + (0, RANGE_1.parseRangeArguments)(parser, fromTimestamp, toTimestamp, options); + parser.push('WITHLABELS'); + (0, MGET_1.parseFilterArgument)(parser, filter); + }; +} +exports.createTransformMRangeWithLabelsArguments = createTransformMRangeWithLabelsArguments; +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Gets samples for time series matching a filter with labels + * @param parser - The command parser + * @param fromTimestamp - Start timestamp for range + * @param toTimestamp - End timestamp for range + * @param filter - Filter to match time series keys + * @param options - Optional parameters for the command + */ + parseCommand: createTransformMRangeWithLabelsArguments('TS.MRANGE'), + transformReply: { + 2(reply, _, typeMapping) { + return (0, helpers_1.resp2MapToValue)(reply, ([_key, labels, samples]) => { + const unwrappedLabels = labels; + // TODO: use Map type mapping for labels + const labelsObject = Object.create(null); + for (const tuple of unwrappedLabels) { + const [key, value] = tuple; + const unwrappedKey = key; + labelsObject[unwrappedKey.toString()] = value; + } + return { + labels: labelsObject, + samples: helpers_1.transformSamplesReply[2](samples) + }; + }, typeMapping); + }, + 3(reply) { + return (0, helpers_1.resp3MapToValue)(reply, ([labels, _metadata, samples]) => { + return { + labels, + samples: helpers_1.transformSamplesReply[3](samples) + }; + }); + } + }, +}; +//# sourceMappingURL=MRANGE_WITHLABELS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS.js.map new file mode 100644 index 0000000..c972d46 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MRANGE_WITHLABELS.js","sourceRoot":"","sources":["../../../lib/commands/MRANGE_WITHLABELS.ts"],"names":[],"mappings":";;;AAGA,uCAA+G;AAC/G,mCAA8D;AAC9D,iCAA6C;AAsB7C;;;GAGG;AACH,SAAgB,wCAAwC,CAAC,OAAsB;IAC7E,OAAO,CACL,MAAqB,EACrB,aAAwB,EACxB,WAAsB,EACtB,MAA6B,EAC7B,OAAwB,EACxB,EAAE;QACF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,IAAA,2BAAmB,EACjB,MAAM,EACN,aAAa,EACb,WAAW,EACX,OAAO,CACR,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE1B,IAAA,0BAAmB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC,CAAC;AACJ,CAAC;AApBD,4FAoBC;AAED,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;;;;OAOG;IACH,YAAY,EAAE,wCAAwC,CAAC,WAAW,CAAC;IACnE,cAAc,EAAE;QACd,CAAC,CAAC,KAAkC,EAAE,CAAO,EAAE,WAAyB;YACtE,OAAO,IAAA,yBAAe,EAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE;gBACxD,MAAM,eAAe,GAAG,MAA+C,CAAC;gBACxE,wCAAwC;gBACxC,MAAM,YAAY,GAAoC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC1E,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;oBACpC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,KAA6C,CAAC;oBACnE,MAAM,YAAY,GAAG,GAAyC,CAAC;oBAC/D,YAAY,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC;gBAChD,CAAC;gBAED,OAAO;oBACL,MAAM,EAAE,YAAY;oBACpB,OAAO,EAAE,+BAAqB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;iBAC3C,CAAC;YACJ,CAAC,EAAE,WAAW,CAAC,CAAC;QAClB,CAAC;QACD,CAAC,CAAC,KAAkC;YAClC,OAAO,IAAA,yBAAe,EAAC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE;gBAC7D,OAAO;oBACL,MAAM;oBACN,OAAO,EAAE,+BAAqB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;iBAC3C,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KACF;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS_GROUPBY.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS_GROUPBY.d.ts new file mode 100644 index 0000000..5b444fa --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS_GROUPBY.d.ts @@ -0,0 +1,55 @@ +/// +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { ArrayReply, BlobStringReply, Resp2Reply, MapReply, TuplesReply, TypeMapping, RedisArgument } from '@redis/client/dist/lib/RESP/types'; +import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers'; +import { SampleRawReply, Timestamp } from './helpers'; +import { TsRangeOptions } from './RANGE'; +import { TsMRangeGroupBy, TsMRangeGroupByRawMetadataReply3 } from './MRANGE_GROUPBY'; +export type TsMRangeWithLabelsGroupByRawReply2 = ArrayReply>, + samples: ArrayReply> +]>>; +export type TsMRangeWithLabelsGroupByRawReply3 = MapReply, + metadata: never, + metadata2: TsMRangeGroupByRawMetadataReply3, + samples: ArrayReply +]>>; +export declare function createMRangeWithLabelsGroupByTransformArguments(command: RedisArgument): (parser: CommandParser, fromTimestamp: Timestamp, toTimestamp: Timestamp, filter: RedisVariadicArgument, groupBy: TsMRangeGroupBy, options?: TsRangeOptions) => void; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Gets samples for time series matching a filter with labels and grouping + * @param parser - The command parser + * @param fromTimestamp - Start timestamp for range + * @param toTimestamp - End timestamp for range + * @param filter - Filter to match time series keys + * @param groupBy - Group by parameters + * @param options - Optional parameters for the command + */ + readonly parseCommand: (parser: CommandParser, fromTimestamp: Timestamp, toTimestamp: Timestamp, filter: RedisVariadicArgument, groupBy: TsMRangeGroupBy, options?: TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: TsMRangeWithLabelsGroupByRawReply2, _?: any, typeMapping?: TypeMapping) => MapReply, { + labels: MapReply, BlobStringReply>; + sources: string[] | Buffer[]; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: TsMRangeWithLabelsGroupByRawReply3) => MapReply, { + labels: MapReply, BlobStringReply>; + sources: ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; +}; +export default _default; +//# sourceMappingURL=MRANGE_WITHLABELS_GROUPBY.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS_GROUPBY.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS_GROUPBY.d.ts.map new file mode 100644 index 0000000..f5fb545 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS_GROUPBY.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MRANGE_WITHLABELS_GROUPBY.d.ts","sourceRoot":"","sources":["../../../lib/commands/MRANGE_WITHLABELS_GROUPBY.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAW,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACxJ,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAoC,cAAc,EAAE,SAAS,EAA0D,MAAM,WAAW,CAAC;AAChJ,OAAO,EAAE,cAAc,EAAuB,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAoD,eAAe,EAAE,gCAAgC,EAAE,MAAM,kBAAkB,CAAC;AAGvI,MAAM,MAAM,kCAAkC,GAAG,UAAU,CACzD,WAAW,CAAC;IACV,GAAG,EAAE,eAAe;IACpB,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC;QAC7B,KAAK,EAAE,eAAe;QACtB,KAAK,EAAE,eAAe;KACvB,CAAC,CAAC;IACH,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;CAChD,CAAC,CACH,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG,QAAQ,CACvD,eAAe,EACf,WAAW,CAAC;IACV,MAAM,EAAE,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAClD,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,gCAAgC;IAC3C,OAAO,EAAE,UAAU,CAAC,cAAc,CAAC;CACpC,CAAC,CACH,CAAC;AAEF,wBAAgB,+CAA+C,CAAC,OAAO,EAAE,aAAa,YAE1E,aAAa,iBACN,SAAS,eACX,SAAS,UACd,qBAAqB,WACpB,eAAe,YACd,cAAc,UAgB3B;;;IAIC;;;;;;;;OAQG;;;gFAGgD,GAAG,gBAAgB,WAAW;;;;;;;;;;;;;;;;;;AAbnF,wBAiC6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS_GROUPBY.js b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS_GROUPBY.js new file mode 100644 index 0000000..90b71b5 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS_GROUPBY.js @@ -0,0 +1,52 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createMRangeWithLabelsGroupByTransformArguments = void 0; +const helpers_1 = require("./helpers"); +const RANGE_1 = require("./RANGE"); +const MRANGE_GROUPBY_1 = require("./MRANGE_GROUPBY"); +const MGET_1 = require("./MGET"); +function createMRangeWithLabelsGroupByTransformArguments(command) { + return (parser, fromTimestamp, toTimestamp, filter, groupBy, options) => { + parser.push(command); + (0, RANGE_1.parseRangeArguments)(parser, fromTimestamp, toTimestamp, options); + parser.push('WITHLABELS'); + (0, MGET_1.parseFilterArgument)(parser, filter); + (0, MRANGE_GROUPBY_1.parseGroupByArguments)(parser, groupBy); + }; +} +exports.createMRangeWithLabelsGroupByTransformArguments = createMRangeWithLabelsGroupByTransformArguments; +exports.default = { + IS_READ_ONLY: true, + /** + * Gets samples for time series matching a filter with labels and grouping + * @param parser - The command parser + * @param fromTimestamp - Start timestamp for range + * @param toTimestamp - End timestamp for range + * @param filter - Filter to match time series keys + * @param groupBy - Group by parameters + * @param options - Optional parameters for the command + */ + parseCommand: createMRangeWithLabelsGroupByTransformArguments('TS.MRANGE'), + transformReply: { + 2(reply, _, typeMapping) { + return (0, helpers_1.resp2MapToValue)(reply, ([_key, labels, samples]) => { + const transformed = (0, helpers_1.transformRESP2LabelsWithSources)(labels); + return { + labels: transformed.labels, + sources: transformed.sources, + samples: helpers_1.transformSamplesReply[2](samples) + }; + }, typeMapping); + }, + 3(reply) { + return (0, helpers_1.resp3MapToValue)(reply, ([labels, _metadata, metadata2, samples]) => { + return { + labels, + sources: (0, MRANGE_GROUPBY_1.extractResp3MRangeSources)(metadata2), + samples: helpers_1.transformSamplesReply[3](samples) + }; + }); + } + }, +}; +//# sourceMappingURL=MRANGE_WITHLABELS_GROUPBY.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS_GROUPBY.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS_GROUPBY.js.map new file mode 100644 index 0000000..315727f --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS_GROUPBY.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MRANGE_WITHLABELS_GROUPBY.js","sourceRoot":"","sources":["../../../lib/commands/MRANGE_WITHLABELS_GROUPBY.ts"],"names":[],"mappings":";;;AAGA,uCAAgJ;AAChJ,mCAA8D;AAC9D,qDAAuI;AACvI,iCAA6C;AAuB7C,SAAgB,+CAA+C,CAAC,OAAsB;IACpF,OAAO,CACL,MAAqB,EACrB,aAAwB,EACxB,WAAsB,EACtB,MAA6B,EAC7B,OAAwB,EACxB,OAAwB,EACxB,EAAE;QACF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,IAAA,2BAAmB,EACjB,MAAM,EACN,aAAa,EACb,WAAW,EACX,OAAO,CACR,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE1B,IAAA,0BAAmB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEpC,IAAA,sCAAqB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC,CAAC;AACN,CAAC;AAvBD,0GAuBC;AAED,kBAAe;IACb,YAAY,EAAE,IAAI;IAClB;;;;;;;;OAQG;IACH,YAAY,EAAE,+CAA+C,CAAC,WAAW,CAAC;IAC1E,cAAc,EAAE;QACd,CAAC,CAAC,KAAyC,EAAE,CAAO,EAAE,WAAyB;YAC7E,OAAO,IAAA,yBAAe,EAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE;gBACxD,MAAM,WAAW,GAAG,IAAA,yCAA+B,EAAC,MAAM,CAAC,CAAC;gBAC5D,OAAO;oBACL,MAAM,EAAE,WAAW,CAAC,MAAM;oBAC1B,OAAO,EAAE,WAAW,CAAC,OAAO;oBAC5B,OAAO,EAAE,+BAAqB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;iBAC3C,CAAC;YACJ,CAAC,EAAE,WAAW,CAAC,CAAC;QAClB,CAAC;QACD,CAAC,CAAC,KAAyC;YACzC,OAAO,IAAA,yBAAe,EAAC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE;gBACxE,OAAO;oBACL,MAAM;oBACN,OAAO,EAAE,IAAA,0CAAyB,EAAC,SAAS,CAAC;oBAC7C,OAAO,EAAE,+BAAqB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;iBAC3C,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KACF;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE.d.ts new file mode 100644 index 0000000..c2c08a6 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE.d.ts @@ -0,0 +1,25 @@ +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Gets samples for time series matching a specific filter within a time range (in reverse order) + * @param parser - The command parser + * @param fromTimestamp - Start timestamp for range + * @param toTimestamp - End timestamp for range + * @param filter - Filter to match time series keys + * @param options - Optional parameters for the command + */ + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE").TsMRangeRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]>; + readonly 3: (this: void, reply: import("./MRANGE").TsMRangeRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]>; + }; +}; +export default _default; +//# sourceMappingURL=MREVRANGE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE.d.ts.map new file mode 100644 index 0000000..fe60d73 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MREVRANGE.d.ts","sourceRoot":"","sources":["../../../lib/commands/MREVRANGE.ts"],"names":[],"mappings":";;;IAME;;;;;;;OAOG;;;;;;;;;;;;;AAVL,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE.js b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE.js new file mode 100644 index 0000000..ecde759 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE.js @@ -0,0 +1,41 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const MRANGE_1 = __importStar(require("./MRANGE")); +exports.default = { + NOT_KEYED_COMMAND: MRANGE_1.default.NOT_KEYED_COMMAND, + IS_READ_ONLY: MRANGE_1.default.IS_READ_ONLY, + /** + * Gets samples for time series matching a specific filter within a time range (in reverse order) + * @param parser - The command parser + * @param fromTimestamp - Start timestamp for range + * @param toTimestamp - End timestamp for range + * @param filter - Filter to match time series keys + * @param options - Optional parameters for the command + */ + parseCommand: (0, MRANGE_1.createTransformMRangeArguments)('TS.MREVRANGE'), + transformReply: MRANGE_1.default.transformReply, +}; +//# sourceMappingURL=MREVRANGE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE.js.map new file mode 100644 index 0000000..ee74b53 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MREVRANGE.js","sourceRoot":"","sources":["../../../lib/commands/MREVRANGE.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,mDAAkE;AAElE,kBAAe;IACb,iBAAiB,EAAE,gBAAM,CAAC,iBAAiB;IAC3C,YAAY,EAAE,gBAAM,CAAC,YAAY;IACjC;;;;;;;OAOG;IACH,YAAY,EAAE,IAAA,uCAA8B,EAAC,cAAc,CAAC;IAC5D,cAAc,EAAE,gBAAM,CAAC,cAAc;CACX,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_GROUPBY.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_GROUPBY.d.ts new file mode 100644 index 0000000..2fb2fe9 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_GROUPBY.d.ts @@ -0,0 +1,30 @@ +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Gets samples for time series matching a filter within a time range with grouping (in reverse order) + * @param parser - The command parser + * @param fromTimestamp - Start timestamp for range + * @param toTimestamp - End timestamp for range + * @param filter - Filter to match time series keys + * @param groupBy - Group by parameters + * @param options - Optional parameters for the command + */ + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("./MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE_GROUPBY").TsMRangeGroupByRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("./MRANGE_GROUPBY").TsMRangeGroupByRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + sources: import("@redis/client/dist/lib/RESP/types").ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; +}; +export default _default; +//# sourceMappingURL=MREVRANGE_GROUPBY.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_GROUPBY.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_GROUPBY.d.ts.map new file mode 100644 index 0000000..95f6435 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_GROUPBY.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MREVRANGE_GROUPBY.d.ts","sourceRoot":"","sources":["../../../lib/commands/MREVRANGE_GROUPBY.ts"],"names":[],"mappings":";;IAKE;;;;;;;;OAQG;;;;;;;;;;;;;;;;;;AAVL,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_GROUPBY.js b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_GROUPBY.js new file mode 100644 index 0000000..4a9f85f --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_GROUPBY.js @@ -0,0 +1,41 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const MRANGE_GROUPBY_1 = __importStar(require("./MRANGE_GROUPBY")); +exports.default = { + IS_READ_ONLY: MRANGE_GROUPBY_1.default.IS_READ_ONLY, + /** + * Gets samples for time series matching a filter within a time range with grouping (in reverse order) + * @param parser - The command parser + * @param fromTimestamp - Start timestamp for range + * @param toTimestamp - End timestamp for range + * @param filter - Filter to match time series keys + * @param groupBy - Group by parameters + * @param options - Optional parameters for the command + */ + parseCommand: (0, MRANGE_GROUPBY_1.createTransformMRangeGroupByArguments)('TS.MREVRANGE'), + transformReply: MRANGE_GROUPBY_1.default.transformReply, +}; +//# sourceMappingURL=MREVRANGE_GROUPBY.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_GROUPBY.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_GROUPBY.js.map new file mode 100644 index 0000000..f26b424 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_GROUPBY.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MREVRANGE_GROUPBY.js","sourceRoot":"","sources":["../../../lib/commands/MREVRANGE_GROUPBY.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,mEAAyF;AAEzF,kBAAe;IACb,YAAY,EAAE,wBAAc,CAAC,YAAY;IACzC;;;;;;;;OAQG;IACH,YAAY,EAAE,IAAA,sDAAqC,EAAC,cAAc,CAAC;IACnE,cAAc,EAAE,wBAAc,CAAC,cAAc;CACnB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS.d.ts new file mode 100644 index 0000000..cffd690 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS.d.ts @@ -0,0 +1,31 @@ +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Gets samples for time series matching a filter with selected labels (in reverse order) + * @param parser - The command parser + * @param fromTimestamp - Start timestamp for range + * @param toTimestamp - End timestamp for range + * @param selectedLabels - Labels to include in the output + * @param filter - Filter to match time series keys + * @param options - Optional parameters for the command + */ + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, selectedLabels: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("./MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: never; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; +}; +export default _default; +//# sourceMappingURL=MREVRANGE_SELECTED_LABELS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS.d.ts.map new file mode 100644 index 0000000..f46fa1d --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MREVRANGE_SELECTED_LABELS.d.ts","sourceRoot":"","sources":["../../../lib/commands/MREVRANGE_SELECTED_LABELS.ts"],"names":[],"mappings":";;IAKE;;;;;;;;OAQG;;;;;;;;;;;;;;;;;;;AAVL,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS.js b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS.js new file mode 100644 index 0000000..57be6b8 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS.js @@ -0,0 +1,41 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const MRANGE_SELECTED_LABELS_1 = __importStar(require("./MRANGE_SELECTED_LABELS")); +exports.default = { + IS_READ_ONLY: MRANGE_SELECTED_LABELS_1.default.IS_READ_ONLY, + /** + * Gets samples for time series matching a filter with selected labels (in reverse order) + * @param parser - The command parser + * @param fromTimestamp - Start timestamp for range + * @param toTimestamp - End timestamp for range + * @param selectedLabels - Labels to include in the output + * @param filter - Filter to match time series keys + * @param options - Optional parameters for the command + */ + parseCommand: (0, MRANGE_SELECTED_LABELS_1.createTransformMRangeSelectedLabelsArguments)('TS.MREVRANGE'), + transformReply: MRANGE_SELECTED_LABELS_1.default.transformReply, +}; +//# sourceMappingURL=MREVRANGE_SELECTED_LABELS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS.js.map new file mode 100644 index 0000000..487bda4 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MREVRANGE_SELECTED_LABELS.js","sourceRoot":"","sources":["../../../lib/commands/MREVRANGE_SELECTED_LABELS.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,mFAAgH;AAEhH,kBAAe;IACb,YAAY,EAAE,gCAAsB,CAAC,YAAY;IACjD;;;;;;;;OAQG;IACH,YAAY,EAAE,IAAA,qEAA4C,EAAC,cAAc,CAAC;IAC1E,cAAc,EAAE,gCAAsB,CAAC,cAAc;CAC3B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS_GROUPBY.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS_GROUPBY.d.ts new file mode 100644 index 0000000..c6588a8 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS_GROUPBY.d.ts @@ -0,0 +1,33 @@ +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Gets samples for time series matching a filter with selected labels and grouping (in reverse order) + * @param parser - The command parser + * @param fromTimestamp - Start timestamp for range + * @param toTimestamp - End timestamp for range + * @param selectedLabels - Labels to include in the output + * @param filter - Filter to match time series keys + * @param groupBy - Group by parameters + * @param options - Optional parameters for the command + */ + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, selectedLabels: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("./MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("./MRANGE_SELECTED_LABELS_GROUPBY").TsMRangeWithLabelsGroupByRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sources: import("@redis/client/dist/lib/RESP/types").ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; +}; +export default _default; +//# sourceMappingURL=MREVRANGE_SELECTED_LABELS_GROUPBY.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS_GROUPBY.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS_GROUPBY.d.ts.map new file mode 100644 index 0000000..6bd8c38 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS_GROUPBY.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MREVRANGE_SELECTED_LABELS_GROUPBY.d.ts","sourceRoot":"","sources":["../../../lib/commands/MREVRANGE_SELECTED_LABELS_GROUPBY.ts"],"names":[],"mappings":";;IAKE;;;;;;;;;OASG;;;;;;;;;;;;;;;;;;;;AAXL,wBAc6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS_GROUPBY.js b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS_GROUPBY.js new file mode 100644 index 0000000..d3c8c5a --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS_GROUPBY.js @@ -0,0 +1,42 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const MRANGE_SELECTED_LABELS_GROUPBY_1 = __importStar(require("./MRANGE_SELECTED_LABELS_GROUPBY")); +exports.default = { + IS_READ_ONLY: MRANGE_SELECTED_LABELS_GROUPBY_1.default.IS_READ_ONLY, + /** + * Gets samples for time series matching a filter with selected labels and grouping (in reverse order) + * @param parser - The command parser + * @param fromTimestamp - Start timestamp for range + * @param toTimestamp - End timestamp for range + * @param selectedLabels - Labels to include in the output + * @param filter - Filter to match time series keys + * @param groupBy - Group by parameters + * @param options - Optional parameters for the command + */ + parseCommand: (0, MRANGE_SELECTED_LABELS_GROUPBY_1.createMRangeSelectedLabelsGroupByTransformArguments)('TS.MREVRANGE'), + transformReply: MRANGE_SELECTED_LABELS_GROUPBY_1.default.transformReply, +}; +//# sourceMappingURL=MREVRANGE_SELECTED_LABELS_GROUPBY.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS_GROUPBY.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS_GROUPBY.js.map new file mode 100644 index 0000000..a75bf88 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_SELECTED_LABELS_GROUPBY.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MREVRANGE_SELECTED_LABELS_GROUPBY.js","sourceRoot":"","sources":["../../../lib/commands/MREVRANGE_SELECTED_LABELS_GROUPBY.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,mGAAuI;AAEvI,kBAAe;IACb,YAAY,EAAE,wCAA8B,CAAC,YAAY;IACzD;;;;;;;;;OASG;IACH,YAAY,EAAE,IAAA,oFAAmD,EAAC,cAAc,CAAC;IACjF,cAAc,EAAE,wCAA8B,CAAC,cAAc;CACnC,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS.d.ts new file mode 100644 index 0000000..46df69e --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS.d.ts @@ -0,0 +1,31 @@ +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Gets samples for time series matching a filter with labels (in reverse order) + * @param parser - The command parser + * @param fromTimestamp - Start timestamp for range + * @param toTimestamp - End timestamp for range + * @param filter - Filter to match time series keys + * @param options - Optional parameters for the command + */ + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE_WITHLABELS").TsMRangeWithLabelsRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: Record>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("./MRANGE_WITHLABELS").TsMRangeWithLabelsRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; +}; +export default _default; +//# sourceMappingURL=MREVRANGE_WITHLABELS.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS.d.ts.map new file mode 100644 index 0000000..216fd21 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MREVRANGE_WITHLABELS.d.ts","sourceRoot":"","sources":["../../../lib/commands/MREVRANGE_WITHLABELS.ts"],"names":[],"mappings":";;;IAME;;;;;;;OAOG;;;;;;;;;;;;;;;;;;;AAVL,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS.js b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS.js new file mode 100644 index 0000000..e393669 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS.js @@ -0,0 +1,41 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const MRANGE_WITHLABELS_1 = __importStar(require("./MRANGE_WITHLABELS")); +exports.default = { + NOT_KEYED_COMMAND: MRANGE_WITHLABELS_1.default.NOT_KEYED_COMMAND, + IS_READ_ONLY: MRANGE_WITHLABELS_1.default.IS_READ_ONLY, + /** + * Gets samples for time series matching a filter with labels (in reverse order) + * @param parser - The command parser + * @param fromTimestamp - Start timestamp for range + * @param toTimestamp - End timestamp for range + * @param filter - Filter to match time series keys + * @param options - Optional parameters for the command + */ + parseCommand: (0, MRANGE_WITHLABELS_1.createTransformMRangeWithLabelsArguments)('TS.MREVRANGE'), + transformReply: MRANGE_WITHLABELS_1.default.transformReply, +}; +//# sourceMappingURL=MREVRANGE_WITHLABELS.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS.js.map new file mode 100644 index 0000000..d2be3ea --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MREVRANGE_WITHLABELS.js","sourceRoot":"","sources":["../../../lib/commands/MREVRANGE_WITHLABELS.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,yEAAkG;AAElG,kBAAe;IACb,iBAAiB,EAAE,2BAAiB,CAAC,iBAAiB;IACtD,YAAY,EAAE,2BAAiB,CAAC,YAAY;IAC5C;;;;;;;OAOG;IACH,YAAY,EAAE,IAAA,4DAAwC,EAAC,cAAc,CAAC;IACtE,cAAc,EAAE,2BAAiB,CAAC,cAAc;CACtB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS_GROUPBY.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS_GROUPBY.d.ts new file mode 100644 index 0000000..1f2be0d --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS_GROUPBY.d.ts @@ -0,0 +1,34 @@ +/// +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Gets samples for time series matching a filter with labels and grouping (in reverse order) + * @param parser - The command parser + * @param fromTimestamp - Start timestamp for range + * @param toTimestamp - End timestamp for range + * @param filter - Filter to match time series keys + * @param groupBy - Group by parameters + * @param options - Optional parameters for the command + */ + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("./MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE_WITHLABELS_GROUPBY").TsMRangeWithLabelsGroupByRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sources: string[] | Buffer[]; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("./MRANGE_WITHLABELS_GROUPBY").TsMRangeWithLabelsGroupByRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sources: import("@redis/client/dist/lib/RESP/types").ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; +}; +export default _default; +//# sourceMappingURL=MREVRANGE_WITHLABELS_GROUPBY.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS_GROUPBY.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS_GROUPBY.d.ts.map new file mode 100644 index 0000000..8b7e6ee --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS_GROUPBY.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MREVRANGE_WITHLABELS_GROUPBY.d.ts","sourceRoot":"","sources":["../../../lib/commands/MREVRANGE_WITHLABELS_GROUPBY.ts"],"names":[],"mappings":";;;IAKE;;;;;;;;OAQG;;;;;;;;;;;;;;;;;;;;;AAVL,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS_GROUPBY.js b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS_GROUPBY.js new file mode 100644 index 0000000..f6ebdd1 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS_GROUPBY.js @@ -0,0 +1,41 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const MRANGE_WITHLABELS_GROUPBY_1 = __importStar(require("./MRANGE_WITHLABELS_GROUPBY")); +exports.default = { + IS_READ_ONLY: MRANGE_WITHLABELS_GROUPBY_1.default.IS_READ_ONLY, + /** + * Gets samples for time series matching a filter with labels and grouping (in reverse order) + * @param parser - The command parser + * @param fromTimestamp - Start timestamp for range + * @param toTimestamp - End timestamp for range + * @param filter - Filter to match time series keys + * @param groupBy - Group by parameters + * @param options - Optional parameters for the command + */ + parseCommand: (0, MRANGE_WITHLABELS_GROUPBY_1.createMRangeWithLabelsGroupByTransformArguments)('TS.MREVRANGE'), + transformReply: MRANGE_WITHLABELS_GROUPBY_1.default.transformReply, +}; +//# sourceMappingURL=MREVRANGE_WITHLABELS_GROUPBY.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS_GROUPBY.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS_GROUPBY.js.map new file mode 100644 index 0000000..7724ac3 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/MREVRANGE_WITHLABELS_GROUPBY.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MREVRANGE_WITHLABELS_GROUPBY.js","sourceRoot":"","sources":["../../../lib/commands/MREVRANGE_WITHLABELS_GROUPBY.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,yFAAyH;AAEzH,kBAAe;IACb,YAAY,EAAE,mCAAyB,CAAC,YAAY;IACpD;;;;;;;;OAQG;IACH,YAAY,EAAE,IAAA,2EAA+C,EAAC,cAAc,CAAC;IAC7E,cAAc,EAAE,mCAAyB,CAAC,cAAc;CAC9B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/QUERYINDEX.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/QUERYINDEX.d.ts new file mode 100644 index 0000000..a4a5abd --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/QUERYINDEX.d.ts @@ -0,0 +1,19 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { ArrayReply, BlobStringReply, SetReply } from '@redis/client/dist/lib/RESP/types'; +import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers'; +declare const _default: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + /** + * Queries the index for time series matching a specific filter + * @param parser - The command parser + * @param filter - Filter to match time series labels + */ + readonly parseCommand: (this: void, parser: CommandParser, filter: RedisVariadicArgument) => void; + readonly transformReply: { + readonly 2: () => ArrayReply; + readonly 3: () => SetReply; + }; +}; +export default _default; +//# sourceMappingURL=QUERYINDEX.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/QUERYINDEX.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/QUERYINDEX.d.ts.map new file mode 100644 index 0000000..92c8c92 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/QUERYINDEX.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"QUERYINDEX.d.ts","sourceRoot":"","sources":["../../../lib/commands/QUERYINDEX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAW,MAAM,mCAAmC,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;;;;IAK3F;;;;OAIG;gDACkB,aAAa,UAAU,qBAAqB;;0BAK9B,WAAW,eAAe,CAAC;0BAC3B,SAAS,eAAe,CAAC;;;AAd9D,wBAgB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/QUERYINDEX.js b/back/node_modules/@redis/time-series/dist/lib/commands/QUERYINDEX.js new file mode 100644 index 0000000..8295359 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/QUERYINDEX.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + NOT_KEYED_COMMAND: true, + IS_READ_ONLY: true, + /** + * Queries the index for time series matching a specific filter + * @param parser - The command parser + * @param filter - Filter to match time series labels + */ + parseCommand(parser, filter) { + parser.push('TS.QUERYINDEX'); + parser.pushVariadic(filter); + }, + transformReply: { + 2: undefined, + 3: undefined + } +}; +//# sourceMappingURL=QUERYINDEX.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/QUERYINDEX.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/QUERYINDEX.js.map new file mode 100644 index 0000000..d9043f4 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/QUERYINDEX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"QUERYINDEX.js","sourceRoot":"","sources":["../../../lib/commands/QUERYINDEX.ts"],"names":[],"mappings":";;AAIA,kBAAe;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB;;;;OAIG;IACH,YAAY,CAAC,MAAqB,EAAE,MAA6B;QAC/D,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7B,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IACD,cAAc,EAAE;QACd,CAAC,EAAE,SAAyD;QAC5D,CAAC,EAAE,SAAuD;KAC3D;CACyB,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/RANGE.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/RANGE.d.ts new file mode 100644 index 0000000..6984633 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/RANGE.d.ts @@ -0,0 +1,49 @@ +import { CommandParser } from '@redis/client/dist/lib/client/parser'; +import { RedisArgument } from '@redis/client/dist/lib/RESP/types'; +import { Timestamp, SamplesRawReply } from './helpers'; +import { TimeSeriesAggregationType } from './CREATERULE'; +export declare const TIME_SERIES_BUCKET_TIMESTAMP: { + LOW: string; + MIDDLE: string; + END: string; +}; +export type TimeSeriesBucketTimestamp = typeof TIME_SERIES_BUCKET_TIMESTAMP[keyof typeof TIME_SERIES_BUCKET_TIMESTAMP]; +export interface TsRangeOptions { + LATEST?: boolean; + FILTER_BY_TS?: Array; + FILTER_BY_VALUE?: { + min: number; + max: number; + }; + COUNT?: number; + ALIGN?: Timestamp; + AGGREGATION?: { + ALIGN?: Timestamp; + type: TimeSeriesAggregationType; + timeBucket: Timestamp; + BUCKETTIMESTAMP?: TimeSeriesBucketTimestamp; + EMPTY?: boolean; + }; +} +export declare function parseRangeArguments(parser: CommandParser, fromTimestamp: Timestamp, toTimestamp: Timestamp, options?: TsRangeOptions): void; +export declare function transformRangeArguments(parser: CommandParser, key: RedisArgument, fromTimestamp: Timestamp, toTimestamp: Timestamp, options?: TsRangeOptions): void; +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Gets samples from a time series within a time range + * @param args - Arguments passed to the {@link transformRangeArguments} function + */ + readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, fromTimestamp: Timestamp, toTimestamp: Timestamp, options?: TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/client/dist/lib/RESP/types").RespType<42, import("@redis/client/dist/lib/RESP/types").RespType<42, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply], never, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply]>[], never, import("@redis/client/dist/lib/RESP/types").RespType<42, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply], never, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply]>[]>) => { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + readonly 3: (this: void, reply: SamplesRawReply) => { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }; +}; +export default _default; +//# sourceMappingURL=RANGE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/RANGE.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/RANGE.d.ts.map new file mode 100644 index 0000000..a6e3bc5 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/RANGE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"RANGE.d.ts","sourceRoot":"","sources":["../../../lib/commands/RANGE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAW,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAA8B,eAAe,EAAyB,MAAM,WAAW,CAAC;AAC1G,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAGzD,eAAO,MAAM,4BAA4B;;;;CAIxC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,OAAO,4BAA4B,CAAC,MAAM,OAAO,4BAA4B,CAAC,CAAC;AAEvH,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAChC,eAAe,CAAC,EAAE;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE;QACZ,KAAK,CAAC,EAAE,SAAS,CAAC;QAClB,IAAI,EAAE,yBAAyB,CAAC;QAChC,UAAU,EAAE,SAAS,CAAC;QACtB,eAAe,CAAC,EAAE,yBAAyB,CAAC;QAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;CACH;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,SAAS,EACxB,WAAW,EAAE,SAAS,EACtB,OAAO,CAAC,EAAE,cAAc,QAoDzB;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,aAAa,EAClB,aAAa,EAAE,SAAS,EACxB,WAAW,EAAE,SAAS,EACtB,OAAO,CAAC,EAAE,cAAc,QAIzB;;;IAIC;;;OAGG;;;;;;;;;;;;;AALL,wBAoB6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/RANGE.js b/back/node_modules/@redis/time-series/dist/lib/commands/RANGE.js new file mode 100644 index 0000000..6ce96a0 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/RANGE.js @@ -0,0 +1,66 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.transformRangeArguments = exports.parseRangeArguments = exports.TIME_SERIES_BUCKET_TIMESTAMP = void 0; +const helpers_1 = require("./helpers"); +exports.TIME_SERIES_BUCKET_TIMESTAMP = { + LOW: '-', + MIDDLE: '~', + END: '+' +}; +function parseRangeArguments(parser, fromTimestamp, toTimestamp, options) { + parser.push((0, helpers_1.transformTimestampArgument)(fromTimestamp), (0, helpers_1.transformTimestampArgument)(toTimestamp)); + if (options?.LATEST) { + parser.push('LATEST'); + } + if (options?.FILTER_BY_TS) { + parser.push('FILTER_BY_TS'); + for (const timestamp of options.FILTER_BY_TS) { + parser.push((0, helpers_1.transformTimestampArgument)(timestamp)); + } + } + if (options?.FILTER_BY_VALUE) { + parser.push('FILTER_BY_VALUE', options.FILTER_BY_VALUE.min.toString(), options.FILTER_BY_VALUE.max.toString()); + } + if (options?.COUNT !== undefined) { + parser.push('COUNT', options.COUNT.toString()); + } + if (options?.AGGREGATION) { + if (options?.ALIGN !== undefined) { + parser.push('ALIGN', (0, helpers_1.transformTimestampArgument)(options.ALIGN)); + } + parser.push('AGGREGATION', options.AGGREGATION.type, (0, helpers_1.transformTimestampArgument)(options.AGGREGATION.timeBucket)); + if (options.AGGREGATION.BUCKETTIMESTAMP) { + parser.push('BUCKETTIMESTAMP', options.AGGREGATION.BUCKETTIMESTAMP); + } + if (options.AGGREGATION.EMPTY) { + parser.push('EMPTY'); + } + } +} +exports.parseRangeArguments = parseRangeArguments; +function transformRangeArguments(parser, key, fromTimestamp, toTimestamp, options) { + parser.pushKey(key); + parseRangeArguments(parser, fromTimestamp, toTimestamp, options); +} +exports.transformRangeArguments = transformRangeArguments; +exports.default = { + IS_READ_ONLY: true, + /** + * Gets samples from a time series within a time range + * @param args - Arguments passed to the {@link transformRangeArguments} function + */ + parseCommand(...args) { + const parser = args[0]; + parser.push('TS.RANGE'); + transformRangeArguments(...args); + }, + transformReply: { + 2(reply) { + return helpers_1.transformSamplesReply[2](reply); + }, + 3(reply) { + return helpers_1.transformSamplesReply[3](reply); + } + } +}; +//# sourceMappingURL=RANGE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/RANGE.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/RANGE.js.map new file mode 100644 index 0000000..b3048c9 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/RANGE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RANGE.js","sourceRoot":"","sources":["../../../lib/commands/RANGE.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/REVRANGE.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/REVRANGE.d.ts new file mode 100644 index 0000000..4bd133e --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/REVRANGE.d.ts @@ -0,0 +1,20 @@ +declare const _default: { + readonly IS_READ_ONLY: true; + /** + * Gets samples from a time series within a time range (in reverse order) + * @param args - Arguments passed to the {@link transformRangeArguments} function + */ + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/client/dist/lib/RESP/types").RespType<42, import("@redis/client/dist/lib/RESP/types").RespType<42, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply], never, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply]>[], never, import("@redis/client/dist/lib/RESP/types").RespType<42, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply], never, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply]>[]>) => { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + readonly 3: (this: void, reply: import("./helpers").SamplesRawReply) => { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }; +}; +export default _default; +//# sourceMappingURL=REVRANGE.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/REVRANGE.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/REVRANGE.d.ts.map new file mode 100644 index 0000000..eac068f --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/REVRANGE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"REVRANGE.d.ts","sourceRoot":"","sources":["../../../lib/commands/REVRANGE.ts"],"names":[],"mappings":";;IAKE;;;OAGG;;;;;;;;;;;;;AALL,wBAa6B"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/REVRANGE.js b/back/node_modules/@redis/time-series/dist/lib/commands/REVRANGE.js new file mode 100644 index 0000000..9dc766f --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/REVRANGE.js @@ -0,0 +1,40 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const RANGE_1 = __importStar(require("./RANGE")); +exports.default = { + IS_READ_ONLY: RANGE_1.default.IS_READ_ONLY, + /** + * Gets samples from a time series within a time range (in reverse order) + * @param args - Arguments passed to the {@link transformRangeArguments} function + */ + parseCommand(...args) { + const parser = args[0]; + parser.push('TS.REVRANGE'); + (0, RANGE_1.transformRangeArguments)(...args); + }, + transformReply: RANGE_1.default.transformReply +}; +//# sourceMappingURL=REVRANGE.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/REVRANGE.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/REVRANGE.js.map new file mode 100644 index 0000000..bcf40f2 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/REVRANGE.js.map @@ -0,0 +1 @@ +{"version":3,"file":"REVRANGE.js","sourceRoot":"","sources":["../../../lib/commands/REVRANGE.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,iDAAyD;AAEzD,kBAAe;IACb,YAAY,EAAE,eAAK,CAAC,YAAY;IAChC;;;OAGG;IACH,YAAY,CAAC,GAAG,IAAgD;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEvB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,IAAA,+BAAuB,EAAC,GAAG,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,cAAc,EAAE,eAAK,CAAC,cAAc;CACV,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/helpers.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/helpers.d.ts new file mode 100644 index 0000000..0775d98 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/helpers.d.ts @@ -0,0 +1,67 @@ +/// +import { CommandParser } from "@redis/client/dist/lib/client/parser"; +import { TsIgnoreOptions } from "./ADD"; +import { ArrayReply, BlobStringReply, DoubleReply, MapReply, NullReply, NumberReply, ReplyUnion, RespType, TuplesReply, TypeMapping, UnwrapReply } from "@redis/client/dist/lib/RESP/types"; +import { RedisVariadicArgument } from "@redis/client/dist/lib/commands/generic-transformers"; +export declare function parseIgnoreArgument(parser: CommandParser, ignore?: TsIgnoreOptions): void; +export declare function parseRetentionArgument(parser: CommandParser, retention?: number): void; +export declare const TIME_SERIES_ENCODING: { + readonly COMPRESSED: "COMPRESSED"; + readonly UNCOMPRESSED: "UNCOMPRESSED"; +}; +export type TimeSeriesEncoding = typeof TIME_SERIES_ENCODING[keyof typeof TIME_SERIES_ENCODING]; +export declare function parseEncodingArgument(parser: CommandParser, encoding?: TimeSeriesEncoding): void; +export declare function parseChunkSizeArgument(parser: CommandParser, chunkSize?: number): void; +export declare const TIME_SERIES_DUPLICATE_POLICIES: { + readonly BLOCK: "BLOCK"; + readonly FIRST: "FIRST"; + readonly LAST: "LAST"; + readonly MIN: "MIN"; + readonly MAX: "MAX"; + readonly SUM: "SUM"; +}; +export type TimeSeriesDuplicatePolicies = typeof TIME_SERIES_DUPLICATE_POLICIES[keyof typeof TIME_SERIES_DUPLICATE_POLICIES]; +export declare function parseDuplicatePolicy(parser: CommandParser, duplicatePolicy?: TimeSeriesDuplicatePolicies): void; +export type Timestamp = number | Date | string; +export declare function transformTimestampArgument(timestamp: Timestamp): string; +export type Labels = { + [label: string]: string; +}; +export declare function parseLabelsArgument(parser: CommandParser, labels?: Labels): void; +export type SampleRawReply = TuplesReply<[timestamp: NumberReply, value: DoubleReply]>; +export declare const transformSampleReply: { + 2(reply: RespType<42, [NumberReply, BlobStringReply], never, [NumberReply, BlobStringReply]>): { + timestamp: NumberReply; + value: number; + }; + 3(reply: SampleRawReply): { + timestamp: NumberReply; + value: DoubleReply; + }; +}; +export type SamplesRawReply = ArrayReply; +export declare const transformSamplesReply: { + 2(reply: RespType<42, RespType<42, [NumberReply, BlobStringReply], never, [NumberReply, BlobStringReply]>[], never, RespType<42, [NumberReply, BlobStringReply], never, [NumberReply, BlobStringReply]>[]>): { + timestamp: NumberReply; + value: number; + }[]; + 3(reply: SamplesRawReply): { + timestamp: NumberReply; + value: DoubleReply; + }[]; +}; +export declare function resp2MapToValue]>, TRANSFORMED>(wrappedReply: ArrayReply, parseFunc: (rawValue: UnwrapReply) => TRANSFORMED, typeMapping?: TypeMapping): MapReply; +export declare function resp3MapToValue, // TODO: simplify types +TRANSFORMED>(wrappedReply: MapReply, parseFunc: (rawValue: UnwrapReply) => TRANSFORMED): MapReply; +export declare function parseSelectedLabelsArguments(parser: CommandParser, selectedLabels: RedisVariadicArgument): void; +export type RawLabelValue = BlobStringReply | NullReply; +export type RawLabels = ArrayReply>; +export declare function transformRESP2Labels(labels: RawLabels, typeMapping?: TypeMapping): MapReply; +export declare function transformRESP2LabelsWithSources(labels: RawLabels, typeMapping?: TypeMapping): { + labels: MapReply, T>; + sources: string[] | Buffer[]; +}; +//# sourceMappingURL=helpers.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/helpers.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/helpers.d.ts.map new file mode 100644 index 0000000..9d2cae3 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/helpers.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../lib/commands/helpers.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/helpers.js b/back/node_modules/@redis/time-series/dist/lib/commands/helpers.js new file mode 100644 index 0000000..83bf2dd --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/helpers.js @@ -0,0 +1,237 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.transformRESP2LabelsWithSources = exports.transformRESP2Labels = exports.parseSelectedLabelsArguments = exports.resp3MapToValue = exports.resp2MapToValue = exports.transformSamplesReply = exports.transformSampleReply = exports.parseLabelsArgument = exports.transformTimestampArgument = exports.parseDuplicatePolicy = exports.TIME_SERIES_DUPLICATE_POLICIES = exports.parseChunkSizeArgument = exports.parseEncodingArgument = exports.TIME_SERIES_ENCODING = exports.parseRetentionArgument = exports.parseIgnoreArgument = void 0; +const client_1 = require("@redis/client"); +function parseIgnoreArgument(parser, ignore) { + if (ignore !== undefined) { + parser.push('IGNORE', ignore.maxTimeDiff.toString(), ignore.maxValDiff.toString()); + } +} +exports.parseIgnoreArgument = parseIgnoreArgument; +function parseRetentionArgument(parser, retention) { + if (retention !== undefined) { + parser.push('RETENTION', retention.toString()); + } +} +exports.parseRetentionArgument = parseRetentionArgument; +exports.TIME_SERIES_ENCODING = { + COMPRESSED: 'COMPRESSED', + UNCOMPRESSED: 'UNCOMPRESSED' +}; +function parseEncodingArgument(parser, encoding) { + if (encoding !== undefined) { + parser.push('ENCODING', encoding); + } +} +exports.parseEncodingArgument = parseEncodingArgument; +function parseChunkSizeArgument(parser, chunkSize) { + if (chunkSize !== undefined) { + parser.push('CHUNK_SIZE', chunkSize.toString()); + } +} +exports.parseChunkSizeArgument = parseChunkSizeArgument; +exports.TIME_SERIES_DUPLICATE_POLICIES = { + BLOCK: 'BLOCK', + FIRST: 'FIRST', + LAST: 'LAST', + MIN: 'MIN', + MAX: 'MAX', + SUM: 'SUM' +}; +function parseDuplicatePolicy(parser, duplicatePolicy) { + if (duplicatePolicy !== undefined) { + parser.push('DUPLICATE_POLICY', duplicatePolicy); + } +} +exports.parseDuplicatePolicy = parseDuplicatePolicy; +function transformTimestampArgument(timestamp) { + if (typeof timestamp === 'string') + return timestamp; + return (typeof timestamp === 'number' ? + timestamp : + timestamp.getTime()).toString(); +} +exports.transformTimestampArgument = transformTimestampArgument; +function parseLabelsArgument(parser, labels) { + if (labels) { + parser.push('LABELS'); + for (const [label, value] of Object.entries(labels)) { + parser.push(label, value); + } + } +} +exports.parseLabelsArgument = parseLabelsArgument; +exports.transformSampleReply = { + 2(reply) { + const [timestamp, value] = reply; + return { + timestamp, + value: Number(value) // TODO: use double type mapping instead + }; + }, + 3(reply) { + const [timestamp, value] = reply; + return { + timestamp, + value + }; + } +}; +exports.transformSamplesReply = { + 2(reply) { + return reply + .map(sample => exports.transformSampleReply[2](sample)); + }, + 3(reply) { + return reply + .map(sample => exports.transformSampleReply[3](sample)); + } +}; +// TODO: move to @redis/client? +function resp2MapToValue(wrappedReply, parseFunc, typeMapping) { + const reply = wrappedReply; + switch (typeMapping?.[client_1.RESP_TYPES.MAP]) { + case Map: { + const ret = new Map(); + for (const wrappedTuple of reply) { + const tuple = wrappedTuple; + const key = tuple[0]; + ret.set(key.toString(), parseFunc(tuple)); + } + return ret; + } + case Array: { + for (const wrappedTuple of reply) { + const tuple = wrappedTuple; + tuple[1] = parseFunc(tuple); + } + return reply; + } + default: { + const ret = Object.create(null); + for (const wrappedTuple of reply) { + const tuple = wrappedTuple; + const key = tuple[0]; + ret[key.toString()] = parseFunc(tuple); + } + return ret; + } + } +} +exports.resp2MapToValue = resp2MapToValue; +function resp3MapToValue(wrappedReply, parseFunc) { + const reply = wrappedReply; + if (reply instanceof Array) { + for (let i = 1; i < reply.length; i += 2) { + reply[i] = parseFunc(reply[i]); + } + } + else if (reply instanceof Map) { + for (const [key, value] of reply.entries()) { + reply.set(key, parseFunc(value)); + } + } + else { + for (const [key, value] of Object.entries(reply)) { + reply[key] = parseFunc(value); + } + } + return reply; +} +exports.resp3MapToValue = resp3MapToValue; +function parseSelectedLabelsArguments(parser, selectedLabels) { + parser.push('SELECTED_LABELS'); + parser.pushVariadic(selectedLabels); +} +exports.parseSelectedLabelsArguments = parseSelectedLabelsArguments; +function transformRESP2Labels(labels, typeMapping) { + const unwrappedLabels = labels; + switch (typeMapping?.[client_1.RESP_TYPES.MAP]) { + case Map: + const map = new Map(); + for (const tuple of unwrappedLabels) { + const [key, value] = tuple; + const unwrappedKey = key; + map.set(unwrappedKey.toString(), value); + } + return map; + case Array: + return unwrappedLabels.flat(); + case Object: + default: + const labelsObject = Object.create(null); + for (const tuple of unwrappedLabels) { + const [key, value] = tuple; + const unwrappedKey = key; + labelsObject[unwrappedKey.toString()] = value; + } + return labelsObject; + } +} +exports.transformRESP2Labels = transformRESP2Labels; +function transformRESP2LabelsWithSources(labels, typeMapping) { + const unwrappedLabels = labels; + const to = unwrappedLabels.length - 2; // ignore __reducer__ and __source__ + let transformedLabels; + switch (typeMapping?.[client_1.RESP_TYPES.MAP]) { + case Map: + const map = new Map(); + for (let i = 0; i < to; i++) { + const [key, value] = unwrappedLabels[i]; + const unwrappedKey = key; + map.set(unwrappedKey.toString(), value); + } + transformedLabels = map; + break; + case Array: + transformedLabels = unwrappedLabels.slice(0, to).flat(); + break; + case Object: + default: + const labelsObject = Object.create(null); + for (let i = 0; i < to; i++) { + const [key, value] = unwrappedLabels[i]; + const unwrappedKey = key; + labelsObject[unwrappedKey.toString()] = value; + } + transformedLabels = labelsObject; + break; + } + const sourcesTuple = unwrappedLabels[unwrappedLabels.length - 1]; + const unwrappedSourcesTuple = sourcesTuple; + // the __source__ label will never be null + const transformedSources = transformRESP2Sources(unwrappedSourcesTuple[1]); + return { + labels: transformedLabels, + sources: transformedSources + }; +} +exports.transformRESP2LabelsWithSources = transformRESP2LabelsWithSources; +function transformRESP2Sources(sourcesRaw) { + // if a label contains "," this function will produce incorrcet results.. + // there is not much we can do about it, and we assume most users won't be using "," in their labels.. + const unwrappedSources = sourcesRaw; + if (typeof unwrappedSources === 'string') { + return unwrappedSources.split(','); + } + const indexOfComma = unwrappedSources.indexOf(','); + if (indexOfComma === -1) { + return [unwrappedSources]; + } + const sourcesArray = [ + unwrappedSources.subarray(0, indexOfComma) + ]; + let previousComma = indexOfComma + 1; + while (true) { + const indexOf = unwrappedSources.indexOf(',', previousComma); + if (indexOf === -1) { + sourcesArray.push(unwrappedSources.subarray(previousComma)); + break; + } + const source = unwrappedSources.subarray(previousComma, indexOf); + sourcesArray.push(source); + previousComma = indexOf + 1; + } + return sourcesArray; +} +//# sourceMappingURL=helpers.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/helpers.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/helpers.js.map new file mode 100644 index 0000000..56af335 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/helpers.js.map @@ -0,0 +1 @@ +{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../lib/commands/helpers.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/index.d.ts b/back/node_modules/@redis/time-series/dist/lib/commands/index.d.ts new file mode 100644 index 0000000..af11c2f --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/index.d.ts @@ -0,0 +1,824 @@ +/// +export * from './helpers'; +declare const _default: { + readonly ADD: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, timestamp: import("./helpers").Timestamp, value: number, options?: import("./ADD").TsAddOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + readonly add: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, timestamp: import("./helpers").Timestamp, value: number, options?: import("./ADD").TsAddOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + readonly ALTER: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./ALTER").TsAlterOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly alter: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./ALTER").TsAlterOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly CREATE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./CREATE").TsCreateOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly create: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./CREATE").TsCreateOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly CREATERULE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, sourceKey: import("@redis/client/dist/lib/RESP/types").RedisArgument, destinationKey: import("@redis/client/dist/lib/RESP/types").RedisArgument, aggregationType: import("./CREATERULE").TimeSeriesAggregationType, bucketDuration: number, alignTimestamp?: number | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly createRule: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, sourceKey: import("@redis/client/dist/lib/RESP/types").RedisArgument, destinationKey: import("@redis/client/dist/lib/RESP/types").RedisArgument, aggregationType: import("./CREATERULE").TimeSeriesAggregationType, bucketDuration: number, alignTimestamp?: number | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly DECRBY: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, value: number, options?: import("./INCRBY").TsIncrByOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + readonly decrBy: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, value: number, options?: import("./INCRBY").TsIncrByOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + readonly DEL: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + readonly del: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + readonly DELETERULE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, sourceKey: import("@redis/client/dist/lib/RESP/types").RedisArgument, destinationKey: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly deleteRule: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, sourceKey: import("@redis/client/dist/lib/RESP/types").RedisArgument, destinationKey: import("@redis/client/dist/lib/RESP/types").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly GET: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./GET").TsGetOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/client/dist/lib/RESP/types").UnwrapReply>) => { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + } | null; + readonly 3: (this: void, reply: import("@redis/client/dist/lib/RESP/types").UnwrapReply) => { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + } | null; + }; + }; + readonly get: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, options?: import("./GET").TsGetOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/client/dist/lib/RESP/types").UnwrapReply>) => { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + } | null; + readonly 3: (this: void, reply: import("@redis/client/dist/lib/RESP/types").UnwrapReply) => { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + } | null; + }; + }; + readonly INCRBY: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, value: number, options?: import("./INCRBY").TsIncrByOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + readonly incrBy: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, value: number, options?: import("./INCRBY").TsIncrByOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + readonly INFO_DEBUG: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: string) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [...import("./INFO").InfoRawReplyTypes[], "keySelfName", import("@redis/client/dist/lib/RESP/types").BlobStringReply, "Chunks", ["startTimestamp", import("@redis/client/dist/lib/RESP/types").NumberReply, "endTimestamp", import("@redis/client/dist/lib/RESP/types").NumberReply, "samples", import("@redis/client/dist/lib/RESP/types").NumberReply, "size", import("@redis/client/dist/lib/RESP/types").NumberReply, "bytesPerSample", import("@redis/client/dist/lib/RESP/types").SimpleStringReply][]], _: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("./INFO_DEBUG").InfoDebugReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + readonly infoDebug: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: string) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [...import("./INFO").InfoRawReplyTypes[], "keySelfName", import("@redis/client/dist/lib/RESP/types").BlobStringReply, "Chunks", ["startTimestamp", import("@redis/client/dist/lib/RESP/types").NumberReply, "endTimestamp", import("@redis/client/dist/lib/RESP/types").NumberReply, "samples", import("@redis/client/dist/lib/RESP/types").NumberReply, "size", import("@redis/client/dist/lib/RESP/types").NumberReply, "bytesPerSample", import("@redis/client/dist/lib/RESP/types").SimpleStringReply][]], _: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("./INFO_DEBUG").InfoDebugReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + readonly INFO: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: string) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./INFO").InfoRawReply, _: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("./INFO").InfoReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + readonly info: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: string) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./INFO").InfoRawReply, _: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("./INFO").InfoReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + readonly MADD: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, toAdd: import("./MADD").TsMAddSample[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly mAdd: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, toAdd: import("./MADD").TsMAddSample[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly MGET_SELECTED_LABELS: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, selectedLabels: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./MGET").TsMGetOptions | undefined) => void; + readonly transformReply: { + 2(this: void, reply: import("./MGET_WITHLABELS").MGetLabelsRawReply2>, _: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined): import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }; + }>; + 3(this: void, reply: import("./MGET_WITHLABELS").MGetLabelsRawReply3>): import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }>; + }; + }; + readonly mGetSelectedLabels: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, selectedLabels: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./MGET").TsMGetOptions | undefined) => void; + readonly transformReply: { + 2(this: void, reply: import("./MGET_WITHLABELS").MGetLabelsRawReply2>, _: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined): import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }; + }>; + 3(this: void, reply: import("./MGET_WITHLABELS").MGetLabelsRawReply3>): import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }>; + }; + }; + readonly MGET_WITHLABELS: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./MGET_WITHLABELS").TsMGetWithLabelsOptions | undefined) => void; + readonly transformReply: { + 2(this: void, reply: import("./MGET_WITHLABELS").MGetLabelsRawReply2>, _: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined): import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }; + }>; + 3(this: void, reply: import("./MGET_WITHLABELS").MGetLabelsRawReply3>): import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }>; + }; + }; + readonly mGetWithLabels: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./MGET_WITHLABELS").TsMGetWithLabelsOptions | undefined) => void; + readonly transformReply: { + 2(this: void, reply: import("./MGET_WITHLABELS").MGetLabelsRawReply2>, _: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined): import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }; + }>; + 3(this: void, reply: import("./MGET_WITHLABELS").MGetLabelsRawReply3>): import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }>; + }; + }; + readonly MGET: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./MGET").TsMGetOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MGET").MGetRawReply2, _: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }; + }>; + readonly 3: (this: void, reply: import("./MGET").MGetRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }>; + }; + }; + readonly mGet: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./MGET").TsMGetOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MGET").MGetRawReply2, _: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }; + }>; + readonly 3: (this: void, reply: import("./MGET").MGetRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }>; + }; + }; + readonly MRANGE_GROUPBY: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("./MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE_GROUPBY").TsMRangeGroupByRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("./MRANGE_GROUPBY").TsMRangeGroupByRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + sources: import("@redis/client/dist/lib/RESP/types").ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly mRangeGroupBy: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("./MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE_GROUPBY").TsMRangeGroupByRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("./MRANGE_GROUPBY").TsMRangeGroupByRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + sources: import("@redis/client/dist/lib/RESP/types").ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly MRANGE_SELECTED_LABELS_GROUPBY: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, selectedLabels: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("./MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("./MRANGE_SELECTED_LABELS_GROUPBY").TsMRangeWithLabelsGroupByRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sources: import("@redis/client/dist/lib/RESP/types").ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly mRangeSelectedLabelsGroupBy: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, selectedLabels: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("./MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("./MRANGE_SELECTED_LABELS_GROUPBY").TsMRangeWithLabelsGroupByRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sources: import("@redis/client/dist/lib/RESP/types").ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly MRANGE_SELECTED_LABELS: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, selectedLabels: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("./MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: never; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly mRangeSelectedLabels: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, selectedLabels: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("./MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: never; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly MRANGE_WITHLABELS_GROUPBY: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("./MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE_WITHLABELS_GROUPBY").TsMRangeWithLabelsGroupByRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sources: string[] | Buffer[]; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("./MRANGE_WITHLABELS_GROUPBY").TsMRangeWithLabelsGroupByRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sources: import("@redis/client/dist/lib/RESP/types").ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly mRangeWithLabelsGroupBy: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("./MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE_WITHLABELS_GROUPBY").TsMRangeWithLabelsGroupByRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sources: string[] | Buffer[]; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("./MRANGE_WITHLABELS_GROUPBY").TsMRangeWithLabelsGroupByRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sources: import("@redis/client/dist/lib/RESP/types").ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly MRANGE_WITHLABELS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE_WITHLABELS").TsMRangeWithLabelsRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: Record>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("./MRANGE_WITHLABELS").TsMRangeWithLabelsRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly mRangeWithLabels: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE_WITHLABELS").TsMRangeWithLabelsRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: Record>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("./MRANGE_WITHLABELS").TsMRangeWithLabelsRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly MRANGE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE").TsMRangeRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]>; + readonly 3: (this: void, reply: import("./MRANGE").TsMRangeRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]>; + }; + }; + readonly mRange: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE").TsMRangeRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]>; + readonly 3: (this: void, reply: import("./MRANGE").TsMRangeRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]>; + }; + }; + readonly MREVRANGE_GROUPBY: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("./MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE_GROUPBY").TsMRangeGroupByRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("./MRANGE_GROUPBY").TsMRangeGroupByRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + sources: import("@redis/client/dist/lib/RESP/types").ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly mRevRangeGroupBy: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("./MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE_GROUPBY").TsMRangeGroupByRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("./MRANGE_GROUPBY").TsMRangeGroupByRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + sources: import("@redis/client/dist/lib/RESP/types").ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly MREVRANGE_SELECTED_LABELS_GROUPBY: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, selectedLabels: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("./MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("./MRANGE_SELECTED_LABELS_GROUPBY").TsMRangeWithLabelsGroupByRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sources: import("@redis/client/dist/lib/RESP/types").ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly mRevRangeSelectedLabelsGroupBy: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, selectedLabels: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("./MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("./MRANGE_SELECTED_LABELS_GROUPBY").TsMRangeWithLabelsGroupByRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sources: import("@redis/client/dist/lib/RESP/types").ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly MREVRANGE_SELECTED_LABELS: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, selectedLabels: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("./MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: never; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly mRevRangeSelectedLabels: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, selectedLabels: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("./MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: never; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly MREVRANGE_WITHLABELS_GROUPBY: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("./MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE_WITHLABELS_GROUPBY").TsMRangeWithLabelsGroupByRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sources: string[] | Buffer[]; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("./MRANGE_WITHLABELS_GROUPBY").TsMRangeWithLabelsGroupByRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sources: import("@redis/client/dist/lib/RESP/types").ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly mRevRangeWithLabelsGroupBy: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("./MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE_WITHLABELS_GROUPBY").TsMRangeWithLabelsGroupByRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sources: string[] | Buffer[]; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("./MRANGE_WITHLABELS_GROUPBY").TsMRangeWithLabelsGroupByRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sources: import("@redis/client/dist/lib/RESP/types").ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly MREVRANGE_WITHLABELS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE_WITHLABELS").TsMRangeWithLabelsRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: Record>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("./MRANGE_WITHLABELS").TsMRangeWithLabelsRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly mRevRangeWithLabels: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE_WITHLABELS").TsMRangeWithLabelsRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: Record>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("./MRANGE_WITHLABELS").TsMRangeWithLabelsRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly MREVRANGE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE").TsMRangeRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]>; + readonly 3: (this: void, reply: import("./MRANGE").TsMRangeRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]>; + }; + }; + readonly mRevRange: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("./MRANGE").TsMRangeRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]>; + readonly 3: (this: void, reply: import("./MRANGE").TsMRangeRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]>; + }; + }; + readonly QUERYINDEX: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + readonly 2: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").SetReply>; + }; + }; + readonly queryIndex: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + readonly 2: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").SetReply>; + }; + }; + readonly RANGE: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/client/dist/lib/RESP/types").RespType<42, import("@redis/client/dist/lib/RESP/types").RespType<42, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply], never, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply]>[], never, import("@redis/client/dist/lib/RESP/types").RespType<42, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply], never, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply]>[]>) => { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + readonly 3: (this: void, reply: import("./helpers").SamplesRawReply) => { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }; + }; + readonly range: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/client/dist/lib/RESP/types").RespType<42, import("@redis/client/dist/lib/RESP/types").RespType<42, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply], never, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply]>[], never, import("@redis/client/dist/lib/RESP/types").RespType<42, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply], never, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply]>[]>) => { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + readonly 3: (this: void, reply: import("./helpers").SamplesRawReply) => { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }; + }; + readonly REVRANGE: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/client/dist/lib/RESP/types").RespType<42, import("@redis/client/dist/lib/RESP/types").RespType<42, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply], never, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply]>[], never, import("@redis/client/dist/lib/RESP/types").RespType<42, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply], never, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply]>[]>) => { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + readonly 3: (this: void, reply: import("./helpers").SamplesRawReply) => { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }; + }; + readonly revRange: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, options?: import("./RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/client/dist/lib/RESP/types").RespType<42, import("@redis/client/dist/lib/RESP/types").RespType<42, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply], never, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply]>[], never, import("@redis/client/dist/lib/RESP/types").RespType<42, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply], never, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply]>[]>) => { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + readonly 3: (this: void, reply: import("./helpers").SamplesRawReply) => { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }; + }; +}; +export default _default; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/index.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/commands/index.d.ts.map new file mode 100644 index 0000000..f215723 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/commands/index.ts"],"names":[],"mappings":";AAgCA,cAAc,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE1B,wBA6DmC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/index.js b/back/node_modules/@redis/time-series/dist/lib/commands/index.js new file mode 100644 index 0000000..527ea6d --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/index.js @@ -0,0 +1,113 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const ADD_1 = __importDefault(require("./ADD")); +const ALTER_1 = __importDefault(require("./ALTER")); +const CREATE_1 = __importDefault(require("./CREATE")); +const CREATERULE_1 = __importDefault(require("./CREATERULE")); +const DECRBY_1 = __importDefault(require("./DECRBY")); +const DEL_1 = __importDefault(require("./DEL")); +const DELETERULE_1 = __importDefault(require("./DELETERULE")); +const GET_1 = __importDefault(require("./GET")); +const INCRBY_1 = __importDefault(require("./INCRBY")); +const INFO_DEBUG_1 = __importDefault(require("./INFO_DEBUG")); +const INFO_1 = __importDefault(require("./INFO")); +const MADD_1 = __importDefault(require("./MADD")); +const MGET_SELECTED_LABELS_1 = __importDefault(require("./MGET_SELECTED_LABELS")); +const MGET_WITHLABELS_1 = __importDefault(require("./MGET_WITHLABELS")); +const MGET_1 = __importDefault(require("./MGET")); +const MRANGE_GROUPBY_1 = __importDefault(require("./MRANGE_GROUPBY")); +const MRANGE_SELECTED_LABELS_GROUPBY_1 = __importDefault(require("./MRANGE_SELECTED_LABELS_GROUPBY")); +const MRANGE_SELECTED_LABELS_1 = __importDefault(require("./MRANGE_SELECTED_LABELS")); +const MRANGE_WITHLABELS_GROUPBY_1 = __importDefault(require("./MRANGE_WITHLABELS_GROUPBY")); +const MRANGE_WITHLABELS_1 = __importDefault(require("./MRANGE_WITHLABELS")); +const MRANGE_1 = __importDefault(require("./MRANGE")); +const MREVRANGE_GROUPBY_1 = __importDefault(require("./MREVRANGE_GROUPBY")); +const MREVRANGE_SELECTED_LABELS_GROUPBY_1 = __importDefault(require("./MREVRANGE_SELECTED_LABELS_GROUPBY")); +const MREVRANGE_SELECTED_LABELS_1 = __importDefault(require("./MREVRANGE_SELECTED_LABELS")); +const MREVRANGE_WITHLABELS_GROUPBY_1 = __importDefault(require("./MREVRANGE_WITHLABELS_GROUPBY")); +const MREVRANGE_WITHLABELS_1 = __importDefault(require("./MREVRANGE_WITHLABELS")); +const MREVRANGE_1 = __importDefault(require("./MREVRANGE")); +const QUERYINDEX_1 = __importDefault(require("./QUERYINDEX")); +const RANGE_1 = __importDefault(require("./RANGE")); +const REVRANGE_1 = __importDefault(require("./REVRANGE")); +__exportStar(require("./helpers"), exports); +exports.default = { + ADD: ADD_1.default, + add: ADD_1.default, + ALTER: ALTER_1.default, + alter: ALTER_1.default, + CREATE: CREATE_1.default, + create: CREATE_1.default, + CREATERULE: CREATERULE_1.default, + createRule: CREATERULE_1.default, + DECRBY: DECRBY_1.default, + decrBy: DECRBY_1.default, + DEL: DEL_1.default, + del: DEL_1.default, + DELETERULE: DELETERULE_1.default, + deleteRule: DELETERULE_1.default, + GET: GET_1.default, + get: GET_1.default, + INCRBY: INCRBY_1.default, + incrBy: INCRBY_1.default, + INFO_DEBUG: INFO_DEBUG_1.default, + infoDebug: INFO_DEBUG_1.default, + INFO: INFO_1.default, + info: INFO_1.default, + MADD: MADD_1.default, + mAdd: MADD_1.default, + MGET_SELECTED_LABELS: MGET_SELECTED_LABELS_1.default, + mGetSelectedLabels: MGET_SELECTED_LABELS_1.default, + MGET_WITHLABELS: MGET_WITHLABELS_1.default, + mGetWithLabels: MGET_WITHLABELS_1.default, + MGET: MGET_1.default, + mGet: MGET_1.default, + MRANGE_GROUPBY: MRANGE_GROUPBY_1.default, + mRangeGroupBy: MRANGE_GROUPBY_1.default, + MRANGE_SELECTED_LABELS_GROUPBY: MRANGE_SELECTED_LABELS_GROUPBY_1.default, + mRangeSelectedLabelsGroupBy: MRANGE_SELECTED_LABELS_GROUPBY_1.default, + MRANGE_SELECTED_LABELS: MRANGE_SELECTED_LABELS_1.default, + mRangeSelectedLabels: MRANGE_SELECTED_LABELS_1.default, + MRANGE_WITHLABELS_GROUPBY: MRANGE_WITHLABELS_GROUPBY_1.default, + mRangeWithLabelsGroupBy: MRANGE_WITHLABELS_GROUPBY_1.default, + MRANGE_WITHLABELS: MRANGE_WITHLABELS_1.default, + mRangeWithLabels: MRANGE_WITHLABELS_1.default, + MRANGE: MRANGE_1.default, + mRange: MRANGE_1.default, + MREVRANGE_GROUPBY: MREVRANGE_GROUPBY_1.default, + mRevRangeGroupBy: MREVRANGE_GROUPBY_1.default, + MREVRANGE_SELECTED_LABELS_GROUPBY: MREVRANGE_SELECTED_LABELS_GROUPBY_1.default, + mRevRangeSelectedLabelsGroupBy: MREVRANGE_SELECTED_LABELS_GROUPBY_1.default, + MREVRANGE_SELECTED_LABELS: MREVRANGE_SELECTED_LABELS_1.default, + mRevRangeSelectedLabels: MREVRANGE_SELECTED_LABELS_1.default, + MREVRANGE_WITHLABELS_GROUPBY: MREVRANGE_WITHLABELS_GROUPBY_1.default, + mRevRangeWithLabelsGroupBy: MREVRANGE_WITHLABELS_GROUPBY_1.default, + MREVRANGE_WITHLABELS: MREVRANGE_WITHLABELS_1.default, + mRevRangeWithLabels: MREVRANGE_WITHLABELS_1.default, + MREVRANGE: MREVRANGE_1.default, + mRevRange: MREVRANGE_1.default, + QUERYINDEX: QUERYINDEX_1.default, + queryIndex: QUERYINDEX_1.default, + RANGE: RANGE_1.default, + range: RANGE_1.default, + REVRANGE: REVRANGE_1.default, + revRange: REVRANGE_1.default +}; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/commands/index.js.map b/back/node_modules/@redis/time-series/dist/lib/commands/index.js.map new file mode 100644 index 0000000..19d0155 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/commands/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/commands/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AACxB,oDAA4B;AAC5B,sDAA8B;AAC9B,8DAAsC;AACtC,sDAA8B;AAC9B,gDAAwB;AACxB,8DAAsC;AACtC,gDAAwB;AACxB,sDAA8B;AAC9B,8DAAsC;AACtC,kDAA0B;AAC1B,kDAA0B;AAC1B,kFAA0D;AAC1D,wEAAgD;AAChD,kDAA0B;AAC1B,sEAA8C;AAC9C,sGAA8E;AAC9E,sFAA8D;AAC9D,4FAAoE;AACpE,4EAAoD;AACpD,sDAA8B;AAC9B,4EAAoD;AACpD,4GAAoF;AACpF,4FAAoE;AACpE,kGAA0E;AAC1E,kFAA0D;AAC1D,4DAAoC;AACpC,8DAAsC;AACtC,oDAA4B;AAC5B,0DAAkC;AAGlC,4CAA0B;AAE1B,kBAAe;IACb,GAAG,EAAH,aAAG;IACH,GAAG,EAAE,aAAG;IACR,KAAK,EAAL,eAAK;IACL,KAAK,EAAE,eAAK;IACZ,MAAM,EAAN,gBAAM;IACN,MAAM,EAAE,gBAAM;IACd,UAAU,EAAV,oBAAU;IACV,UAAU,EAAE,oBAAU;IACtB,MAAM,EAAN,gBAAM;IACN,MAAM,EAAE,gBAAM;IACd,GAAG,EAAH,aAAG;IACH,GAAG,EAAE,aAAG;IACR,UAAU,EAAV,oBAAU;IACV,UAAU,EAAE,oBAAU;IACtB,GAAG,EAAH,aAAG;IACH,GAAG,EAAE,aAAG;IACR,MAAM,EAAN,gBAAM;IACN,MAAM,EAAE,gBAAM;IACd,UAAU,EAAV,oBAAU;IACV,SAAS,EAAE,oBAAU;IACrB,IAAI,EAAJ,cAAI;IACJ,IAAI,EAAE,cAAI;IACV,IAAI,EAAJ,cAAI;IACJ,IAAI,EAAE,cAAI;IACV,oBAAoB,EAApB,8BAAoB;IACpB,kBAAkB,EAAE,8BAAoB;IACxC,eAAe,EAAf,yBAAe;IACf,cAAc,EAAE,yBAAe;IAC/B,IAAI,EAAJ,cAAI;IACJ,IAAI,EAAE,cAAI;IACV,cAAc,EAAd,wBAAc;IACd,aAAa,EAAE,wBAAc;IAC7B,8BAA8B,EAA9B,wCAA8B;IAC9B,2BAA2B,EAAE,wCAA8B;IAC3D,sBAAsB,EAAtB,gCAAsB;IACtB,oBAAoB,EAAE,gCAAsB;IAC5C,yBAAyB,EAAzB,mCAAyB;IACzB,uBAAuB,EAAE,mCAAyB;IAClD,iBAAiB,EAAjB,2BAAiB;IACjB,gBAAgB,EAAE,2BAAiB;IACnC,MAAM,EAAN,gBAAM;IACN,MAAM,EAAE,gBAAM;IACd,iBAAiB,EAAjB,2BAAiB;IACjB,gBAAgB,EAAE,2BAAiB;IACnC,iCAAiC,EAAjC,2CAAiC;IACjC,8BAA8B,EAAE,2CAAiC;IACjE,yBAAyB,EAAzB,mCAAyB;IACzB,uBAAuB,EAAE,mCAAyB;IAClD,4BAA4B,EAA5B,sCAA4B;IAC5B,0BAA0B,EAAE,sCAA4B;IACxD,oBAAoB,EAApB,8BAAoB;IACpB,mBAAmB,EAAE,8BAAoB;IACzC,SAAS,EAAT,mBAAS;IACT,SAAS,EAAE,mBAAS;IACpB,UAAU,EAAV,oBAAU;IACV,UAAU,EAAE,oBAAU;IACtB,KAAK,EAAL,eAAK;IACL,KAAK,EAAE,eAAK;IACZ,QAAQ,EAAR,kBAAQ;IACR,QAAQ,EAAE,kBAAQ;CACc,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/index.d.ts b/back/node_modules/@redis/time-series/dist/lib/index.d.ts new file mode 100644 index 0000000..ebe863a --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/index.d.ts @@ -0,0 +1,5 @@ +export { default, TIME_SERIES_ENCODING, TimeSeriesEncoding, TIME_SERIES_DUPLICATE_POLICIES, TimeSeriesDuplicatePolicies } from './commands'; +export { TIME_SERIES_AGGREGATION_TYPE, TimeSeriesAggregationType } from './commands/CREATERULE'; +export { TIME_SERIES_BUCKET_TIMESTAMP, TimeSeriesBucketTimestamp } from './commands/RANGE'; +export { TIME_SERIES_REDUCERS, TimeSeriesReducer } from './commands/MRANGE_GROUPBY'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/index.d.ts.map b/back/node_modules/@redis/time-series/dist/lib/index.d.ts.map new file mode 100644 index 0000000..b2574c3 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,oBAAoB,EAAE,kBAAkB,EACxC,8BAA8B,EAAE,2BAA2B,EAC5D,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAChG,OAAO,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/index.js b/back/node_modules/@redis/time-series/dist/lib/index.js new file mode 100644 index 0000000..925ba16 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/index.js @@ -0,0 +1,17 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TIME_SERIES_REDUCERS = exports.TIME_SERIES_BUCKET_TIMESTAMP = exports.TIME_SERIES_AGGREGATION_TYPE = exports.TIME_SERIES_DUPLICATE_POLICIES = exports.TIME_SERIES_ENCODING = exports.default = void 0; +var commands_1 = require("./commands"); +Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(commands_1).default; } }); +Object.defineProperty(exports, "TIME_SERIES_ENCODING", { enumerable: true, get: function () { return commands_1.TIME_SERIES_ENCODING; } }); +Object.defineProperty(exports, "TIME_SERIES_DUPLICATE_POLICIES", { enumerable: true, get: function () { return commands_1.TIME_SERIES_DUPLICATE_POLICIES; } }); +var CREATERULE_1 = require("./commands/CREATERULE"); +Object.defineProperty(exports, "TIME_SERIES_AGGREGATION_TYPE", { enumerable: true, get: function () { return CREATERULE_1.TIME_SERIES_AGGREGATION_TYPE; } }); +var RANGE_1 = require("./commands/RANGE"); +Object.defineProperty(exports, "TIME_SERIES_BUCKET_TIMESTAMP", { enumerable: true, get: function () { return RANGE_1.TIME_SERIES_BUCKET_TIMESTAMP; } }); +var MRANGE_GROUPBY_1 = require("./commands/MRANGE_GROUPBY"); +Object.defineProperty(exports, "TIME_SERIES_REDUCERS", { enumerable: true, get: function () { return MRANGE_GROUPBY_1.TIME_SERIES_REDUCERS; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/dist/lib/index.js.map b/back/node_modules/@redis/time-series/dist/lib/index.js.map new file mode 100644 index 0000000..7449e32 --- /dev/null +++ b/back/node_modules/@redis/time-series/dist/lib/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;;;;AAAA,uCAIoB;AAHlB,oHAAA,OAAO,OAAA;AACP,gHAAA,oBAAoB,OAAA;AACpB,0HAAA,8BAA8B,OAAA;AAEhC,oDAAgG;AAAvF,0HAAA,4BAA4B,OAAA;AACrC,0CAA2F;AAAlF,qHAAA,4BAA4B,OAAA;AACrC,4DAAoF;AAA3E,sHAAA,oBAAoB,OAAA"} \ No newline at end of file diff --git a/back/node_modules/@redis/time-series/package.json b/back/node_modules/@redis/time-series/package.json new file mode 100644 index 0000000..51541f6 --- /dev/null +++ b/back/node_modules/@redis/time-series/package.json @@ -0,0 +1,36 @@ +{ + "name": "@redis/time-series", + "version": "5.11.0", + "license": "MIT", + "main": "./dist/lib/index.js", + "types": "./dist/lib/index.d.ts", + "files": [ + "dist/", + "!dist/tsconfig.tsbuildinfo" + ], + "scripts": { + "test": "nyc -r text-summary -r lcov mocha -r tsx --reporter mocha-multi-reporters --reporter-options configFile=mocha-multi-reporter-config.json --exit './lib/**/*.spec.ts'", + "release": "release-it" + }, + "peerDependencies": { + "@redis/client": "^5.11.0" + }, + "devDependencies": { + "@redis/test-utils": "*" + }, + "engines": { + "node": ">= 18" + }, + "repository": { + "type": "git", + "url": "git://github.com/redis/node-redis.git" + }, + "bugs": { + "url": "https://github.com/redis/node-redis/issues" + }, + "homepage": "https://github.com/redis/node-redis/tree/master/packages/time-series", + "keywords": [ + "redis", + "RedisTimeSeries" + ] +} diff --git a/node_modules/accepts/HISTORY.md b/back/node_modules/accepts/HISTORY.md similarity index 100% rename from node_modules/accepts/HISTORY.md rename to back/node_modules/accepts/HISTORY.md diff --git a/node_modules/accepts/LICENSE b/back/node_modules/accepts/LICENSE similarity index 100% rename from node_modules/accepts/LICENSE rename to back/node_modules/accepts/LICENSE diff --git a/node_modules/accepts/README.md b/back/node_modules/accepts/README.md similarity index 100% rename from node_modules/accepts/README.md rename to back/node_modules/accepts/README.md diff --git a/node_modules/accepts/index.js b/back/node_modules/accepts/index.js similarity index 100% rename from node_modules/accepts/index.js rename to back/node_modules/accepts/index.js diff --git a/node_modules/accepts/package.json b/back/node_modules/accepts/package.json similarity index 100% rename from node_modules/accepts/package.json rename to back/node_modules/accepts/package.json diff --git a/node_modules/body-parser/LICENSE b/back/node_modules/body-parser/LICENSE similarity index 100% rename from node_modules/body-parser/LICENSE rename to back/node_modules/body-parser/LICENSE diff --git a/node_modules/body-parser/README.md b/back/node_modules/body-parser/README.md similarity index 100% rename from node_modules/body-parser/README.md rename to back/node_modules/body-parser/README.md diff --git a/node_modules/body-parser/index.js b/back/node_modules/body-parser/index.js similarity index 100% rename from node_modules/body-parser/index.js rename to back/node_modules/body-parser/index.js diff --git a/node_modules/body-parser/lib/read.js b/back/node_modules/body-parser/lib/read.js similarity index 100% rename from node_modules/body-parser/lib/read.js rename to back/node_modules/body-parser/lib/read.js diff --git a/node_modules/body-parser/lib/types/json.js b/back/node_modules/body-parser/lib/types/json.js similarity index 100% rename from node_modules/body-parser/lib/types/json.js rename to back/node_modules/body-parser/lib/types/json.js diff --git a/node_modules/body-parser/lib/types/raw.js b/back/node_modules/body-parser/lib/types/raw.js similarity index 100% rename from node_modules/body-parser/lib/types/raw.js rename to back/node_modules/body-parser/lib/types/raw.js diff --git a/node_modules/body-parser/lib/types/text.js b/back/node_modules/body-parser/lib/types/text.js similarity index 100% rename from node_modules/body-parser/lib/types/text.js rename to back/node_modules/body-parser/lib/types/text.js diff --git a/node_modules/body-parser/lib/types/urlencoded.js b/back/node_modules/body-parser/lib/types/urlencoded.js similarity index 100% rename from node_modules/body-parser/lib/types/urlencoded.js rename to back/node_modules/body-parser/lib/types/urlencoded.js diff --git a/node_modules/body-parser/lib/utils.js b/back/node_modules/body-parser/lib/utils.js similarity index 100% rename from node_modules/body-parser/lib/utils.js rename to back/node_modules/body-parser/lib/utils.js diff --git a/node_modules/body-parser/package.json b/back/node_modules/body-parser/package.json similarity index 100% rename from node_modules/body-parser/package.json rename to back/node_modules/body-parser/package.json diff --git a/back/node_modules/buffer-equal-constant-time/.npmignore b/back/node_modules/buffer-equal-constant-time/.npmignore new file mode 100644 index 0000000..34e4f5c --- /dev/null +++ b/back/node_modules/buffer-equal-constant-time/.npmignore @@ -0,0 +1,2 @@ +.*.sw[mnop] +node_modules/ diff --git a/back/node_modules/buffer-equal-constant-time/.travis.yml b/back/node_modules/buffer-equal-constant-time/.travis.yml new file mode 100644 index 0000000..78e1c01 --- /dev/null +++ b/back/node_modules/buffer-equal-constant-time/.travis.yml @@ -0,0 +1,4 @@ +language: node_js +node_js: +- "0.11" +- "0.10" diff --git a/back/node_modules/buffer-equal-constant-time/LICENSE.txt b/back/node_modules/buffer-equal-constant-time/LICENSE.txt new file mode 100644 index 0000000..9a064f3 --- /dev/null +++ b/back/node_modules/buffer-equal-constant-time/LICENSE.txt @@ -0,0 +1,12 @@ +Copyright (c) 2013, GoInstant Inc., a salesforce.com company +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +* Neither the name of salesforce.com, nor GoInstant, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/back/node_modules/buffer-equal-constant-time/README.md b/back/node_modules/buffer-equal-constant-time/README.md new file mode 100644 index 0000000..4f227f5 --- /dev/null +++ b/back/node_modules/buffer-equal-constant-time/README.md @@ -0,0 +1,50 @@ +# buffer-equal-constant-time + +Constant-time `Buffer` comparison for node.js. Should work with browserify too. + +[![Build Status](https://travis-ci.org/goinstant/buffer-equal-constant-time.png?branch=master)](https://travis-ci.org/goinstant/buffer-equal-constant-time) + +```sh + npm install buffer-equal-constant-time +``` + +# Usage + +```js + var bufferEq = require('buffer-equal-constant-time'); + + var a = new Buffer('asdf'); + var b = new Buffer('asdf'); + if (bufferEq(a,b)) { + // the same! + } else { + // different in at least one byte! + } +``` + +If you'd like to install an `.equal()` method onto the node.js `Buffer` and +`SlowBuffer` prototypes: + +```js + require('buffer-equal-constant-time').install(); + + var a = new Buffer('asdf'); + var b = new Buffer('asdf'); + if (a.equal(b)) { + // the same! + } else { + // different in at least one byte! + } +``` + +To get rid of the installed `.equal()` method, call `.restore()`: + +```js + require('buffer-equal-constant-time').restore(); +``` + +# Legal + +© 2013 GoInstant Inc., a salesforce.com company + +Licensed under the BSD 3-clause license. diff --git a/back/node_modules/buffer-equal-constant-time/index.js b/back/node_modules/buffer-equal-constant-time/index.js new file mode 100644 index 0000000..5462c1f --- /dev/null +++ b/back/node_modules/buffer-equal-constant-time/index.js @@ -0,0 +1,41 @@ +/*jshint node:true */ +'use strict'; +var Buffer = require('buffer').Buffer; // browserify +var SlowBuffer = require('buffer').SlowBuffer; + +module.exports = bufferEq; + +function bufferEq(a, b) { + + // shortcutting on type is necessary for correctness + if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { + return false; + } + + // buffer sizes should be well-known information, so despite this + // shortcutting, it doesn't leak any information about the *contents* of the + // buffers. + if (a.length !== b.length) { + return false; + } + + var c = 0; + for (var i = 0; i < a.length; i++) { + /*jshint bitwise:false */ + c |= a[i] ^ b[i]; // XOR + } + return c === 0; +} + +bufferEq.install = function() { + Buffer.prototype.equal = SlowBuffer.prototype.equal = function equal(that) { + return bufferEq(this, that); + }; +}; + +var origBufEqual = Buffer.prototype.equal; +var origSlowBufEqual = SlowBuffer.prototype.equal; +bufferEq.restore = function() { + Buffer.prototype.equal = origBufEqual; + SlowBuffer.prototype.equal = origSlowBufEqual; +}; diff --git a/back/node_modules/buffer-equal-constant-time/package.json b/back/node_modules/buffer-equal-constant-time/package.json new file mode 100644 index 0000000..17c7de2 --- /dev/null +++ b/back/node_modules/buffer-equal-constant-time/package.json @@ -0,0 +1,21 @@ +{ + "name": "buffer-equal-constant-time", + "version": "1.0.1", + "description": "Constant-time comparison of Buffers", + "main": "index.js", + "scripts": { + "test": "mocha test.js" + }, + "repository": "git@github.com:goinstant/buffer-equal-constant-time.git", + "keywords": [ + "buffer", + "equal", + "constant-time", + "crypto" + ], + "author": "GoInstant Inc., a salesforce.com company", + "license": "BSD-3-Clause", + "devDependencies": { + "mocha": "~1.15.1" + } +} diff --git a/back/node_modules/buffer-equal-constant-time/test.js b/back/node_modules/buffer-equal-constant-time/test.js new file mode 100644 index 0000000..0bc972d --- /dev/null +++ b/back/node_modules/buffer-equal-constant-time/test.js @@ -0,0 +1,42 @@ +/*jshint node:true */ +'use strict'; + +var bufferEq = require('./index'); +var assert = require('assert'); + +describe('buffer-equal-constant-time', function() { + var a = new Buffer('asdfasdf123456'); + var b = new Buffer('asdfasdf123456'); + var c = new Buffer('asdfasdf'); + + describe('bufferEq', function() { + it('says a == b', function() { + assert.strictEqual(bufferEq(a, b), true); + }); + + it('says a != c', function() { + assert.strictEqual(bufferEq(a, c), false); + }); + }); + + describe('install/restore', function() { + before(function() { + bufferEq.install(); + }); + after(function() { + bufferEq.restore(); + }); + + it('installed an .equal method', function() { + var SlowBuffer = require('buffer').SlowBuffer; + assert.ok(Buffer.prototype.equal); + assert.ok(SlowBuffer.prototype.equal); + }); + + it('infected existing Buffers', function() { + assert.strictEqual(a.equal(b), true); + assert.strictEqual(a.equal(c), false); + }); + }); + +}); diff --git a/node_modules/bytes/History.md b/back/node_modules/bytes/History.md similarity index 100% rename from node_modules/bytes/History.md rename to back/node_modules/bytes/History.md diff --git a/node_modules/bytes/LICENSE b/back/node_modules/bytes/LICENSE similarity index 100% rename from node_modules/bytes/LICENSE rename to back/node_modules/bytes/LICENSE diff --git a/node_modules/bytes/Readme.md b/back/node_modules/bytes/Readme.md similarity index 100% rename from node_modules/bytes/Readme.md rename to back/node_modules/bytes/Readme.md diff --git a/node_modules/bytes/index.js b/back/node_modules/bytes/index.js similarity index 100% rename from node_modules/bytes/index.js rename to back/node_modules/bytes/index.js diff --git a/node_modules/bytes/package.json b/back/node_modules/bytes/package.json similarity index 100% rename from node_modules/bytes/package.json rename to back/node_modules/bytes/package.json diff --git a/node_modules/call-bind-apply-helpers/.eslintrc b/back/node_modules/call-bind-apply-helpers/.eslintrc similarity index 100% rename from node_modules/call-bind-apply-helpers/.eslintrc rename to back/node_modules/call-bind-apply-helpers/.eslintrc diff --git a/node_modules/call-bind-apply-helpers/.github/FUNDING.yml b/back/node_modules/call-bind-apply-helpers/.github/FUNDING.yml similarity index 100% rename from node_modules/call-bind-apply-helpers/.github/FUNDING.yml rename to back/node_modules/call-bind-apply-helpers/.github/FUNDING.yml diff --git a/node_modules/call-bind-apply-helpers/.nycrc b/back/node_modules/call-bind-apply-helpers/.nycrc similarity index 100% rename from node_modules/call-bind-apply-helpers/.nycrc rename to back/node_modules/call-bind-apply-helpers/.nycrc diff --git a/node_modules/call-bind-apply-helpers/CHANGELOG.md b/back/node_modules/call-bind-apply-helpers/CHANGELOG.md similarity index 100% rename from node_modules/call-bind-apply-helpers/CHANGELOG.md rename to back/node_modules/call-bind-apply-helpers/CHANGELOG.md diff --git a/node_modules/call-bind-apply-helpers/LICENSE b/back/node_modules/call-bind-apply-helpers/LICENSE similarity index 100% rename from node_modules/call-bind-apply-helpers/LICENSE rename to back/node_modules/call-bind-apply-helpers/LICENSE diff --git a/node_modules/call-bind-apply-helpers/README.md b/back/node_modules/call-bind-apply-helpers/README.md similarity index 100% rename from node_modules/call-bind-apply-helpers/README.md rename to back/node_modules/call-bind-apply-helpers/README.md diff --git a/node_modules/call-bind-apply-helpers/actualApply.d.ts b/back/node_modules/call-bind-apply-helpers/actualApply.d.ts similarity index 100% rename from node_modules/call-bind-apply-helpers/actualApply.d.ts rename to back/node_modules/call-bind-apply-helpers/actualApply.d.ts diff --git a/node_modules/call-bind-apply-helpers/actualApply.js b/back/node_modules/call-bind-apply-helpers/actualApply.js similarity index 100% rename from node_modules/call-bind-apply-helpers/actualApply.js rename to back/node_modules/call-bind-apply-helpers/actualApply.js diff --git a/node_modules/call-bind-apply-helpers/applyBind.d.ts b/back/node_modules/call-bind-apply-helpers/applyBind.d.ts similarity index 100% rename from node_modules/call-bind-apply-helpers/applyBind.d.ts rename to back/node_modules/call-bind-apply-helpers/applyBind.d.ts diff --git a/node_modules/call-bind-apply-helpers/applyBind.js b/back/node_modules/call-bind-apply-helpers/applyBind.js similarity index 100% rename from node_modules/call-bind-apply-helpers/applyBind.js rename to back/node_modules/call-bind-apply-helpers/applyBind.js diff --git a/node_modules/call-bind-apply-helpers/functionApply.d.ts b/back/node_modules/call-bind-apply-helpers/functionApply.d.ts similarity index 100% rename from node_modules/call-bind-apply-helpers/functionApply.d.ts rename to back/node_modules/call-bind-apply-helpers/functionApply.d.ts diff --git a/node_modules/call-bind-apply-helpers/functionApply.js b/back/node_modules/call-bind-apply-helpers/functionApply.js similarity index 100% rename from node_modules/call-bind-apply-helpers/functionApply.js rename to back/node_modules/call-bind-apply-helpers/functionApply.js diff --git a/node_modules/call-bind-apply-helpers/functionCall.d.ts b/back/node_modules/call-bind-apply-helpers/functionCall.d.ts similarity index 100% rename from node_modules/call-bind-apply-helpers/functionCall.d.ts rename to back/node_modules/call-bind-apply-helpers/functionCall.d.ts diff --git a/node_modules/call-bind-apply-helpers/functionCall.js b/back/node_modules/call-bind-apply-helpers/functionCall.js similarity index 100% rename from node_modules/call-bind-apply-helpers/functionCall.js rename to back/node_modules/call-bind-apply-helpers/functionCall.js diff --git a/node_modules/call-bind-apply-helpers/index.d.ts b/back/node_modules/call-bind-apply-helpers/index.d.ts similarity index 100% rename from node_modules/call-bind-apply-helpers/index.d.ts rename to back/node_modules/call-bind-apply-helpers/index.d.ts diff --git a/node_modules/call-bind-apply-helpers/index.js b/back/node_modules/call-bind-apply-helpers/index.js similarity index 100% rename from node_modules/call-bind-apply-helpers/index.js rename to back/node_modules/call-bind-apply-helpers/index.js diff --git a/node_modules/call-bind-apply-helpers/package.json b/back/node_modules/call-bind-apply-helpers/package.json similarity index 100% rename from node_modules/call-bind-apply-helpers/package.json rename to back/node_modules/call-bind-apply-helpers/package.json diff --git a/node_modules/call-bind-apply-helpers/reflectApply.d.ts b/back/node_modules/call-bind-apply-helpers/reflectApply.d.ts similarity index 100% rename from node_modules/call-bind-apply-helpers/reflectApply.d.ts rename to back/node_modules/call-bind-apply-helpers/reflectApply.d.ts diff --git a/node_modules/call-bind-apply-helpers/reflectApply.js b/back/node_modules/call-bind-apply-helpers/reflectApply.js similarity index 100% rename from node_modules/call-bind-apply-helpers/reflectApply.js rename to back/node_modules/call-bind-apply-helpers/reflectApply.js diff --git a/node_modules/call-bind-apply-helpers/test/index.js b/back/node_modules/call-bind-apply-helpers/test/index.js similarity index 100% rename from node_modules/call-bind-apply-helpers/test/index.js rename to back/node_modules/call-bind-apply-helpers/test/index.js diff --git a/node_modules/call-bind-apply-helpers/tsconfig.json b/back/node_modules/call-bind-apply-helpers/tsconfig.json similarity index 100% rename from node_modules/call-bind-apply-helpers/tsconfig.json rename to back/node_modules/call-bind-apply-helpers/tsconfig.json diff --git a/node_modules/call-bound/.eslintrc b/back/node_modules/call-bound/.eslintrc similarity index 100% rename from node_modules/call-bound/.eslintrc rename to back/node_modules/call-bound/.eslintrc diff --git a/node_modules/call-bound/.github/FUNDING.yml b/back/node_modules/call-bound/.github/FUNDING.yml similarity index 100% rename from node_modules/call-bound/.github/FUNDING.yml rename to back/node_modules/call-bound/.github/FUNDING.yml diff --git a/node_modules/call-bound/.nycrc b/back/node_modules/call-bound/.nycrc similarity index 100% rename from node_modules/call-bound/.nycrc rename to back/node_modules/call-bound/.nycrc diff --git a/node_modules/call-bound/CHANGELOG.md b/back/node_modules/call-bound/CHANGELOG.md similarity index 100% rename from node_modules/call-bound/CHANGELOG.md rename to back/node_modules/call-bound/CHANGELOG.md diff --git a/node_modules/call-bound/LICENSE b/back/node_modules/call-bound/LICENSE similarity index 100% rename from node_modules/call-bound/LICENSE rename to back/node_modules/call-bound/LICENSE diff --git a/node_modules/call-bound/README.md b/back/node_modules/call-bound/README.md similarity index 100% rename from node_modules/call-bound/README.md rename to back/node_modules/call-bound/README.md diff --git a/node_modules/call-bound/index.d.ts b/back/node_modules/call-bound/index.d.ts similarity index 100% rename from node_modules/call-bound/index.d.ts rename to back/node_modules/call-bound/index.d.ts diff --git a/node_modules/call-bound/index.js b/back/node_modules/call-bound/index.js similarity index 100% rename from node_modules/call-bound/index.js rename to back/node_modules/call-bound/index.js diff --git a/node_modules/call-bound/package.json b/back/node_modules/call-bound/package.json similarity index 100% rename from node_modules/call-bound/package.json rename to back/node_modules/call-bound/package.json diff --git a/node_modules/call-bound/test/index.js b/back/node_modules/call-bound/test/index.js similarity index 100% rename from node_modules/call-bound/test/index.js rename to back/node_modules/call-bound/test/index.js diff --git a/node_modules/call-bound/tsconfig.json b/back/node_modules/call-bound/tsconfig.json similarity index 100% rename from node_modules/call-bound/tsconfig.json rename to back/node_modules/call-bound/tsconfig.json diff --git a/back/node_modules/cluster-key-slot/.eslintrc b/back/node_modules/cluster-key-slot/.eslintrc new file mode 100644 index 0000000..3ee8296 --- /dev/null +++ b/back/node_modules/cluster-key-slot/.eslintrc @@ -0,0 +1,16 @@ +{ + "extends": "airbnb-base/legacy", + "parserOptions":{ + "ecmaFeatures": { + "experimentalObjectRestSpread": true + } + }, + "rules": { + "max-len": 0, + "no-plusplus": 0, + "no-bitwise": 0, + "no-param-reassign": 0, + "no-undef": 0 + }, + "globals": {} +} diff --git a/back/node_modules/cluster-key-slot/LICENSE b/back/node_modules/cluster-key-slot/LICENSE new file mode 100644 index 0000000..fd22a2d --- /dev/null +++ b/back/node_modules/cluster-key-slot/LICENSE @@ -0,0 +1,13 @@ +Copyright (c) 2018 Mike Diarmid (Salakar) + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this library except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/back/node_modules/cluster-key-slot/README.md b/back/node_modules/cluster-key-slot/README.md new file mode 100644 index 0000000..440f7b1 --- /dev/null +++ b/back/node_modules/cluster-key-slot/README.md @@ -0,0 +1,61 @@ +[![Coverage Status](https://coveralls.io/repos/github/Salakar/cluster-key-slot/badge.svg?branch=master)](https://coveralls.io/github/Salakar/cluster-key-slot?branch=master) +![Downloads](https://img.shields.io/npm/dt/cluster-key-slot.svg) +[![npm version](https://img.shields.io/npm/v/cluster-key-slot.svg)](https://www.npmjs.com/package/cluster-key-slot) +[![dependencies](https://img.shields.io/david/Salakar/cluster-key-slot.svg)](https://david-dm.org/Salakar/cluster-key-slot) +[![License](https://img.shields.io/npm/l/cluster-key-slot.svg)](/LICENSE) +Follow on Twitter + +# Redis Key Slot Calculator + +A high performance redis cluster key slot calculator for node redis clients e.g. [node_redis](https://github.com/NodeRedis/node_redis), [ioredis](https://github.com/luin/ioredis) and [redis-clustr](https://github.com/gosquared/redis-clustr/). + +This also handles key tags such as `somekey{actualTag}`. + +## Install + +Install with [NPM](https://npmjs.org/): + +``` +npm install cluster-key-slot --save +``` + +## Usage + +```js +const calculateSlot = require('cluster-key-slot'); +const calculateMultipleSlots = require('cluster-key-slot').generateMulti; + +// ... + +// a single slot number +const slot = calculateSlot('test:key:{butOnlyThis}redis'); +// Buffer is also supported +const anotherSlot = calculateSlot(Buffer.from([0x7b, 0x7d, 0x2a])); + +// multiple keys - multi returns a single key slot number, returns -1 if any +// of the keys does not match the base slot number (base is defaulted to first keys slot) +// This is useful to quickly determine a singe slot for multi keys operations. +const slotForRedisMulti = calculateMultipleSlots([ + 'test:key:{butOnlyThis}redis', + 'something:key45:{butOnlyThis}hello', + 'example:key46:{butOnlyThis}foobar', +]); +``` + +## Benchmarks + +`OLD` in these benchmarks refers to the `ioredis` crc calc and many of the other calculators that use `Buffer`. + +```text +node -v  ✔  16.38G RAM  10:29:07 +v10.15.3 + +NEW tags x 721,445 ops/sec ±0.44% (90 runs sampled) +OLD tags x 566,777 ops/sec ±0.97% (96 runs sampled) +NEW without tags x 2,054,845 ops/sec ±1.77% (92 runs sampled) +OLD without tags x 865,839 ops/sec ±0.43% (96 runs sampled) +NEW without tags singular x 6,354,097 ops/sec ±1.25% (94 runs sampled) +OLD without tags singular x 4,012,250 ops/sec ±0.96% (94 runs sampled) +NEW tags (Buffer) x 552,346 ops/sec ±1.35% (92 runs sampled) +``` + diff --git a/back/node_modules/cluster-key-slot/index.d.ts b/back/node_modules/cluster-key-slot/index.d.ts new file mode 100644 index 0000000..1713b44 --- /dev/null +++ b/back/node_modules/cluster-key-slot/index.d.ts @@ -0,0 +1,10 @@ +declare module 'cluster-key-slot' { + // Convert a string or Buffer into a redis slot hash. + function calculate(value: string | Buffer): number; + + // Convert an array of multiple strings or Buffers into a redis slot hash. + // Returns -1 if one of the keys is not for the same slot as the others + export function generateMulti(values: Array): number; + + export = calculate; +} \ No newline at end of file diff --git a/back/node_modules/cluster-key-slot/lib/index.js b/back/node_modules/cluster-key-slot/lib/index.js new file mode 100644 index 0000000..7928c77 --- /dev/null +++ b/back/node_modules/cluster-key-slot/lib/index.js @@ -0,0 +1,166 @@ +/* + * Copyright 2001-2010 Georges Menie (www.menie.org) + * Copyright 2010 Salvatore Sanfilippo (adapted to Redis coding style) + * Copyright 2015 Zihua Li (http://zihua.li) (ported to JavaScript) + * Copyright 2016 Mike Diarmid (http://github.com/salakar) (re-write for performance, ~700% perf inc) + * All rights reserved. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the University of California, Berkeley nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* CRC16 implementation according to CCITT standards. + * + * Note by @antirez: this is actually the XMODEM CRC 16 algorithm, using the + * following parameters: + * + * Name : "XMODEM", also known as "ZMODEM", "CRC-16/ACORN" + * Width : 16 bit + * Poly : 1021 (That is actually x^16 + x^12 + x^5 + 1) + * Initialization : 0000 + * Reflect Input byte : False + * Reflect Output CRC : False + * Xor constant to output CRC : 0000 + * Output for "123456789" : 31C3 + */ + +var lookup = [ + 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7, + 0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef, + 0x1231, 0x0210, 0x3273, 0x2252, 0x52b5, 0x4294, 0x72f7, 0x62d6, + 0x9339, 0x8318, 0xb37b, 0xa35a, 0xd3bd, 0xc39c, 0xf3ff, 0xe3de, + 0x2462, 0x3443, 0x0420, 0x1401, 0x64e6, 0x74c7, 0x44a4, 0x5485, + 0xa56a, 0xb54b, 0x8528, 0x9509, 0xe5ee, 0xf5cf, 0xc5ac, 0xd58d, + 0x3653, 0x2672, 0x1611, 0x0630, 0x76d7, 0x66f6, 0x5695, 0x46b4, + 0xb75b, 0xa77a, 0x9719, 0x8738, 0xf7df, 0xe7fe, 0xd79d, 0xc7bc, + 0x48c4, 0x58e5, 0x6886, 0x78a7, 0x0840, 0x1861, 0x2802, 0x3823, + 0xc9cc, 0xd9ed, 0xe98e, 0xf9af, 0x8948, 0x9969, 0xa90a, 0xb92b, + 0x5af5, 0x4ad4, 0x7ab7, 0x6a96, 0x1a71, 0x0a50, 0x3a33, 0x2a12, + 0xdbfd, 0xcbdc, 0xfbbf, 0xeb9e, 0x9b79, 0x8b58, 0xbb3b, 0xab1a, + 0x6ca6, 0x7c87, 0x4ce4, 0x5cc5, 0x2c22, 0x3c03, 0x0c60, 0x1c41, + 0xedae, 0xfd8f, 0xcdec, 0xddcd, 0xad2a, 0xbd0b, 0x8d68, 0x9d49, + 0x7e97, 0x6eb6, 0x5ed5, 0x4ef4, 0x3e13, 0x2e32, 0x1e51, 0x0e70, + 0xff9f, 0xefbe, 0xdfdd, 0xcffc, 0xbf1b, 0xaf3a, 0x9f59, 0x8f78, + 0x9188, 0x81a9, 0xb1ca, 0xa1eb, 0xd10c, 0xc12d, 0xf14e, 0xe16f, + 0x1080, 0x00a1, 0x30c2, 0x20e3, 0x5004, 0x4025, 0x7046, 0x6067, + 0x83b9, 0x9398, 0xa3fb, 0xb3da, 0xc33d, 0xd31c, 0xe37f, 0xf35e, + 0x02b1, 0x1290, 0x22f3, 0x32d2, 0x4235, 0x5214, 0x6277, 0x7256, + 0xb5ea, 0xa5cb, 0x95a8, 0x8589, 0xf56e, 0xe54f, 0xd52c, 0xc50d, + 0x34e2, 0x24c3, 0x14a0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405, + 0xa7db, 0xb7fa, 0x8799, 0x97b8, 0xe75f, 0xf77e, 0xc71d, 0xd73c, + 0x26d3, 0x36f2, 0x0691, 0x16b0, 0x6657, 0x7676, 0x4615, 0x5634, + 0xd94c, 0xc96d, 0xf90e, 0xe92f, 0x99c8, 0x89e9, 0xb98a, 0xa9ab, + 0x5844, 0x4865, 0x7806, 0x6827, 0x18c0, 0x08e1, 0x3882, 0x28a3, + 0xcb7d, 0xdb5c, 0xeb3f, 0xfb1e, 0x8bf9, 0x9bd8, 0xabbb, 0xbb9a, + 0x4a75, 0x5a54, 0x6a37, 0x7a16, 0x0af1, 0x1ad0, 0x2ab3, 0x3a92, + 0xfd2e, 0xed0f, 0xdd6c, 0xcd4d, 0xbdaa, 0xad8b, 0x9de8, 0x8dc9, + 0x7c26, 0x6c07, 0x5c64, 0x4c45, 0x3ca2, 0x2c83, 0x1ce0, 0x0cc1, + 0xef1f, 0xff3e, 0xcf5d, 0xdf7c, 0xaf9b, 0xbfba, 0x8fd9, 0x9ff8, + 0x6e17, 0x7e36, 0x4e55, 0x5e74, 0x2e93, 0x3eb2, 0x0ed1, 0x1ef0 +]; + +/** + * Convert a string to a UTF8 array - faster than via buffer + * @param str + * @returns {Array} + */ +var toUTF8Array = function toUTF8Array(str) { + var char; + var i = 0; + var p = 0; + var utf8 = []; + var len = str.length; + + for (; i < len; i++) { + char = str.charCodeAt(i); + if (char < 128) { + utf8[p++] = char; + } else if (char < 2048) { + utf8[p++] = (char >> 6) | 192; + utf8[p++] = (char & 63) | 128; + } else if ( + ((char & 0xFC00) === 0xD800) && (i + 1) < str.length && + ((str.charCodeAt(i + 1) & 0xFC00) === 0xDC00)) { + char = 0x10000 + ((char & 0x03FF) << 10) + (str.charCodeAt(++i) & 0x03FF); + utf8[p++] = (char >> 18) | 240; + utf8[p++] = ((char >> 12) & 63) | 128; + utf8[p++] = ((char >> 6) & 63) | 128; + utf8[p++] = (char & 63) | 128; + } else { + utf8[p++] = (char >> 12) | 224; + utf8[p++] = ((char >> 6) & 63) | 128; + utf8[p++] = (char & 63) | 128; + } + } + + return utf8; +}; + +/** + * Convert a string into a redis slot hash. + * @param str + * @returns {number} + */ +var generate = module.exports = function generate(str) { + var char; + var i = 0; + var start = -1; + var result = 0; + var resultHash = 0; + var utf8 = typeof str === 'string' ? toUTF8Array(str) : str; + var len = utf8.length; + + while (i < len) { + char = utf8[i++]; + if (start === -1) { + if (char === 0x7B) { + start = i; + } + } else if (char !== 0x7D) { + resultHash = lookup[(char ^ (resultHash >> 8)) & 0xFF] ^ (resultHash << 8); + } else if (i - 1 !== start) { + return resultHash & 0x3FFF; + } + + result = lookup[(char ^ (result >> 8)) & 0xFF] ^ (result << 8); + } + + return result & 0x3FFF; +}; + +/** + * Convert an array of multiple strings into a redis slot hash. + * Returns -1 if one of the keys is not for the same slot as the others + * @param keys + * @returns {number} + */ +module.exports.generateMulti = function generateMulti(keys) { + var i = 1; + var len = keys.length; + var base = generate(keys[0]); + + while (i < len) { + if (generate(keys[i++]) !== base) return -1; + } + + return base; +}; diff --git a/back/node_modules/cluster-key-slot/package.json b/back/node_modules/cluster-key-slot/package.json new file mode 100644 index 0000000..f75d3d6 --- /dev/null +++ b/back/node_modules/cluster-key-slot/package.json @@ -0,0 +1,56 @@ +{ + "name": "cluster-key-slot", + "version": "1.1.2", + "description": "Generates CRC hashes for strings - for use by node redis clients to determine key slots.", + "main": "lib/index.js", + "types": "index.d.ts", + "scripts": { + "benchmark": "node ./benchmark", + "posttest": "eslint ./lib && npm run coveralls", + "coveralls": "cat ./coverage/lcov.info | coveralls", + "test": "node ./node_modules/istanbul/lib/cli.js cover --preserve-comments ./node_modules/mocha/bin/_mocha -- -R spec", + "coverage:check": "node ./node_modules/istanbul/lib/cli.js check-coverage --branch 100 --statement 100" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/Salakar/cluster-key-slot.git" + }, + "keywords": [ + "redis", + "hash", + "crc", + "slot", + "calc", + "javascript", + "node", + "node_redis", + "ioredis" + ], + "engines": { + "node": ">=0.10.0" + }, + "devDependencies": { + "benchmark": "^2.1.0", + "codeclimate-test-reporter": "^0.3.1", + "coveralls": "^2.11.9", + "eslint": "^3.5.0", + "eslint-config-airbnb-base": "^7.1.0", + "eslint-plugin-import": "^1.8.0", + "istanbul": "^0.4.0", + "mocha": "^3.0.2" + }, + "author": { + "name": "Mike Diarmid", + "email": "mike.diarmid@gmail.com", + "url": "http://github.com/Salakar/" + }, + "license": "Apache-2.0", + "bugs": { + "url": "https://github.com/Salakar/cluster-key-slot/issues" + }, + "homepage": "https://github.com/Salakar/cluster-key-slot#readme", + "directories": { + "test": "test", + "lib": "lib" + } +} diff --git a/node_modules/content-disposition/HISTORY.md b/back/node_modules/content-disposition/HISTORY.md similarity index 100% rename from node_modules/content-disposition/HISTORY.md rename to back/node_modules/content-disposition/HISTORY.md diff --git a/node_modules/content-disposition/LICENSE b/back/node_modules/content-disposition/LICENSE similarity index 100% rename from node_modules/content-disposition/LICENSE rename to back/node_modules/content-disposition/LICENSE diff --git a/node_modules/content-disposition/README.md b/back/node_modules/content-disposition/README.md similarity index 100% rename from node_modules/content-disposition/README.md rename to back/node_modules/content-disposition/README.md diff --git a/node_modules/content-disposition/index.js b/back/node_modules/content-disposition/index.js similarity index 100% rename from node_modules/content-disposition/index.js rename to back/node_modules/content-disposition/index.js diff --git a/node_modules/content-disposition/package.json b/back/node_modules/content-disposition/package.json similarity index 100% rename from node_modules/content-disposition/package.json rename to back/node_modules/content-disposition/package.json diff --git a/node_modules/content-type/HISTORY.md b/back/node_modules/content-type/HISTORY.md similarity index 100% rename from node_modules/content-type/HISTORY.md rename to back/node_modules/content-type/HISTORY.md diff --git a/node_modules/content-type/LICENSE b/back/node_modules/content-type/LICENSE similarity index 100% rename from node_modules/content-type/LICENSE rename to back/node_modules/content-type/LICENSE diff --git a/node_modules/content-type/README.md b/back/node_modules/content-type/README.md similarity index 100% rename from node_modules/content-type/README.md rename to back/node_modules/content-type/README.md diff --git a/node_modules/content-type/index.js b/back/node_modules/content-type/index.js similarity index 100% rename from node_modules/content-type/index.js rename to back/node_modules/content-type/index.js diff --git a/node_modules/content-type/package.json b/back/node_modules/content-type/package.json similarity index 100% rename from node_modules/content-type/package.json rename to back/node_modules/content-type/package.json diff --git a/node_modules/cookie-signature/History.md b/back/node_modules/cookie-signature/History.md similarity index 100% rename from node_modules/cookie-signature/History.md rename to back/node_modules/cookie-signature/History.md diff --git a/node_modules/cookie-signature/LICENSE b/back/node_modules/cookie-signature/LICENSE similarity index 100% rename from node_modules/cookie-signature/LICENSE rename to back/node_modules/cookie-signature/LICENSE diff --git a/node_modules/cookie-signature/Readme.md b/back/node_modules/cookie-signature/Readme.md similarity index 100% rename from node_modules/cookie-signature/Readme.md rename to back/node_modules/cookie-signature/Readme.md diff --git a/node_modules/cookie-signature/index.js b/back/node_modules/cookie-signature/index.js similarity index 100% rename from node_modules/cookie-signature/index.js rename to back/node_modules/cookie-signature/index.js diff --git a/node_modules/cookie-signature/package.json b/back/node_modules/cookie-signature/package.json similarity index 100% rename from node_modules/cookie-signature/package.json rename to back/node_modules/cookie-signature/package.json diff --git a/node_modules/cookie/LICENSE b/back/node_modules/cookie/LICENSE similarity index 100% rename from node_modules/cookie/LICENSE rename to back/node_modules/cookie/LICENSE diff --git a/node_modules/cookie/README.md b/back/node_modules/cookie/README.md similarity index 100% rename from node_modules/cookie/README.md rename to back/node_modules/cookie/README.md diff --git a/node_modules/cookie/SECURITY.md b/back/node_modules/cookie/SECURITY.md similarity index 100% rename from node_modules/cookie/SECURITY.md rename to back/node_modules/cookie/SECURITY.md diff --git a/node_modules/cookie/index.js b/back/node_modules/cookie/index.js similarity index 100% rename from node_modules/cookie/index.js rename to back/node_modules/cookie/index.js diff --git a/node_modules/cookie/package.json b/back/node_modules/cookie/package.json similarity index 100% rename from node_modules/cookie/package.json rename to back/node_modules/cookie/package.json diff --git a/node_modules/debug/LICENSE b/back/node_modules/debug/LICENSE similarity index 100% rename from node_modules/debug/LICENSE rename to back/node_modules/debug/LICENSE diff --git a/node_modules/debug/README.md b/back/node_modules/debug/README.md similarity index 100% rename from node_modules/debug/README.md rename to back/node_modules/debug/README.md diff --git a/node_modules/debug/package.json b/back/node_modules/debug/package.json similarity index 100% rename from node_modules/debug/package.json rename to back/node_modules/debug/package.json diff --git a/node_modules/debug/src/browser.js b/back/node_modules/debug/src/browser.js similarity index 100% rename from node_modules/debug/src/browser.js rename to back/node_modules/debug/src/browser.js diff --git a/node_modules/debug/src/common.js b/back/node_modules/debug/src/common.js similarity index 100% rename from node_modules/debug/src/common.js rename to back/node_modules/debug/src/common.js diff --git a/node_modules/debug/src/index.js b/back/node_modules/debug/src/index.js similarity index 100% rename from node_modules/debug/src/index.js rename to back/node_modules/debug/src/index.js diff --git a/node_modules/debug/src/node.js b/back/node_modules/debug/src/node.js similarity index 100% rename from node_modules/debug/src/node.js rename to back/node_modules/debug/src/node.js diff --git a/node_modules/depd/History.md b/back/node_modules/depd/History.md similarity index 100% rename from node_modules/depd/History.md rename to back/node_modules/depd/History.md diff --git a/node_modules/depd/LICENSE b/back/node_modules/depd/LICENSE similarity index 100% rename from node_modules/depd/LICENSE rename to back/node_modules/depd/LICENSE diff --git a/node_modules/depd/Readme.md b/back/node_modules/depd/Readme.md similarity index 100% rename from node_modules/depd/Readme.md rename to back/node_modules/depd/Readme.md diff --git a/node_modules/depd/index.js b/back/node_modules/depd/index.js similarity index 100% rename from node_modules/depd/index.js rename to back/node_modules/depd/index.js diff --git a/node_modules/depd/lib/browser/index.js b/back/node_modules/depd/lib/browser/index.js similarity index 100% rename from node_modules/depd/lib/browser/index.js rename to back/node_modules/depd/lib/browser/index.js diff --git a/node_modules/depd/package.json b/back/node_modules/depd/package.json similarity index 100% rename from node_modules/depd/package.json rename to back/node_modules/depd/package.json diff --git a/node_modules/dunder-proto/.eslintrc b/back/node_modules/dunder-proto/.eslintrc similarity index 100% rename from node_modules/dunder-proto/.eslintrc rename to back/node_modules/dunder-proto/.eslintrc diff --git a/node_modules/dunder-proto/.github/FUNDING.yml b/back/node_modules/dunder-proto/.github/FUNDING.yml similarity index 100% rename from node_modules/dunder-proto/.github/FUNDING.yml rename to back/node_modules/dunder-proto/.github/FUNDING.yml diff --git a/node_modules/dunder-proto/.nycrc b/back/node_modules/dunder-proto/.nycrc similarity index 100% rename from node_modules/dunder-proto/.nycrc rename to back/node_modules/dunder-proto/.nycrc diff --git a/node_modules/dunder-proto/CHANGELOG.md b/back/node_modules/dunder-proto/CHANGELOG.md similarity index 100% rename from node_modules/dunder-proto/CHANGELOG.md rename to back/node_modules/dunder-proto/CHANGELOG.md diff --git a/node_modules/dunder-proto/LICENSE b/back/node_modules/dunder-proto/LICENSE similarity index 100% rename from node_modules/dunder-proto/LICENSE rename to back/node_modules/dunder-proto/LICENSE diff --git a/node_modules/dunder-proto/README.md b/back/node_modules/dunder-proto/README.md similarity index 100% rename from node_modules/dunder-proto/README.md rename to back/node_modules/dunder-proto/README.md diff --git a/node_modules/dunder-proto/get.d.ts b/back/node_modules/dunder-proto/get.d.ts similarity index 100% rename from node_modules/dunder-proto/get.d.ts rename to back/node_modules/dunder-proto/get.d.ts diff --git a/node_modules/dunder-proto/get.js b/back/node_modules/dunder-proto/get.js similarity index 100% rename from node_modules/dunder-proto/get.js rename to back/node_modules/dunder-proto/get.js diff --git a/node_modules/dunder-proto/package.json b/back/node_modules/dunder-proto/package.json similarity index 100% rename from node_modules/dunder-proto/package.json rename to back/node_modules/dunder-proto/package.json diff --git a/node_modules/dunder-proto/set.d.ts b/back/node_modules/dunder-proto/set.d.ts similarity index 100% rename from node_modules/dunder-proto/set.d.ts rename to back/node_modules/dunder-proto/set.d.ts diff --git a/node_modules/dunder-proto/set.js b/back/node_modules/dunder-proto/set.js similarity index 100% rename from node_modules/dunder-proto/set.js rename to back/node_modules/dunder-proto/set.js diff --git a/node_modules/dunder-proto/test/get.js b/back/node_modules/dunder-proto/test/get.js similarity index 100% rename from node_modules/dunder-proto/test/get.js rename to back/node_modules/dunder-proto/test/get.js diff --git a/node_modules/dunder-proto/test/index.js b/back/node_modules/dunder-proto/test/index.js similarity index 100% rename from node_modules/dunder-proto/test/index.js rename to back/node_modules/dunder-proto/test/index.js diff --git a/node_modules/dunder-proto/test/set.js b/back/node_modules/dunder-proto/test/set.js similarity index 100% rename from node_modules/dunder-proto/test/set.js rename to back/node_modules/dunder-proto/test/set.js diff --git a/node_modules/dunder-proto/tsconfig.json b/back/node_modules/dunder-proto/tsconfig.json similarity index 100% rename from node_modules/dunder-proto/tsconfig.json rename to back/node_modules/dunder-proto/tsconfig.json diff --git a/back/node_modules/ecdsa-sig-formatter/CODEOWNERS b/back/node_modules/ecdsa-sig-formatter/CODEOWNERS new file mode 100644 index 0000000..4451d3d --- /dev/null +++ b/back/node_modules/ecdsa-sig-formatter/CODEOWNERS @@ -0,0 +1 @@ +* @omsmith diff --git a/back/node_modules/ecdsa-sig-formatter/LICENSE b/back/node_modules/ecdsa-sig-formatter/LICENSE new file mode 100644 index 0000000..8754ed6 --- /dev/null +++ b/back/node_modules/ecdsa-sig-formatter/LICENSE @@ -0,0 +1,201 @@ +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2015 D2L Corporation + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/back/node_modules/ecdsa-sig-formatter/README.md b/back/node_modules/ecdsa-sig-formatter/README.md new file mode 100644 index 0000000..daa95d6 --- /dev/null +++ b/back/node_modules/ecdsa-sig-formatter/README.md @@ -0,0 +1,65 @@ +# ecdsa-sig-formatter + +[![Build Status](https://travis-ci.org/Brightspace/node-ecdsa-sig-formatter.svg?branch=master)](https://travis-ci.org/Brightspace/node-ecdsa-sig-formatter) [![Coverage Status](https://coveralls.io/repos/Brightspace/node-ecdsa-sig-formatter/badge.svg)](https://coveralls.io/r/Brightspace/node-ecdsa-sig-formatter) + +Translate between JOSE and ASN.1/DER encodings for ECDSA signatures + +## Install +```sh +npm install ecdsa-sig-formatter --save +``` + +## Usage +```js +var format = require('ecdsa-sig-formatter'); + +var derSignature = '..'; // asn.1/DER encoded ecdsa signature + +var joseSignature = format.derToJose(derSignature); + +``` + +### API + +--- + +#### `.derToJose(Buffer|String signature, String alg)` -> `String` + +Convert the ASN.1/DER encoded signature to a JOSE-style concatenated signature. +Returns a _base64 url_ encoded `String`. + +* If _signature_ is a `String`, it should be _base64_ encoded +* _alg_ must be one of _ES256_, _ES384_ or _ES512_ + +--- + +#### `.joseToDer(Buffer|String signature, String alg)` -> `Buffer` + +Convert the JOSE-style concatenated signature to an ASN.1/DER encoded +signature. Returns a `Buffer` + +* If _signature_ is a `String`, it should be _base64 url_ encoded +* _alg_ must be one of _ES256_, _ES384_ or _ES512_ + +## Contributing + +1. **Fork** the repository. Committing directly against this repository is + highly discouraged. + +2. Make your modifications in a branch, updating and writing new unit tests + as necessary in the `spec` directory. + +3. Ensure that all tests pass with `npm test` + +4. `rebase` your changes against master. *Do not merge*. + +5. Submit a pull request to this repository. Wait for tests to run and someone + to chime in. + +### Code Style + +This repository is configured with [EditorConfig][EditorConfig] and +[ESLint][ESLint] rules. + +[EditorConfig]: http://editorconfig.org/ +[ESLint]: http://eslint.org diff --git a/back/node_modules/ecdsa-sig-formatter/package.json b/back/node_modules/ecdsa-sig-formatter/package.json new file mode 100644 index 0000000..6fb5ebf --- /dev/null +++ b/back/node_modules/ecdsa-sig-formatter/package.json @@ -0,0 +1,46 @@ +{ + "name": "ecdsa-sig-formatter", + "version": "1.0.11", + "description": "Translate ECDSA signatures between ASN.1/DER and JOSE-style concatenation", + "main": "src/ecdsa-sig-formatter.js", + "scripts": { + "check-style": "eslint .", + "pretest": "npm run check-style", + "test": "istanbul cover --root src _mocha -- spec", + "report-cov": "cat ./coverage/lcov.info | coveralls" + }, + "typings": "./src/ecdsa-sig-formatter.d.ts", + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/Brightspace/node-ecdsa-sig-formatter.git" + }, + "keywords": [ + "ecdsa", + "der", + "asn.1", + "jwt", + "jwa", + "jsonwebtoken", + "jose" + ], + "author": "D2L Corporation", + "license": "Apache-2.0", + "bugs": { + "url": "https://github.com/Brightspace/node-ecdsa-sig-formatter/issues" + }, + "homepage": "https://github.com/Brightspace/node-ecdsa-sig-formatter#readme", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "devDependencies": { + "bench": "^0.3.6", + "chai": "^3.5.0", + "coveralls": "^2.11.9", + "eslint": "^2.12.0", + "eslint-config-brightspace": "^0.2.1", + "istanbul": "^0.4.3", + "jwk-to-pem": "^1.2.5", + "mocha": "^2.5.3", + "native-crypto": "^1.7.0" + } +} diff --git a/back/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.d.ts b/back/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.d.ts new file mode 100644 index 0000000..9693aa0 --- /dev/null +++ b/back/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.d.ts @@ -0,0 +1,17 @@ +/// + +declare module "ecdsa-sig-formatter" { + /** + * Convert the ASN.1/DER encoded signature to a JOSE-style concatenated signature. Returns a base64 url encoded String. + * If signature is a String, it should be base64 encoded + * alg must be one of ES256, ES384 or ES512 + */ + export function derToJose(signature: Buffer | string, alg: string): string; + + /** + * Convert the JOSE-style concatenated signature to an ASN.1/DER encoded signature. Returns a Buffer + * If signature is a String, it should be base64 url encoded + * alg must be one of ES256, ES384 or ES512 + */ + export function joseToDer(signature: Buffer | string, alg: string): Buffer +} diff --git a/back/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js b/back/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js new file mode 100644 index 0000000..38eeb9b --- /dev/null +++ b/back/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js @@ -0,0 +1,187 @@ +'use strict'; + +var Buffer = require('safe-buffer').Buffer; + +var getParamBytesForAlg = require('./param-bytes-for-alg'); + +var MAX_OCTET = 0x80, + CLASS_UNIVERSAL = 0, + PRIMITIVE_BIT = 0x20, + TAG_SEQ = 0x10, + TAG_INT = 0x02, + ENCODED_TAG_SEQ = (TAG_SEQ | PRIMITIVE_BIT) | (CLASS_UNIVERSAL << 6), + ENCODED_TAG_INT = TAG_INT | (CLASS_UNIVERSAL << 6); + +function base64Url(base64) { + return base64 + .replace(/=/g, '') + .replace(/\+/g, '-') + .replace(/\//g, '_'); +} + +function signatureAsBuffer(signature) { + if (Buffer.isBuffer(signature)) { + return signature; + } else if ('string' === typeof signature) { + return Buffer.from(signature, 'base64'); + } + + throw new TypeError('ECDSA signature must be a Base64 string or a Buffer'); +} + +function derToJose(signature, alg) { + signature = signatureAsBuffer(signature); + var paramBytes = getParamBytesForAlg(alg); + + // the DER encoded param should at most be the param size, plus a padding + // zero, since due to being a signed integer + var maxEncodedParamLength = paramBytes + 1; + + var inputLength = signature.length; + + var offset = 0; + if (signature[offset++] !== ENCODED_TAG_SEQ) { + throw new Error('Could not find expected "seq"'); + } + + var seqLength = signature[offset++]; + if (seqLength === (MAX_OCTET | 1)) { + seqLength = signature[offset++]; + } + + if (inputLength - offset < seqLength) { + throw new Error('"seq" specified length of "' + seqLength + '", only "' + (inputLength - offset) + '" remaining'); + } + + if (signature[offset++] !== ENCODED_TAG_INT) { + throw new Error('Could not find expected "int" for "r"'); + } + + var rLength = signature[offset++]; + + if (inputLength - offset - 2 < rLength) { + throw new Error('"r" specified length of "' + rLength + '", only "' + (inputLength - offset - 2) + '" available'); + } + + if (maxEncodedParamLength < rLength) { + throw new Error('"r" specified length of "' + rLength + '", max of "' + maxEncodedParamLength + '" is acceptable'); + } + + var rOffset = offset; + offset += rLength; + + if (signature[offset++] !== ENCODED_TAG_INT) { + throw new Error('Could not find expected "int" for "s"'); + } + + var sLength = signature[offset++]; + + if (inputLength - offset !== sLength) { + throw new Error('"s" specified length of "' + sLength + '", expected "' + (inputLength - offset) + '"'); + } + + if (maxEncodedParamLength < sLength) { + throw new Error('"s" specified length of "' + sLength + '", max of "' + maxEncodedParamLength + '" is acceptable'); + } + + var sOffset = offset; + offset += sLength; + + if (offset !== inputLength) { + throw new Error('Expected to consume entire buffer, but "' + (inputLength - offset) + '" bytes remain'); + } + + var rPadding = paramBytes - rLength, + sPadding = paramBytes - sLength; + + var dst = Buffer.allocUnsafe(rPadding + rLength + sPadding + sLength); + + for (offset = 0; offset < rPadding; ++offset) { + dst[offset] = 0; + } + signature.copy(dst, offset, rOffset + Math.max(-rPadding, 0), rOffset + rLength); + + offset = paramBytes; + + for (var o = offset; offset < o + sPadding; ++offset) { + dst[offset] = 0; + } + signature.copy(dst, offset, sOffset + Math.max(-sPadding, 0), sOffset + sLength); + + dst = dst.toString('base64'); + dst = base64Url(dst); + + return dst; +} + +function countPadding(buf, start, stop) { + var padding = 0; + while (start + padding < stop && buf[start + padding] === 0) { + ++padding; + } + + var needsSign = buf[start + padding] >= MAX_OCTET; + if (needsSign) { + --padding; + } + + return padding; +} + +function joseToDer(signature, alg) { + signature = signatureAsBuffer(signature); + var paramBytes = getParamBytesForAlg(alg); + + var signatureBytes = signature.length; + if (signatureBytes !== paramBytes * 2) { + throw new TypeError('"' + alg + '" signatures must be "' + paramBytes * 2 + '" bytes, saw "' + signatureBytes + '"'); + } + + var rPadding = countPadding(signature, 0, paramBytes); + var sPadding = countPadding(signature, paramBytes, signature.length); + var rLength = paramBytes - rPadding; + var sLength = paramBytes - sPadding; + + var rsBytes = 1 + 1 + rLength + 1 + 1 + sLength; + + var shortLength = rsBytes < MAX_OCTET; + + var dst = Buffer.allocUnsafe((shortLength ? 2 : 3) + rsBytes); + + var offset = 0; + dst[offset++] = ENCODED_TAG_SEQ; + if (shortLength) { + // Bit 8 has value "0" + // bits 7-1 give the length. + dst[offset++] = rsBytes; + } else { + // Bit 8 of first octet has value "1" + // bits 7-1 give the number of additional length octets. + dst[offset++] = MAX_OCTET | 1; + // length, base 256 + dst[offset++] = rsBytes & 0xff; + } + dst[offset++] = ENCODED_TAG_INT; + dst[offset++] = rLength; + if (rPadding < 0) { + dst[offset++] = 0; + offset += signature.copy(dst, offset, 0, paramBytes); + } else { + offset += signature.copy(dst, offset, rPadding, paramBytes); + } + dst[offset++] = ENCODED_TAG_INT; + dst[offset++] = sLength; + if (sPadding < 0) { + dst[offset++] = 0; + signature.copy(dst, offset, paramBytes); + } else { + signature.copy(dst, offset, paramBytes + sPadding); + } + + return dst; +} + +module.exports = { + derToJose: derToJose, + joseToDer: joseToDer +}; diff --git a/back/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js b/back/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js new file mode 100644 index 0000000..9fe67ac --- /dev/null +++ b/back/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js @@ -0,0 +1,23 @@ +'use strict'; + +function getParamSize(keySize) { + var result = ((keySize / 8) | 0) + (keySize % 8 === 0 ? 0 : 1); + return result; +} + +var paramBytesForAlg = { + ES256: getParamSize(256), + ES384: getParamSize(384), + ES512: getParamSize(521) +}; + +function getParamBytesForAlg(alg) { + var paramBytes = paramBytesForAlg[alg]; + if (paramBytes) { + return paramBytes; + } + + throw new Error('Unknown algorithm "' + alg + '"'); +} + +module.exports = getParamBytesForAlg; diff --git a/node_modules/ee-first/LICENSE b/back/node_modules/ee-first/LICENSE similarity index 100% rename from node_modules/ee-first/LICENSE rename to back/node_modules/ee-first/LICENSE diff --git a/node_modules/ee-first/README.md b/back/node_modules/ee-first/README.md similarity index 100% rename from node_modules/ee-first/README.md rename to back/node_modules/ee-first/README.md diff --git a/node_modules/ee-first/index.js b/back/node_modules/ee-first/index.js similarity index 100% rename from node_modules/ee-first/index.js rename to back/node_modules/ee-first/index.js diff --git a/node_modules/ee-first/package.json b/back/node_modules/ee-first/package.json similarity index 100% rename from node_modules/ee-first/package.json rename to back/node_modules/ee-first/package.json diff --git a/node_modules/encodeurl/LICENSE b/back/node_modules/encodeurl/LICENSE similarity index 100% rename from node_modules/encodeurl/LICENSE rename to back/node_modules/encodeurl/LICENSE diff --git a/node_modules/encodeurl/README.md b/back/node_modules/encodeurl/README.md similarity index 100% rename from node_modules/encodeurl/README.md rename to back/node_modules/encodeurl/README.md diff --git a/node_modules/encodeurl/index.js b/back/node_modules/encodeurl/index.js similarity index 100% rename from node_modules/encodeurl/index.js rename to back/node_modules/encodeurl/index.js diff --git a/node_modules/encodeurl/package.json b/back/node_modules/encodeurl/package.json similarity index 100% rename from node_modules/encodeurl/package.json rename to back/node_modules/encodeurl/package.json diff --git a/node_modules/es-define-property/.eslintrc b/back/node_modules/es-define-property/.eslintrc similarity index 100% rename from node_modules/es-define-property/.eslintrc rename to back/node_modules/es-define-property/.eslintrc diff --git a/node_modules/es-define-property/.github/FUNDING.yml b/back/node_modules/es-define-property/.github/FUNDING.yml similarity index 100% rename from node_modules/es-define-property/.github/FUNDING.yml rename to back/node_modules/es-define-property/.github/FUNDING.yml diff --git a/node_modules/es-define-property/.nycrc b/back/node_modules/es-define-property/.nycrc similarity index 100% rename from node_modules/es-define-property/.nycrc rename to back/node_modules/es-define-property/.nycrc diff --git a/node_modules/es-define-property/CHANGELOG.md b/back/node_modules/es-define-property/CHANGELOG.md similarity index 100% rename from node_modules/es-define-property/CHANGELOG.md rename to back/node_modules/es-define-property/CHANGELOG.md diff --git a/node_modules/es-define-property/LICENSE b/back/node_modules/es-define-property/LICENSE similarity index 100% rename from node_modules/es-define-property/LICENSE rename to back/node_modules/es-define-property/LICENSE diff --git a/node_modules/es-define-property/README.md b/back/node_modules/es-define-property/README.md similarity index 100% rename from node_modules/es-define-property/README.md rename to back/node_modules/es-define-property/README.md diff --git a/node_modules/es-define-property/index.d.ts b/back/node_modules/es-define-property/index.d.ts similarity index 100% rename from node_modules/es-define-property/index.d.ts rename to back/node_modules/es-define-property/index.d.ts diff --git a/node_modules/es-define-property/index.js b/back/node_modules/es-define-property/index.js similarity index 100% rename from node_modules/es-define-property/index.js rename to back/node_modules/es-define-property/index.js diff --git a/node_modules/es-define-property/package.json b/back/node_modules/es-define-property/package.json similarity index 100% rename from node_modules/es-define-property/package.json rename to back/node_modules/es-define-property/package.json diff --git a/node_modules/es-define-property/test/index.js b/back/node_modules/es-define-property/test/index.js similarity index 100% rename from node_modules/es-define-property/test/index.js rename to back/node_modules/es-define-property/test/index.js diff --git a/node_modules/es-define-property/tsconfig.json b/back/node_modules/es-define-property/tsconfig.json similarity index 100% rename from node_modules/es-define-property/tsconfig.json rename to back/node_modules/es-define-property/tsconfig.json diff --git a/node_modules/es-errors/.eslintrc b/back/node_modules/es-errors/.eslintrc similarity index 100% rename from node_modules/es-errors/.eslintrc rename to back/node_modules/es-errors/.eslintrc diff --git a/node_modules/es-errors/.github/FUNDING.yml b/back/node_modules/es-errors/.github/FUNDING.yml similarity index 100% rename from node_modules/es-errors/.github/FUNDING.yml rename to back/node_modules/es-errors/.github/FUNDING.yml diff --git a/node_modules/es-errors/CHANGELOG.md b/back/node_modules/es-errors/CHANGELOG.md similarity index 100% rename from node_modules/es-errors/CHANGELOG.md rename to back/node_modules/es-errors/CHANGELOG.md diff --git a/node_modules/es-errors/LICENSE b/back/node_modules/es-errors/LICENSE similarity index 100% rename from node_modules/es-errors/LICENSE rename to back/node_modules/es-errors/LICENSE diff --git a/node_modules/es-errors/README.md b/back/node_modules/es-errors/README.md similarity index 100% rename from node_modules/es-errors/README.md rename to back/node_modules/es-errors/README.md diff --git a/node_modules/es-errors/eval.d.ts b/back/node_modules/es-errors/eval.d.ts similarity index 100% rename from node_modules/es-errors/eval.d.ts rename to back/node_modules/es-errors/eval.d.ts diff --git a/node_modules/es-errors/eval.js b/back/node_modules/es-errors/eval.js similarity index 100% rename from node_modules/es-errors/eval.js rename to back/node_modules/es-errors/eval.js diff --git a/node_modules/es-errors/index.d.ts b/back/node_modules/es-errors/index.d.ts similarity index 100% rename from node_modules/es-errors/index.d.ts rename to back/node_modules/es-errors/index.d.ts diff --git a/node_modules/es-errors/index.js b/back/node_modules/es-errors/index.js similarity index 100% rename from node_modules/es-errors/index.js rename to back/node_modules/es-errors/index.js diff --git a/node_modules/es-errors/package.json b/back/node_modules/es-errors/package.json similarity index 100% rename from node_modules/es-errors/package.json rename to back/node_modules/es-errors/package.json diff --git a/node_modules/es-errors/range.d.ts b/back/node_modules/es-errors/range.d.ts similarity index 100% rename from node_modules/es-errors/range.d.ts rename to back/node_modules/es-errors/range.d.ts diff --git a/node_modules/es-errors/range.js b/back/node_modules/es-errors/range.js similarity index 100% rename from node_modules/es-errors/range.js rename to back/node_modules/es-errors/range.js diff --git a/node_modules/es-errors/ref.d.ts b/back/node_modules/es-errors/ref.d.ts similarity index 100% rename from node_modules/es-errors/ref.d.ts rename to back/node_modules/es-errors/ref.d.ts diff --git a/node_modules/es-errors/ref.js b/back/node_modules/es-errors/ref.js similarity index 100% rename from node_modules/es-errors/ref.js rename to back/node_modules/es-errors/ref.js diff --git a/node_modules/es-errors/syntax.d.ts b/back/node_modules/es-errors/syntax.d.ts similarity index 100% rename from node_modules/es-errors/syntax.d.ts rename to back/node_modules/es-errors/syntax.d.ts diff --git a/node_modules/es-errors/syntax.js b/back/node_modules/es-errors/syntax.js similarity index 100% rename from node_modules/es-errors/syntax.js rename to back/node_modules/es-errors/syntax.js diff --git a/node_modules/es-errors/test/index.js b/back/node_modules/es-errors/test/index.js similarity index 100% rename from node_modules/es-errors/test/index.js rename to back/node_modules/es-errors/test/index.js diff --git a/node_modules/es-errors/tsconfig.json b/back/node_modules/es-errors/tsconfig.json similarity index 100% rename from node_modules/es-errors/tsconfig.json rename to back/node_modules/es-errors/tsconfig.json diff --git a/node_modules/es-errors/type.d.ts b/back/node_modules/es-errors/type.d.ts similarity index 100% rename from node_modules/es-errors/type.d.ts rename to back/node_modules/es-errors/type.d.ts diff --git a/node_modules/es-errors/type.js b/back/node_modules/es-errors/type.js similarity index 100% rename from node_modules/es-errors/type.js rename to back/node_modules/es-errors/type.js diff --git a/node_modules/es-errors/uri.d.ts b/back/node_modules/es-errors/uri.d.ts similarity index 100% rename from node_modules/es-errors/uri.d.ts rename to back/node_modules/es-errors/uri.d.ts diff --git a/node_modules/es-errors/uri.js b/back/node_modules/es-errors/uri.js similarity index 100% rename from node_modules/es-errors/uri.js rename to back/node_modules/es-errors/uri.js diff --git a/node_modules/es-object-atoms/.eslintrc b/back/node_modules/es-object-atoms/.eslintrc similarity index 100% rename from node_modules/es-object-atoms/.eslintrc rename to back/node_modules/es-object-atoms/.eslintrc diff --git a/node_modules/es-object-atoms/.github/FUNDING.yml b/back/node_modules/es-object-atoms/.github/FUNDING.yml similarity index 100% rename from node_modules/es-object-atoms/.github/FUNDING.yml rename to back/node_modules/es-object-atoms/.github/FUNDING.yml diff --git a/node_modules/es-object-atoms/CHANGELOG.md b/back/node_modules/es-object-atoms/CHANGELOG.md similarity index 100% rename from node_modules/es-object-atoms/CHANGELOG.md rename to back/node_modules/es-object-atoms/CHANGELOG.md diff --git a/node_modules/es-object-atoms/LICENSE b/back/node_modules/es-object-atoms/LICENSE similarity index 100% rename from node_modules/es-object-atoms/LICENSE rename to back/node_modules/es-object-atoms/LICENSE diff --git a/node_modules/es-object-atoms/README.md b/back/node_modules/es-object-atoms/README.md similarity index 100% rename from node_modules/es-object-atoms/README.md rename to back/node_modules/es-object-atoms/README.md diff --git a/node_modules/es-object-atoms/RequireObjectCoercible.d.ts b/back/node_modules/es-object-atoms/RequireObjectCoercible.d.ts similarity index 100% rename from node_modules/es-object-atoms/RequireObjectCoercible.d.ts rename to back/node_modules/es-object-atoms/RequireObjectCoercible.d.ts diff --git a/node_modules/es-object-atoms/RequireObjectCoercible.js b/back/node_modules/es-object-atoms/RequireObjectCoercible.js similarity index 100% rename from node_modules/es-object-atoms/RequireObjectCoercible.js rename to back/node_modules/es-object-atoms/RequireObjectCoercible.js diff --git a/node_modules/es-object-atoms/ToObject.d.ts b/back/node_modules/es-object-atoms/ToObject.d.ts similarity index 100% rename from node_modules/es-object-atoms/ToObject.d.ts rename to back/node_modules/es-object-atoms/ToObject.d.ts diff --git a/node_modules/es-object-atoms/ToObject.js b/back/node_modules/es-object-atoms/ToObject.js similarity index 100% rename from node_modules/es-object-atoms/ToObject.js rename to back/node_modules/es-object-atoms/ToObject.js diff --git a/node_modules/es-object-atoms/index.d.ts b/back/node_modules/es-object-atoms/index.d.ts similarity index 100% rename from node_modules/es-object-atoms/index.d.ts rename to back/node_modules/es-object-atoms/index.d.ts diff --git a/node_modules/es-object-atoms/index.js b/back/node_modules/es-object-atoms/index.js similarity index 100% rename from node_modules/es-object-atoms/index.js rename to back/node_modules/es-object-atoms/index.js diff --git a/node_modules/es-object-atoms/isObject.d.ts b/back/node_modules/es-object-atoms/isObject.d.ts similarity index 100% rename from node_modules/es-object-atoms/isObject.d.ts rename to back/node_modules/es-object-atoms/isObject.d.ts diff --git a/node_modules/es-object-atoms/isObject.js b/back/node_modules/es-object-atoms/isObject.js similarity index 100% rename from node_modules/es-object-atoms/isObject.js rename to back/node_modules/es-object-atoms/isObject.js diff --git a/node_modules/es-object-atoms/package.json b/back/node_modules/es-object-atoms/package.json similarity index 100% rename from node_modules/es-object-atoms/package.json rename to back/node_modules/es-object-atoms/package.json diff --git a/node_modules/es-object-atoms/test/index.js b/back/node_modules/es-object-atoms/test/index.js similarity index 100% rename from node_modules/es-object-atoms/test/index.js rename to back/node_modules/es-object-atoms/test/index.js diff --git a/node_modules/es-object-atoms/tsconfig.json b/back/node_modules/es-object-atoms/tsconfig.json similarity index 100% rename from node_modules/es-object-atoms/tsconfig.json rename to back/node_modules/es-object-atoms/tsconfig.json diff --git a/node_modules/escape-html/LICENSE b/back/node_modules/escape-html/LICENSE similarity index 100% rename from node_modules/escape-html/LICENSE rename to back/node_modules/escape-html/LICENSE diff --git a/node_modules/escape-html/Readme.md b/back/node_modules/escape-html/Readme.md similarity index 100% rename from node_modules/escape-html/Readme.md rename to back/node_modules/escape-html/Readme.md diff --git a/node_modules/escape-html/index.js b/back/node_modules/escape-html/index.js similarity index 100% rename from node_modules/escape-html/index.js rename to back/node_modules/escape-html/index.js diff --git a/node_modules/escape-html/package.json b/back/node_modules/escape-html/package.json similarity index 100% rename from node_modules/escape-html/package.json rename to back/node_modules/escape-html/package.json diff --git a/node_modules/etag/HISTORY.md b/back/node_modules/etag/HISTORY.md similarity index 100% rename from node_modules/etag/HISTORY.md rename to back/node_modules/etag/HISTORY.md diff --git a/node_modules/etag/LICENSE b/back/node_modules/etag/LICENSE similarity index 100% rename from node_modules/etag/LICENSE rename to back/node_modules/etag/LICENSE diff --git a/node_modules/etag/README.md b/back/node_modules/etag/README.md similarity index 100% rename from node_modules/etag/README.md rename to back/node_modules/etag/README.md diff --git a/node_modules/etag/index.js b/back/node_modules/etag/index.js similarity index 100% rename from node_modules/etag/index.js rename to back/node_modules/etag/index.js diff --git a/node_modules/etag/package.json b/back/node_modules/etag/package.json similarity index 100% rename from node_modules/etag/package.json rename to back/node_modules/etag/package.json diff --git a/node_modules/express/LICENSE b/back/node_modules/express/LICENSE similarity index 100% rename from node_modules/express/LICENSE rename to back/node_modules/express/LICENSE diff --git a/node_modules/express/Readme.md b/back/node_modules/express/Readme.md similarity index 100% rename from node_modules/express/Readme.md rename to back/node_modules/express/Readme.md diff --git a/node_modules/express/index.js b/back/node_modules/express/index.js similarity index 100% rename from node_modules/express/index.js rename to back/node_modules/express/index.js diff --git a/node_modules/express/lib/application.js b/back/node_modules/express/lib/application.js similarity index 100% rename from node_modules/express/lib/application.js rename to back/node_modules/express/lib/application.js diff --git a/node_modules/express/lib/express.js b/back/node_modules/express/lib/express.js similarity index 100% rename from node_modules/express/lib/express.js rename to back/node_modules/express/lib/express.js diff --git a/node_modules/express/lib/request.js b/back/node_modules/express/lib/request.js similarity index 100% rename from node_modules/express/lib/request.js rename to back/node_modules/express/lib/request.js diff --git a/node_modules/express/lib/response.js b/back/node_modules/express/lib/response.js similarity index 100% rename from node_modules/express/lib/response.js rename to back/node_modules/express/lib/response.js diff --git a/node_modules/express/lib/utils.js b/back/node_modules/express/lib/utils.js similarity index 100% rename from node_modules/express/lib/utils.js rename to back/node_modules/express/lib/utils.js diff --git a/node_modules/express/lib/view.js b/back/node_modules/express/lib/view.js similarity index 100% rename from node_modules/express/lib/view.js rename to back/node_modules/express/lib/view.js diff --git a/node_modules/express/package.json b/back/node_modules/express/package.json similarity index 100% rename from node_modules/express/package.json rename to back/node_modules/express/package.json diff --git a/node_modules/finalhandler/HISTORY.md b/back/node_modules/finalhandler/HISTORY.md similarity index 100% rename from node_modules/finalhandler/HISTORY.md rename to back/node_modules/finalhandler/HISTORY.md diff --git a/node_modules/finalhandler/LICENSE b/back/node_modules/finalhandler/LICENSE similarity index 100% rename from node_modules/finalhandler/LICENSE rename to back/node_modules/finalhandler/LICENSE diff --git a/node_modules/finalhandler/README.md b/back/node_modules/finalhandler/README.md similarity index 100% rename from node_modules/finalhandler/README.md rename to back/node_modules/finalhandler/README.md diff --git a/node_modules/finalhandler/index.js b/back/node_modules/finalhandler/index.js similarity index 100% rename from node_modules/finalhandler/index.js rename to back/node_modules/finalhandler/index.js diff --git a/node_modules/finalhandler/package.json b/back/node_modules/finalhandler/package.json similarity index 100% rename from node_modules/finalhandler/package.json rename to back/node_modules/finalhandler/package.json diff --git a/node_modules/forwarded/HISTORY.md b/back/node_modules/forwarded/HISTORY.md similarity index 100% rename from node_modules/forwarded/HISTORY.md rename to back/node_modules/forwarded/HISTORY.md diff --git a/node_modules/forwarded/LICENSE b/back/node_modules/forwarded/LICENSE similarity index 100% rename from node_modules/forwarded/LICENSE rename to back/node_modules/forwarded/LICENSE diff --git a/node_modules/forwarded/README.md b/back/node_modules/forwarded/README.md similarity index 100% rename from node_modules/forwarded/README.md rename to back/node_modules/forwarded/README.md diff --git a/node_modules/forwarded/index.js b/back/node_modules/forwarded/index.js similarity index 100% rename from node_modules/forwarded/index.js rename to back/node_modules/forwarded/index.js diff --git a/node_modules/forwarded/package.json b/back/node_modules/forwarded/package.json similarity index 100% rename from node_modules/forwarded/package.json rename to back/node_modules/forwarded/package.json diff --git a/node_modules/fresh/HISTORY.md b/back/node_modules/fresh/HISTORY.md similarity index 100% rename from node_modules/fresh/HISTORY.md rename to back/node_modules/fresh/HISTORY.md diff --git a/node_modules/fresh/LICENSE b/back/node_modules/fresh/LICENSE similarity index 100% rename from node_modules/fresh/LICENSE rename to back/node_modules/fresh/LICENSE diff --git a/node_modules/fresh/README.md b/back/node_modules/fresh/README.md similarity index 100% rename from node_modules/fresh/README.md rename to back/node_modules/fresh/README.md diff --git a/node_modules/fresh/index.js b/back/node_modules/fresh/index.js similarity index 100% rename from node_modules/fresh/index.js rename to back/node_modules/fresh/index.js diff --git a/node_modules/fresh/package.json b/back/node_modules/fresh/package.json similarity index 100% rename from node_modules/fresh/package.json rename to back/node_modules/fresh/package.json diff --git a/node_modules/function-bind/.eslintrc b/back/node_modules/function-bind/.eslintrc similarity index 100% rename from node_modules/function-bind/.eslintrc rename to back/node_modules/function-bind/.eslintrc diff --git a/node_modules/function-bind/.github/FUNDING.yml b/back/node_modules/function-bind/.github/FUNDING.yml similarity index 100% rename from node_modules/function-bind/.github/FUNDING.yml rename to back/node_modules/function-bind/.github/FUNDING.yml diff --git a/node_modules/function-bind/.github/SECURITY.md b/back/node_modules/function-bind/.github/SECURITY.md similarity index 100% rename from node_modules/function-bind/.github/SECURITY.md rename to back/node_modules/function-bind/.github/SECURITY.md diff --git a/node_modules/function-bind/.nycrc b/back/node_modules/function-bind/.nycrc similarity index 100% rename from node_modules/function-bind/.nycrc rename to back/node_modules/function-bind/.nycrc diff --git a/node_modules/function-bind/CHANGELOG.md b/back/node_modules/function-bind/CHANGELOG.md similarity index 100% rename from node_modules/function-bind/CHANGELOG.md rename to back/node_modules/function-bind/CHANGELOG.md diff --git a/node_modules/function-bind/LICENSE b/back/node_modules/function-bind/LICENSE similarity index 100% rename from node_modules/function-bind/LICENSE rename to back/node_modules/function-bind/LICENSE diff --git a/node_modules/function-bind/README.md b/back/node_modules/function-bind/README.md similarity index 100% rename from node_modules/function-bind/README.md rename to back/node_modules/function-bind/README.md diff --git a/node_modules/function-bind/implementation.js b/back/node_modules/function-bind/implementation.js similarity index 100% rename from node_modules/function-bind/implementation.js rename to back/node_modules/function-bind/implementation.js diff --git a/node_modules/function-bind/index.js b/back/node_modules/function-bind/index.js similarity index 100% rename from node_modules/function-bind/index.js rename to back/node_modules/function-bind/index.js diff --git a/node_modules/function-bind/package.json b/back/node_modules/function-bind/package.json similarity index 100% rename from node_modules/function-bind/package.json rename to back/node_modules/function-bind/package.json diff --git a/node_modules/function-bind/test/.eslintrc b/back/node_modules/function-bind/test/.eslintrc similarity index 100% rename from node_modules/function-bind/test/.eslintrc rename to back/node_modules/function-bind/test/.eslintrc diff --git a/node_modules/function-bind/test/index.js b/back/node_modules/function-bind/test/index.js similarity index 100% rename from node_modules/function-bind/test/index.js rename to back/node_modules/function-bind/test/index.js diff --git a/node_modules/get-intrinsic/.eslintrc b/back/node_modules/get-intrinsic/.eslintrc similarity index 100% rename from node_modules/get-intrinsic/.eslintrc rename to back/node_modules/get-intrinsic/.eslintrc diff --git a/node_modules/get-intrinsic/.github/FUNDING.yml b/back/node_modules/get-intrinsic/.github/FUNDING.yml similarity index 100% rename from node_modules/get-intrinsic/.github/FUNDING.yml rename to back/node_modules/get-intrinsic/.github/FUNDING.yml diff --git a/node_modules/get-intrinsic/.nycrc b/back/node_modules/get-intrinsic/.nycrc similarity index 100% rename from node_modules/get-intrinsic/.nycrc rename to back/node_modules/get-intrinsic/.nycrc diff --git a/node_modules/get-intrinsic/CHANGELOG.md b/back/node_modules/get-intrinsic/CHANGELOG.md similarity index 100% rename from node_modules/get-intrinsic/CHANGELOG.md rename to back/node_modules/get-intrinsic/CHANGELOG.md diff --git a/node_modules/get-intrinsic/LICENSE b/back/node_modules/get-intrinsic/LICENSE similarity index 100% rename from node_modules/get-intrinsic/LICENSE rename to back/node_modules/get-intrinsic/LICENSE diff --git a/node_modules/get-intrinsic/README.md b/back/node_modules/get-intrinsic/README.md similarity index 100% rename from node_modules/get-intrinsic/README.md rename to back/node_modules/get-intrinsic/README.md diff --git a/node_modules/get-intrinsic/index.js b/back/node_modules/get-intrinsic/index.js similarity index 100% rename from node_modules/get-intrinsic/index.js rename to back/node_modules/get-intrinsic/index.js diff --git a/node_modules/get-intrinsic/package.json b/back/node_modules/get-intrinsic/package.json similarity index 100% rename from node_modules/get-intrinsic/package.json rename to back/node_modules/get-intrinsic/package.json diff --git a/node_modules/get-intrinsic/test/GetIntrinsic.js b/back/node_modules/get-intrinsic/test/GetIntrinsic.js similarity index 100% rename from node_modules/get-intrinsic/test/GetIntrinsic.js rename to back/node_modules/get-intrinsic/test/GetIntrinsic.js diff --git a/node_modules/get-proto/.eslintrc b/back/node_modules/get-proto/.eslintrc similarity index 100% rename from node_modules/get-proto/.eslintrc rename to back/node_modules/get-proto/.eslintrc diff --git a/node_modules/get-proto/.github/FUNDING.yml b/back/node_modules/get-proto/.github/FUNDING.yml similarity index 100% rename from node_modules/get-proto/.github/FUNDING.yml rename to back/node_modules/get-proto/.github/FUNDING.yml diff --git a/node_modules/get-proto/.nycrc b/back/node_modules/get-proto/.nycrc similarity index 100% rename from node_modules/get-proto/.nycrc rename to back/node_modules/get-proto/.nycrc diff --git a/node_modules/get-proto/CHANGELOG.md b/back/node_modules/get-proto/CHANGELOG.md similarity index 100% rename from node_modules/get-proto/CHANGELOG.md rename to back/node_modules/get-proto/CHANGELOG.md diff --git a/node_modules/get-proto/LICENSE b/back/node_modules/get-proto/LICENSE similarity index 100% rename from node_modules/get-proto/LICENSE rename to back/node_modules/get-proto/LICENSE diff --git a/node_modules/get-proto/Object.getPrototypeOf.d.ts b/back/node_modules/get-proto/Object.getPrototypeOf.d.ts similarity index 100% rename from node_modules/get-proto/Object.getPrototypeOf.d.ts rename to back/node_modules/get-proto/Object.getPrototypeOf.d.ts diff --git a/node_modules/get-proto/Object.getPrototypeOf.js b/back/node_modules/get-proto/Object.getPrototypeOf.js similarity index 100% rename from node_modules/get-proto/Object.getPrototypeOf.js rename to back/node_modules/get-proto/Object.getPrototypeOf.js diff --git a/node_modules/get-proto/README.md b/back/node_modules/get-proto/README.md similarity index 100% rename from node_modules/get-proto/README.md rename to back/node_modules/get-proto/README.md diff --git a/node_modules/get-proto/Reflect.getPrototypeOf.d.ts b/back/node_modules/get-proto/Reflect.getPrototypeOf.d.ts similarity index 100% rename from node_modules/get-proto/Reflect.getPrototypeOf.d.ts rename to back/node_modules/get-proto/Reflect.getPrototypeOf.d.ts diff --git a/node_modules/get-proto/Reflect.getPrototypeOf.js b/back/node_modules/get-proto/Reflect.getPrototypeOf.js similarity index 100% rename from node_modules/get-proto/Reflect.getPrototypeOf.js rename to back/node_modules/get-proto/Reflect.getPrototypeOf.js diff --git a/node_modules/get-proto/index.d.ts b/back/node_modules/get-proto/index.d.ts similarity index 100% rename from node_modules/get-proto/index.d.ts rename to back/node_modules/get-proto/index.d.ts diff --git a/node_modules/get-proto/index.js b/back/node_modules/get-proto/index.js similarity index 100% rename from node_modules/get-proto/index.js rename to back/node_modules/get-proto/index.js diff --git a/node_modules/get-proto/package.json b/back/node_modules/get-proto/package.json similarity index 100% rename from node_modules/get-proto/package.json rename to back/node_modules/get-proto/package.json diff --git a/node_modules/get-proto/test/index.js b/back/node_modules/get-proto/test/index.js similarity index 100% rename from node_modules/get-proto/test/index.js rename to back/node_modules/get-proto/test/index.js diff --git a/node_modules/get-proto/tsconfig.json b/back/node_modules/get-proto/tsconfig.json similarity index 100% rename from node_modules/get-proto/tsconfig.json rename to back/node_modules/get-proto/tsconfig.json diff --git a/node_modules/gopd/.eslintrc b/back/node_modules/gopd/.eslintrc similarity index 100% rename from node_modules/gopd/.eslintrc rename to back/node_modules/gopd/.eslintrc diff --git a/node_modules/gopd/.github/FUNDING.yml b/back/node_modules/gopd/.github/FUNDING.yml similarity index 100% rename from node_modules/gopd/.github/FUNDING.yml rename to back/node_modules/gopd/.github/FUNDING.yml diff --git a/node_modules/gopd/CHANGELOG.md b/back/node_modules/gopd/CHANGELOG.md similarity index 100% rename from node_modules/gopd/CHANGELOG.md rename to back/node_modules/gopd/CHANGELOG.md diff --git a/node_modules/gopd/LICENSE b/back/node_modules/gopd/LICENSE similarity index 100% rename from node_modules/gopd/LICENSE rename to back/node_modules/gopd/LICENSE diff --git a/node_modules/gopd/README.md b/back/node_modules/gopd/README.md similarity index 100% rename from node_modules/gopd/README.md rename to back/node_modules/gopd/README.md diff --git a/node_modules/gopd/gOPD.d.ts b/back/node_modules/gopd/gOPD.d.ts similarity index 100% rename from node_modules/gopd/gOPD.d.ts rename to back/node_modules/gopd/gOPD.d.ts diff --git a/node_modules/gopd/gOPD.js b/back/node_modules/gopd/gOPD.js similarity index 100% rename from node_modules/gopd/gOPD.js rename to back/node_modules/gopd/gOPD.js diff --git a/node_modules/gopd/index.d.ts b/back/node_modules/gopd/index.d.ts similarity index 100% rename from node_modules/gopd/index.d.ts rename to back/node_modules/gopd/index.d.ts diff --git a/node_modules/gopd/index.js b/back/node_modules/gopd/index.js similarity index 100% rename from node_modules/gopd/index.js rename to back/node_modules/gopd/index.js diff --git a/node_modules/gopd/package.json b/back/node_modules/gopd/package.json similarity index 100% rename from node_modules/gopd/package.json rename to back/node_modules/gopd/package.json diff --git a/node_modules/gopd/test/index.js b/back/node_modules/gopd/test/index.js similarity index 100% rename from node_modules/gopd/test/index.js rename to back/node_modules/gopd/test/index.js diff --git a/node_modules/gopd/tsconfig.json b/back/node_modules/gopd/tsconfig.json similarity index 100% rename from node_modules/gopd/tsconfig.json rename to back/node_modules/gopd/tsconfig.json diff --git a/node_modules/has-symbols/.eslintrc b/back/node_modules/has-symbols/.eslintrc similarity index 100% rename from node_modules/has-symbols/.eslintrc rename to back/node_modules/has-symbols/.eslintrc diff --git a/node_modules/has-symbols/.github/FUNDING.yml b/back/node_modules/has-symbols/.github/FUNDING.yml similarity index 100% rename from node_modules/has-symbols/.github/FUNDING.yml rename to back/node_modules/has-symbols/.github/FUNDING.yml diff --git a/node_modules/has-symbols/.nycrc b/back/node_modules/has-symbols/.nycrc similarity index 100% rename from node_modules/has-symbols/.nycrc rename to back/node_modules/has-symbols/.nycrc diff --git a/node_modules/has-symbols/CHANGELOG.md b/back/node_modules/has-symbols/CHANGELOG.md similarity index 100% rename from node_modules/has-symbols/CHANGELOG.md rename to back/node_modules/has-symbols/CHANGELOG.md diff --git a/node_modules/has-symbols/LICENSE b/back/node_modules/has-symbols/LICENSE similarity index 100% rename from node_modules/has-symbols/LICENSE rename to back/node_modules/has-symbols/LICENSE diff --git a/node_modules/has-symbols/README.md b/back/node_modules/has-symbols/README.md similarity index 100% rename from node_modules/has-symbols/README.md rename to back/node_modules/has-symbols/README.md diff --git a/node_modules/has-symbols/index.d.ts b/back/node_modules/has-symbols/index.d.ts similarity index 100% rename from node_modules/has-symbols/index.d.ts rename to back/node_modules/has-symbols/index.d.ts diff --git a/node_modules/has-symbols/index.js b/back/node_modules/has-symbols/index.js similarity index 100% rename from node_modules/has-symbols/index.js rename to back/node_modules/has-symbols/index.js diff --git a/node_modules/has-symbols/package.json b/back/node_modules/has-symbols/package.json similarity index 100% rename from node_modules/has-symbols/package.json rename to back/node_modules/has-symbols/package.json diff --git a/node_modules/has-symbols/shams.d.ts b/back/node_modules/has-symbols/shams.d.ts similarity index 100% rename from node_modules/has-symbols/shams.d.ts rename to back/node_modules/has-symbols/shams.d.ts diff --git a/node_modules/has-symbols/shams.js b/back/node_modules/has-symbols/shams.js similarity index 100% rename from node_modules/has-symbols/shams.js rename to back/node_modules/has-symbols/shams.js diff --git a/node_modules/has-symbols/test/index.js b/back/node_modules/has-symbols/test/index.js similarity index 100% rename from node_modules/has-symbols/test/index.js rename to back/node_modules/has-symbols/test/index.js diff --git a/node_modules/has-symbols/test/shams/core-js.js b/back/node_modules/has-symbols/test/shams/core-js.js similarity index 100% rename from node_modules/has-symbols/test/shams/core-js.js rename to back/node_modules/has-symbols/test/shams/core-js.js diff --git a/node_modules/has-symbols/test/shams/get-own-property-symbols.js b/back/node_modules/has-symbols/test/shams/get-own-property-symbols.js similarity index 100% rename from node_modules/has-symbols/test/shams/get-own-property-symbols.js rename to back/node_modules/has-symbols/test/shams/get-own-property-symbols.js diff --git a/node_modules/has-symbols/test/tests.js b/back/node_modules/has-symbols/test/tests.js similarity index 100% rename from node_modules/has-symbols/test/tests.js rename to back/node_modules/has-symbols/test/tests.js diff --git a/node_modules/has-symbols/tsconfig.json b/back/node_modules/has-symbols/tsconfig.json similarity index 100% rename from node_modules/has-symbols/tsconfig.json rename to back/node_modules/has-symbols/tsconfig.json diff --git a/node_modules/hasown/.eslintrc b/back/node_modules/hasown/.eslintrc similarity index 100% rename from node_modules/hasown/.eslintrc rename to back/node_modules/hasown/.eslintrc diff --git a/node_modules/hasown/.github/FUNDING.yml b/back/node_modules/hasown/.github/FUNDING.yml similarity index 100% rename from node_modules/hasown/.github/FUNDING.yml rename to back/node_modules/hasown/.github/FUNDING.yml diff --git a/node_modules/hasown/.nycrc b/back/node_modules/hasown/.nycrc similarity index 100% rename from node_modules/hasown/.nycrc rename to back/node_modules/hasown/.nycrc diff --git a/node_modules/hasown/CHANGELOG.md b/back/node_modules/hasown/CHANGELOG.md similarity index 100% rename from node_modules/hasown/CHANGELOG.md rename to back/node_modules/hasown/CHANGELOG.md diff --git a/node_modules/hasown/LICENSE b/back/node_modules/hasown/LICENSE similarity index 100% rename from node_modules/hasown/LICENSE rename to back/node_modules/hasown/LICENSE diff --git a/node_modules/hasown/README.md b/back/node_modules/hasown/README.md similarity index 100% rename from node_modules/hasown/README.md rename to back/node_modules/hasown/README.md diff --git a/node_modules/hasown/index.d.ts b/back/node_modules/hasown/index.d.ts similarity index 100% rename from node_modules/hasown/index.d.ts rename to back/node_modules/hasown/index.d.ts diff --git a/node_modules/hasown/index.js b/back/node_modules/hasown/index.js similarity index 100% rename from node_modules/hasown/index.js rename to back/node_modules/hasown/index.js diff --git a/node_modules/hasown/package.json b/back/node_modules/hasown/package.json similarity index 100% rename from node_modules/hasown/package.json rename to back/node_modules/hasown/package.json diff --git a/node_modules/hasown/tsconfig.json b/back/node_modules/hasown/tsconfig.json similarity index 100% rename from node_modules/hasown/tsconfig.json rename to back/node_modules/hasown/tsconfig.json diff --git a/node_modules/http-errors/HISTORY.md b/back/node_modules/http-errors/HISTORY.md similarity index 100% rename from node_modules/http-errors/HISTORY.md rename to back/node_modules/http-errors/HISTORY.md diff --git a/node_modules/http-errors/LICENSE b/back/node_modules/http-errors/LICENSE similarity index 100% rename from node_modules/http-errors/LICENSE rename to back/node_modules/http-errors/LICENSE diff --git a/node_modules/http-errors/README.md b/back/node_modules/http-errors/README.md similarity index 100% rename from node_modules/http-errors/README.md rename to back/node_modules/http-errors/README.md diff --git a/node_modules/http-errors/index.js b/back/node_modules/http-errors/index.js similarity index 100% rename from node_modules/http-errors/index.js rename to back/node_modules/http-errors/index.js diff --git a/node_modules/http-errors/package.json b/back/node_modules/http-errors/package.json similarity index 100% rename from node_modules/http-errors/package.json rename to back/node_modules/http-errors/package.json diff --git a/node_modules/iconv-lite/LICENSE b/back/node_modules/iconv-lite/LICENSE similarity index 100% rename from node_modules/iconv-lite/LICENSE rename to back/node_modules/iconv-lite/LICENSE diff --git a/node_modules/iconv-lite/README.md b/back/node_modules/iconv-lite/README.md similarity index 100% rename from node_modules/iconv-lite/README.md rename to back/node_modules/iconv-lite/README.md diff --git a/node_modules/iconv-lite/encodings/dbcs-codec.js b/back/node_modules/iconv-lite/encodings/dbcs-codec.js similarity index 100% rename from node_modules/iconv-lite/encodings/dbcs-codec.js rename to back/node_modules/iconv-lite/encodings/dbcs-codec.js diff --git a/node_modules/iconv-lite/encodings/dbcs-data.js b/back/node_modules/iconv-lite/encodings/dbcs-data.js similarity index 100% rename from node_modules/iconv-lite/encodings/dbcs-data.js rename to back/node_modules/iconv-lite/encodings/dbcs-data.js diff --git a/node_modules/iconv-lite/encodings/index.js b/back/node_modules/iconv-lite/encodings/index.js similarity index 100% rename from node_modules/iconv-lite/encodings/index.js rename to back/node_modules/iconv-lite/encodings/index.js diff --git a/node_modules/iconv-lite/encodings/internal.js b/back/node_modules/iconv-lite/encodings/internal.js similarity index 100% rename from node_modules/iconv-lite/encodings/internal.js rename to back/node_modules/iconv-lite/encodings/internal.js diff --git a/node_modules/iconv-lite/encodings/sbcs-codec.js b/back/node_modules/iconv-lite/encodings/sbcs-codec.js similarity index 100% rename from node_modules/iconv-lite/encodings/sbcs-codec.js rename to back/node_modules/iconv-lite/encodings/sbcs-codec.js diff --git a/node_modules/iconv-lite/encodings/sbcs-data-generated.js b/back/node_modules/iconv-lite/encodings/sbcs-data-generated.js similarity index 100% rename from node_modules/iconv-lite/encodings/sbcs-data-generated.js rename to back/node_modules/iconv-lite/encodings/sbcs-data-generated.js diff --git a/node_modules/iconv-lite/encodings/sbcs-data.js b/back/node_modules/iconv-lite/encodings/sbcs-data.js similarity index 100% rename from node_modules/iconv-lite/encodings/sbcs-data.js rename to back/node_modules/iconv-lite/encodings/sbcs-data.js diff --git a/node_modules/iconv-lite/encodings/tables/big5-added.json b/back/node_modules/iconv-lite/encodings/tables/big5-added.json similarity index 100% rename from node_modules/iconv-lite/encodings/tables/big5-added.json rename to back/node_modules/iconv-lite/encodings/tables/big5-added.json diff --git a/node_modules/iconv-lite/encodings/tables/cp936.json b/back/node_modules/iconv-lite/encodings/tables/cp936.json similarity index 100% rename from node_modules/iconv-lite/encodings/tables/cp936.json rename to back/node_modules/iconv-lite/encodings/tables/cp936.json diff --git a/node_modules/iconv-lite/encodings/tables/cp949.json b/back/node_modules/iconv-lite/encodings/tables/cp949.json similarity index 100% rename from node_modules/iconv-lite/encodings/tables/cp949.json rename to back/node_modules/iconv-lite/encodings/tables/cp949.json diff --git a/node_modules/iconv-lite/encodings/tables/cp950.json b/back/node_modules/iconv-lite/encodings/tables/cp950.json similarity index 100% rename from node_modules/iconv-lite/encodings/tables/cp950.json rename to back/node_modules/iconv-lite/encodings/tables/cp950.json diff --git a/node_modules/iconv-lite/encodings/tables/eucjp.json b/back/node_modules/iconv-lite/encodings/tables/eucjp.json similarity index 100% rename from node_modules/iconv-lite/encodings/tables/eucjp.json rename to back/node_modules/iconv-lite/encodings/tables/eucjp.json diff --git a/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json b/back/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json similarity index 100% rename from node_modules/iconv-lite/encodings/tables/gb18030-ranges.json rename to back/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json diff --git a/node_modules/iconv-lite/encodings/tables/gbk-added.json b/back/node_modules/iconv-lite/encodings/tables/gbk-added.json similarity index 100% rename from node_modules/iconv-lite/encodings/tables/gbk-added.json rename to back/node_modules/iconv-lite/encodings/tables/gbk-added.json diff --git a/node_modules/iconv-lite/encodings/tables/shiftjis.json b/back/node_modules/iconv-lite/encodings/tables/shiftjis.json similarity index 100% rename from node_modules/iconv-lite/encodings/tables/shiftjis.json rename to back/node_modules/iconv-lite/encodings/tables/shiftjis.json diff --git a/node_modules/iconv-lite/encodings/utf16.js b/back/node_modules/iconv-lite/encodings/utf16.js similarity index 100% rename from node_modules/iconv-lite/encodings/utf16.js rename to back/node_modules/iconv-lite/encodings/utf16.js diff --git a/node_modules/iconv-lite/encodings/utf32.js b/back/node_modules/iconv-lite/encodings/utf32.js similarity index 100% rename from node_modules/iconv-lite/encodings/utf32.js rename to back/node_modules/iconv-lite/encodings/utf32.js diff --git a/node_modules/iconv-lite/encodings/utf7.js b/back/node_modules/iconv-lite/encodings/utf7.js similarity index 100% rename from node_modules/iconv-lite/encodings/utf7.js rename to back/node_modules/iconv-lite/encodings/utf7.js diff --git a/node_modules/iconv-lite/lib/bom-handling.js b/back/node_modules/iconv-lite/lib/bom-handling.js similarity index 100% rename from node_modules/iconv-lite/lib/bom-handling.js rename to back/node_modules/iconv-lite/lib/bom-handling.js diff --git a/node_modules/iconv-lite/lib/helpers/merge-exports.js b/back/node_modules/iconv-lite/lib/helpers/merge-exports.js similarity index 100% rename from node_modules/iconv-lite/lib/helpers/merge-exports.js rename to back/node_modules/iconv-lite/lib/helpers/merge-exports.js diff --git a/node_modules/iconv-lite/lib/index.d.ts b/back/node_modules/iconv-lite/lib/index.d.ts similarity index 100% rename from node_modules/iconv-lite/lib/index.d.ts rename to back/node_modules/iconv-lite/lib/index.d.ts diff --git a/node_modules/iconv-lite/lib/index.js b/back/node_modules/iconv-lite/lib/index.js similarity index 100% rename from node_modules/iconv-lite/lib/index.js rename to back/node_modules/iconv-lite/lib/index.js diff --git a/node_modules/iconv-lite/lib/streams.js b/back/node_modules/iconv-lite/lib/streams.js similarity index 100% rename from node_modules/iconv-lite/lib/streams.js rename to back/node_modules/iconv-lite/lib/streams.js diff --git a/node_modules/iconv-lite/package.json b/back/node_modules/iconv-lite/package.json similarity index 100% rename from node_modules/iconv-lite/package.json rename to back/node_modules/iconv-lite/package.json diff --git a/node_modules/iconv-lite/types/encodings.d.ts b/back/node_modules/iconv-lite/types/encodings.d.ts similarity index 100% rename from node_modules/iconv-lite/types/encodings.d.ts rename to back/node_modules/iconv-lite/types/encodings.d.ts diff --git a/node_modules/inherits/LICENSE b/back/node_modules/inherits/LICENSE similarity index 100% rename from node_modules/inherits/LICENSE rename to back/node_modules/inherits/LICENSE diff --git a/node_modules/inherits/README.md b/back/node_modules/inherits/README.md similarity index 100% rename from node_modules/inherits/README.md rename to back/node_modules/inherits/README.md diff --git a/node_modules/inherits/inherits.js b/back/node_modules/inherits/inherits.js similarity index 100% rename from node_modules/inherits/inherits.js rename to back/node_modules/inherits/inherits.js diff --git a/node_modules/inherits/inherits_browser.js b/back/node_modules/inherits/inherits_browser.js similarity index 100% rename from node_modules/inherits/inherits_browser.js rename to back/node_modules/inherits/inherits_browser.js diff --git a/node_modules/inherits/package.json b/back/node_modules/inherits/package.json similarity index 100% rename from node_modules/inherits/package.json rename to back/node_modules/inherits/package.json diff --git a/node_modules/ipaddr.js/LICENSE b/back/node_modules/ipaddr.js/LICENSE similarity index 100% rename from node_modules/ipaddr.js/LICENSE rename to back/node_modules/ipaddr.js/LICENSE diff --git a/node_modules/ipaddr.js/README.md b/back/node_modules/ipaddr.js/README.md similarity index 100% rename from node_modules/ipaddr.js/README.md rename to back/node_modules/ipaddr.js/README.md diff --git a/node_modules/ipaddr.js/ipaddr.min.js b/back/node_modules/ipaddr.js/ipaddr.min.js similarity index 100% rename from node_modules/ipaddr.js/ipaddr.min.js rename to back/node_modules/ipaddr.js/ipaddr.min.js diff --git a/node_modules/ipaddr.js/lib/ipaddr.js b/back/node_modules/ipaddr.js/lib/ipaddr.js similarity index 100% rename from node_modules/ipaddr.js/lib/ipaddr.js rename to back/node_modules/ipaddr.js/lib/ipaddr.js diff --git a/node_modules/ipaddr.js/lib/ipaddr.js.d.ts b/back/node_modules/ipaddr.js/lib/ipaddr.js.d.ts similarity index 100% rename from node_modules/ipaddr.js/lib/ipaddr.js.d.ts rename to back/node_modules/ipaddr.js/lib/ipaddr.js.d.ts diff --git a/node_modules/ipaddr.js/package.json b/back/node_modules/ipaddr.js/package.json similarity index 100% rename from node_modules/ipaddr.js/package.json rename to back/node_modules/ipaddr.js/package.json diff --git a/node_modules/is-promise/LICENSE b/back/node_modules/is-promise/LICENSE similarity index 100% rename from node_modules/is-promise/LICENSE rename to back/node_modules/is-promise/LICENSE diff --git a/node_modules/is-promise/index.d.ts b/back/node_modules/is-promise/index.d.ts similarity index 100% rename from node_modules/is-promise/index.d.ts rename to back/node_modules/is-promise/index.d.ts diff --git a/node_modules/is-promise/index.js b/back/node_modules/is-promise/index.js similarity index 100% rename from node_modules/is-promise/index.js rename to back/node_modules/is-promise/index.js diff --git a/node_modules/is-promise/index.mjs b/back/node_modules/is-promise/index.mjs similarity index 100% rename from node_modules/is-promise/index.mjs rename to back/node_modules/is-promise/index.mjs diff --git a/node_modules/is-promise/package.json b/back/node_modules/is-promise/package.json similarity index 100% rename from node_modules/is-promise/package.json rename to back/node_modules/is-promise/package.json diff --git a/node_modules/is-promise/readme.md b/back/node_modules/is-promise/readme.md similarity index 100% rename from node_modules/is-promise/readme.md rename to back/node_modules/is-promise/readme.md diff --git a/back/node_modules/jsonwebtoken/LICENSE b/back/node_modules/jsonwebtoken/LICENSE new file mode 100644 index 0000000..bcd1854 --- /dev/null +++ b/back/node_modules/jsonwebtoken/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015 Auth0, Inc. (http://auth0.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/back/node_modules/jsonwebtoken/README.md b/back/node_modules/jsonwebtoken/README.md new file mode 100644 index 0000000..4e20dd9 --- /dev/null +++ b/back/node_modules/jsonwebtoken/README.md @@ -0,0 +1,396 @@ +# jsonwebtoken + +| **Build** | **Dependency** | +|-----------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------| +| [![Build Status](https://secure.travis-ci.org/auth0/node-jsonwebtoken.svg?branch=master)](http://travis-ci.org/auth0/node-jsonwebtoken) | [![Dependency Status](https://david-dm.org/auth0/node-jsonwebtoken.svg)](https://david-dm.org/auth0/node-jsonwebtoken) | + + +An implementation of [JSON Web Tokens](https://tools.ietf.org/html/rfc7519). + +This was developed against `draft-ietf-oauth-json-web-token-08`. It makes use of [node-jws](https://github.com/brianloveswords/node-jws) + +# Install + +```bash +$ npm install jsonwebtoken +``` + +# Migration notes + +* [From v8 to v9](https://github.com/auth0/node-jsonwebtoken/wiki/Migration-Notes:-v8-to-v9) +* [From v7 to v8](https://github.com/auth0/node-jsonwebtoken/wiki/Migration-Notes:-v7-to-v8) + +# Usage + +### jwt.sign(payload, secretOrPrivateKey, [options, callback]) + +(Asynchronous) If a callback is supplied, the callback is called with the `err` or the JWT. + +(Synchronous) Returns the JsonWebToken as string + +`payload` could be an object literal, buffer or string representing valid JSON. +> **Please _note_ that** `exp` or any other claim is only set if the payload is an object literal. Buffer or string payloads are not checked for JSON validity. + +> If `payload` is not a buffer or a string, it will be coerced into a string using `JSON.stringify`. + +`secretOrPrivateKey` is a string (utf-8 encoded), buffer, object, or KeyObject containing either the secret for HMAC algorithms or the PEM +encoded private key for RSA and ECDSA. In case of a private key with passphrase an object `{ key, passphrase }` can be used (based on [crypto documentation](https://nodejs.org/api/crypto.html#crypto_sign_sign_private_key_output_format)), in this case be sure you pass the `algorithm` option. +When signing with RSA algorithms the minimum modulus length is 2048 except when the allowInsecureKeySizes option is set to true. Private keys below this size will be rejected with an error. + +`options`: + +* `algorithm` (default: `HS256`) +* `expiresIn`: expressed in seconds or a string describing a time span [vercel/ms](https://github.com/vercel/ms). + > Eg: `60`, `"2 days"`, `"10h"`, `"7d"`. A numeric value is interpreted as a seconds count. If you use a string be sure you provide the time units (days, hours, etc), otherwise milliseconds unit is used by default (`"120"` is equal to `"120ms"`). +* `notBefore`: expressed in seconds or a string describing a time span [vercel/ms](https://github.com/vercel/ms). + > Eg: `60`, `"2 days"`, `"10h"`, `"7d"`. A numeric value is interpreted as a seconds count. If you use a string be sure you provide the time units (days, hours, etc), otherwise milliseconds unit is used by default (`"120"` is equal to `"120ms"`). +* `audience` +* `issuer` +* `jwtid` +* `subject` +* `noTimestamp` +* `header` +* `keyid` +* `mutatePayload`: if true, the sign function will modify the payload object directly. This is useful if you need a raw reference to the payload after claims have been applied to it but before it has been encoded into a token. +* `allowInsecureKeySizes`: if true allows private keys with a modulus below 2048 to be used for RSA +* `allowInvalidAsymmetricKeyTypes`: if true, allows asymmetric keys which do not match the specified algorithm. This option is intended only for backwards compatability and should be avoided. + + + +> There are no default values for `expiresIn`, `notBefore`, `audience`, `subject`, `issuer`. These claims can also be provided in the payload directly with `exp`, `nbf`, `aud`, `sub` and `iss` respectively, but you **_can't_** include in both places. + +Remember that `exp`, `nbf` and `iat` are **NumericDate**, see related [Token Expiration (exp claim)](#token-expiration-exp-claim) + + +The header can be customized via the `options.header` object. + +Generated jwts will include an `iat` (issued at) claim by default unless `noTimestamp` is specified. If `iat` is inserted in the payload, it will be used instead of the real timestamp for calculating other things like `exp` given a timespan in `options.expiresIn`. + +Synchronous Sign with default (HMAC SHA256) + +```js +var jwt = require('jsonwebtoken'); +var token = jwt.sign({ foo: 'bar' }, 'shhhhh'); +``` + +Synchronous Sign with RSA SHA256 +```js +// sign with RSA SHA256 +var privateKey = fs.readFileSync('private.key'); +var token = jwt.sign({ foo: 'bar' }, privateKey, { algorithm: 'RS256' }); +``` + +Sign asynchronously +```js +jwt.sign({ foo: 'bar' }, privateKey, { algorithm: 'RS256' }, function(err, token) { + console.log(token); +}); +``` + +Backdate a jwt 30 seconds +```js +var older_token = jwt.sign({ foo: 'bar', iat: Math.floor(Date.now() / 1000) - 30 }, 'shhhhh'); +``` + +#### Token Expiration (exp claim) + +The standard for JWT defines an `exp` claim for expiration. The expiration is represented as a **NumericDate**: + +> A JSON numeric value representing the number of seconds from 1970-01-01T00:00:00Z UTC until the specified UTC date/time, ignoring leap seconds. This is equivalent to the IEEE Std 1003.1, 2013 Edition [POSIX.1] definition "Seconds Since the Epoch", in which each day is accounted for by exactly 86400 seconds, other than that non-integer values can be represented. See RFC 3339 [RFC3339] for details regarding date/times in general and UTC in particular. + +This means that the `exp` field should contain the number of seconds since the epoch. + +Signing a token with 1 hour of expiration: + +```javascript +jwt.sign({ + exp: Math.floor(Date.now() / 1000) + (60 * 60), + data: 'foobar' +}, 'secret'); +``` + +Another way to generate a token like this with this library is: + +```javascript +jwt.sign({ + data: 'foobar' +}, 'secret', { expiresIn: 60 * 60 }); + +//or even better: + +jwt.sign({ + data: 'foobar' +}, 'secret', { expiresIn: '1h' }); +``` + +### jwt.verify(token, secretOrPublicKey, [options, callback]) + +(Asynchronous) If a callback is supplied, function acts asynchronously. The callback is called with the decoded payload if the signature is valid and optional expiration, audience, or issuer are valid. If not, it will be called with the error. + +(Synchronous) If a callback is not supplied, function acts synchronously. Returns the payload decoded if the signature is valid and optional expiration, audience, or issuer are valid. If not, it will throw the error. + +> __Warning:__ When the token comes from an untrusted source (e.g. user input or external requests), the returned decoded payload should be treated like any other user input; please make sure to sanitize and only work with properties that are expected + +`token` is the JsonWebToken string + +`secretOrPublicKey` is a string (utf-8 encoded), buffer, or KeyObject containing either the secret for HMAC algorithms, or the PEM +encoded public key for RSA and ECDSA. +If `jwt.verify` is called asynchronous, `secretOrPublicKey` can be a function that should fetch the secret or public key. See below for a detailed example + +As mentioned in [this comment](https://github.com/auth0/node-jsonwebtoken/issues/208#issuecomment-231861138), there are other libraries that expect base64 encoded secrets (random bytes encoded using base64), if that is your case you can pass `Buffer.from(secret, 'base64')`, by doing this the secret will be decoded using base64 and the token verification will use the original random bytes. + +`options` + +* `algorithms`: List of strings with the names of the allowed algorithms. For instance, `["HS256", "HS384"]`. + > If not specified a defaults will be used based on the type of key provided + > * secret - ['HS256', 'HS384', 'HS512'] + > * rsa - ['RS256', 'RS384', 'RS512'] + > * ec - ['ES256', 'ES384', 'ES512'] + > * default - ['RS256', 'RS384', 'RS512'] +* `audience`: if you want to check audience (`aud`), provide a value here. The audience can be checked against a string, a regular expression or a list of strings and/or regular expressions. + > Eg: `"urn:foo"`, `/urn:f[o]{2}/`, `[/urn:f[o]{2}/, "urn:bar"]` +* `complete`: return an object with the decoded `{ payload, header, signature }` instead of only the usual content of the payload. +* `issuer` (optional): string or array of strings of valid values for the `iss` field. +* `jwtid` (optional): if you want to check JWT ID (`jti`), provide a string value here. +* `ignoreExpiration`: if `true` do not validate the expiration of the token. +* `ignoreNotBefore`... +* `subject`: if you want to check subject (`sub`), provide a value here +* `clockTolerance`: number of seconds to tolerate when checking the `nbf` and `exp` claims, to deal with small clock differences among different servers +* `maxAge`: the maximum allowed age for tokens to still be valid. It is expressed in seconds or a string describing a time span [vercel/ms](https://github.com/vercel/ms). + > Eg: `1000`, `"2 days"`, `"10h"`, `"7d"`. A numeric value is interpreted as a seconds count. If you use a string be sure you provide the time units (days, hours, etc), otherwise milliseconds unit is used by default (`"120"` is equal to `"120ms"`). +* `clockTimestamp`: the time in seconds that should be used as the current time for all necessary comparisons. +* `nonce`: if you want to check `nonce` claim, provide a string value here. It is used on Open ID for the ID Tokens. ([Open ID implementation notes](https://openid.net/specs/openid-connect-core-1_0.html#NonceNotes)) +* `allowInvalidAsymmetricKeyTypes`: if true, allows asymmetric keys which do not match the specified algorithm. This option is intended only for backwards compatability and should be avoided. + +```js +// verify a token symmetric - synchronous +var decoded = jwt.verify(token, 'shhhhh'); +console.log(decoded.foo) // bar + +// verify a token symmetric +jwt.verify(token, 'shhhhh', function(err, decoded) { + console.log(decoded.foo) // bar +}); + +// invalid token - synchronous +try { + var decoded = jwt.verify(token, 'wrong-secret'); +} catch(err) { + // err +} + +// invalid token +jwt.verify(token, 'wrong-secret', function(err, decoded) { + // err + // decoded undefined +}); + +// verify a token asymmetric +var cert = fs.readFileSync('public.pem'); // get public key +jwt.verify(token, cert, function(err, decoded) { + console.log(decoded.foo) // bar +}); + +// verify audience +var cert = fs.readFileSync('public.pem'); // get public key +jwt.verify(token, cert, { audience: 'urn:foo' }, function(err, decoded) { + // if audience mismatch, err == invalid audience +}); + +// verify issuer +var cert = fs.readFileSync('public.pem'); // get public key +jwt.verify(token, cert, { audience: 'urn:foo', issuer: 'urn:issuer' }, function(err, decoded) { + // if issuer mismatch, err == invalid issuer +}); + +// verify jwt id +var cert = fs.readFileSync('public.pem'); // get public key +jwt.verify(token, cert, { audience: 'urn:foo', issuer: 'urn:issuer', jwtid: 'jwtid' }, function(err, decoded) { + // if jwt id mismatch, err == invalid jwt id +}); + +// verify subject +var cert = fs.readFileSync('public.pem'); // get public key +jwt.verify(token, cert, { audience: 'urn:foo', issuer: 'urn:issuer', jwtid: 'jwtid', subject: 'subject' }, function(err, decoded) { + // if subject mismatch, err == invalid subject +}); + +// alg mismatch +var cert = fs.readFileSync('public.pem'); // get public key +jwt.verify(token, cert, { algorithms: ['RS256'] }, function (err, payload) { + // if token alg != RS256, err == invalid signature +}); + +// Verify using getKey callback +// Example uses https://github.com/auth0/node-jwks-rsa as a way to fetch the keys. +var jwksClient = require('jwks-rsa'); +var client = jwksClient({ + jwksUri: 'https://sandrino.auth0.com/.well-known/jwks.json' +}); +function getKey(header, callback){ + client.getSigningKey(header.kid, function(err, key) { + var signingKey = key.publicKey || key.rsaPublicKey; + callback(null, signingKey); + }); +} + +jwt.verify(token, getKey, options, function(err, decoded) { + console.log(decoded.foo) // bar +}); + +``` + +
+Need to peek into a JWT without verifying it? (Click to expand) + +### jwt.decode(token [, options]) + +(Synchronous) Returns the decoded payload without verifying if the signature is valid. + +> __Warning:__ This will __not__ verify whether the signature is valid. You should __not__ use this for untrusted messages. You most likely want to use `jwt.verify` instead. + +> __Warning:__ When the token comes from an untrusted source (e.g. user input or external request), the returned decoded payload should be treated like any other user input; please make sure to sanitize and only work with properties that are expected + + +`token` is the JsonWebToken string + +`options`: + +* `json`: force JSON.parse on the payload even if the header doesn't contain `"typ":"JWT"`. +* `complete`: return an object with the decoded payload and header. + +Example + +```js +// get the decoded payload ignoring signature, no secretOrPrivateKey needed +var decoded = jwt.decode(token); + +// get the decoded payload and header +var decoded = jwt.decode(token, {complete: true}); +console.log(decoded.header); +console.log(decoded.payload) +``` + +
+ +## Errors & Codes +Possible thrown errors during verification. +Error is the first argument of the verification callback. + +### TokenExpiredError + +Thrown error if the token is expired. + +Error object: + +* name: 'TokenExpiredError' +* message: 'jwt expired' +* expiredAt: [ExpDate] + +```js +jwt.verify(token, 'shhhhh', function(err, decoded) { + if (err) { + /* + err = { + name: 'TokenExpiredError', + message: 'jwt expired', + expiredAt: 1408621000 + } + */ + } +}); +``` + +### JsonWebTokenError +Error object: + +* name: 'JsonWebTokenError' +* message: + * 'invalid token' - the header or payload could not be parsed + * 'jwt malformed' - the token does not have three components (delimited by a `.`) + * 'jwt signature is required' + * 'invalid signature' + * 'jwt audience invalid. expected: [OPTIONS AUDIENCE]' + * 'jwt issuer invalid. expected: [OPTIONS ISSUER]' + * 'jwt id invalid. expected: [OPTIONS JWT ID]' + * 'jwt subject invalid. expected: [OPTIONS SUBJECT]' + +```js +jwt.verify(token, 'shhhhh', function(err, decoded) { + if (err) { + /* + err = { + name: 'JsonWebTokenError', + message: 'jwt malformed' + } + */ + } +}); +``` + +### NotBeforeError +Thrown if current time is before the nbf claim. + +Error object: + +* name: 'NotBeforeError' +* message: 'jwt not active' +* date: 2018-10-04T16:10:44.000Z + +```js +jwt.verify(token, 'shhhhh', function(err, decoded) { + if (err) { + /* + err = { + name: 'NotBeforeError', + message: 'jwt not active', + date: 2018-10-04T16:10:44.000Z + } + */ + } +}); +``` + + +## Algorithms supported + +Array of supported algorithms. The following algorithms are currently supported. + +| alg Parameter Value | Digital Signature or MAC Algorithm | +|---------------------|------------------------------------------------------------------------| +| HS256 | HMAC using SHA-256 hash algorithm | +| HS384 | HMAC using SHA-384 hash algorithm | +| HS512 | HMAC using SHA-512 hash algorithm | +| RS256 | RSASSA-PKCS1-v1_5 using SHA-256 hash algorithm | +| RS384 | RSASSA-PKCS1-v1_5 using SHA-384 hash algorithm | +| RS512 | RSASSA-PKCS1-v1_5 using SHA-512 hash algorithm | +| PS256 | RSASSA-PSS using SHA-256 hash algorithm (only node ^6.12.0 OR >=8.0.0) | +| PS384 | RSASSA-PSS using SHA-384 hash algorithm (only node ^6.12.0 OR >=8.0.0) | +| PS512 | RSASSA-PSS using SHA-512 hash algorithm (only node ^6.12.0 OR >=8.0.0) | +| ES256 | ECDSA using P-256 curve and SHA-256 hash algorithm | +| ES384 | ECDSA using P-384 curve and SHA-384 hash algorithm | +| ES512 | ECDSA using P-521 curve and SHA-512 hash algorithm | +| none | No digital signature or MAC value included | + +## Refreshing JWTs + +First of all, we recommend you to think carefully if auto-refreshing a JWT will not introduce any vulnerability in your system. + +We are not comfortable including this as part of the library, however, you can take a look at [this example](https://gist.github.com/ziluvatar/a3feb505c4c0ec37059054537b38fc48) to show how this could be accomplished. +Apart from that example there are [an issue](https://github.com/auth0/node-jsonwebtoken/issues/122) and [a pull request](https://github.com/auth0/node-jsonwebtoken/pull/172) to get more knowledge about this topic. + +# TODO + +* X.509 certificate chain is not checked + +## Issue Reporting + +If you have found a bug or if you have a feature request, please report them at this repository issues section. Please do not report security vulnerabilities on the public GitHub issue tracker. The [Responsible Disclosure Program](https://auth0.com/whitehat) details the procedure for disclosing security issues. + +## Author + +[Auth0](https://auth0.com) + +## License + +This project is licensed under the MIT license. See the [LICENSE](LICENSE) file for more info. diff --git a/back/node_modules/jsonwebtoken/decode.js b/back/node_modules/jsonwebtoken/decode.js new file mode 100644 index 0000000..8fe1adc --- /dev/null +++ b/back/node_modules/jsonwebtoken/decode.js @@ -0,0 +1,30 @@ +var jws = require('jws'); + +module.exports = function (jwt, options) { + options = options || {}; + var decoded = jws.decode(jwt, options); + if (!decoded) { return null; } + var payload = decoded.payload; + + //try parse the payload + if(typeof payload === 'string') { + try { + var obj = JSON.parse(payload); + if(obj !== null && typeof obj === 'object') { + payload = obj; + } + } catch (e) { } + } + + //return header if `complete` option is enabled. header includes claims + //such as `kid` and `alg` used to select the key within a JWKS needed to + //verify the signature + if (options.complete === true) { + return { + header: decoded.header, + payload: payload, + signature: decoded.signature + }; + } + return payload; +}; diff --git a/back/node_modules/jsonwebtoken/index.js b/back/node_modules/jsonwebtoken/index.js new file mode 100644 index 0000000..161eb2d --- /dev/null +++ b/back/node_modules/jsonwebtoken/index.js @@ -0,0 +1,8 @@ +module.exports = { + decode: require('./decode'), + verify: require('./verify'), + sign: require('./sign'), + JsonWebTokenError: require('./lib/JsonWebTokenError'), + NotBeforeError: require('./lib/NotBeforeError'), + TokenExpiredError: require('./lib/TokenExpiredError'), +}; diff --git a/back/node_modules/jsonwebtoken/lib/JsonWebTokenError.js b/back/node_modules/jsonwebtoken/lib/JsonWebTokenError.js new file mode 100644 index 0000000..e068222 --- /dev/null +++ b/back/node_modules/jsonwebtoken/lib/JsonWebTokenError.js @@ -0,0 +1,14 @@ +var JsonWebTokenError = function (message, error) { + Error.call(this, message); + if(Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + this.name = 'JsonWebTokenError'; + this.message = message; + if (error) this.inner = error; +}; + +JsonWebTokenError.prototype = Object.create(Error.prototype); +JsonWebTokenError.prototype.constructor = JsonWebTokenError; + +module.exports = JsonWebTokenError; diff --git a/back/node_modules/jsonwebtoken/lib/NotBeforeError.js b/back/node_modules/jsonwebtoken/lib/NotBeforeError.js new file mode 100644 index 0000000..7b30084 --- /dev/null +++ b/back/node_modules/jsonwebtoken/lib/NotBeforeError.js @@ -0,0 +1,13 @@ +var JsonWebTokenError = require('./JsonWebTokenError'); + +var NotBeforeError = function (message, date) { + JsonWebTokenError.call(this, message); + this.name = 'NotBeforeError'; + this.date = date; +}; + +NotBeforeError.prototype = Object.create(JsonWebTokenError.prototype); + +NotBeforeError.prototype.constructor = NotBeforeError; + +module.exports = NotBeforeError; \ No newline at end of file diff --git a/back/node_modules/jsonwebtoken/lib/TokenExpiredError.js b/back/node_modules/jsonwebtoken/lib/TokenExpiredError.js new file mode 100644 index 0000000..abb704f --- /dev/null +++ b/back/node_modules/jsonwebtoken/lib/TokenExpiredError.js @@ -0,0 +1,13 @@ +var JsonWebTokenError = require('./JsonWebTokenError'); + +var TokenExpiredError = function (message, expiredAt) { + JsonWebTokenError.call(this, message); + this.name = 'TokenExpiredError'; + this.expiredAt = expiredAt; +}; + +TokenExpiredError.prototype = Object.create(JsonWebTokenError.prototype); + +TokenExpiredError.prototype.constructor = TokenExpiredError; + +module.exports = TokenExpiredError; \ No newline at end of file diff --git a/back/node_modules/jsonwebtoken/lib/asymmetricKeyDetailsSupported.js b/back/node_modules/jsonwebtoken/lib/asymmetricKeyDetailsSupported.js new file mode 100644 index 0000000..a6ede56 --- /dev/null +++ b/back/node_modules/jsonwebtoken/lib/asymmetricKeyDetailsSupported.js @@ -0,0 +1,3 @@ +const semver = require('semver'); + +module.exports = semver.satisfies(process.version, '>=15.7.0'); diff --git a/back/node_modules/jsonwebtoken/lib/psSupported.js b/back/node_modules/jsonwebtoken/lib/psSupported.js new file mode 100644 index 0000000..8c04144 --- /dev/null +++ b/back/node_modules/jsonwebtoken/lib/psSupported.js @@ -0,0 +1,3 @@ +var semver = require('semver'); + +module.exports = semver.satisfies(process.version, '^6.12.0 || >=8.0.0'); diff --git a/back/node_modules/jsonwebtoken/lib/rsaPssKeyDetailsSupported.js b/back/node_modules/jsonwebtoken/lib/rsaPssKeyDetailsSupported.js new file mode 100644 index 0000000..7fcf368 --- /dev/null +++ b/back/node_modules/jsonwebtoken/lib/rsaPssKeyDetailsSupported.js @@ -0,0 +1,3 @@ +const semver = require('semver'); + +module.exports = semver.satisfies(process.version, '>=16.9.0'); diff --git a/back/node_modules/jsonwebtoken/lib/timespan.js b/back/node_modules/jsonwebtoken/lib/timespan.js new file mode 100644 index 0000000..e509869 --- /dev/null +++ b/back/node_modules/jsonwebtoken/lib/timespan.js @@ -0,0 +1,18 @@ +var ms = require('ms'); + +module.exports = function (time, iat) { + var timestamp = iat || Math.floor(Date.now() / 1000); + + if (typeof time === 'string') { + var milliseconds = ms(time); + if (typeof milliseconds === 'undefined') { + return; + } + return Math.floor(timestamp + milliseconds / 1000); + } else if (typeof time === 'number') { + return timestamp + time; + } else { + return; + } + +}; \ No newline at end of file diff --git a/back/node_modules/jsonwebtoken/lib/validateAsymmetricKey.js b/back/node_modules/jsonwebtoken/lib/validateAsymmetricKey.js new file mode 100644 index 0000000..c10340b --- /dev/null +++ b/back/node_modules/jsonwebtoken/lib/validateAsymmetricKey.js @@ -0,0 +1,66 @@ +const ASYMMETRIC_KEY_DETAILS_SUPPORTED = require('./asymmetricKeyDetailsSupported'); +const RSA_PSS_KEY_DETAILS_SUPPORTED = require('./rsaPssKeyDetailsSupported'); + +const allowedAlgorithmsForKeys = { + 'ec': ['ES256', 'ES384', 'ES512'], + 'rsa': ['RS256', 'PS256', 'RS384', 'PS384', 'RS512', 'PS512'], + 'rsa-pss': ['PS256', 'PS384', 'PS512'] +}; + +const allowedCurves = { + ES256: 'prime256v1', + ES384: 'secp384r1', + ES512: 'secp521r1', +}; + +module.exports = function(algorithm, key) { + if (!algorithm || !key) return; + + const keyType = key.asymmetricKeyType; + if (!keyType) return; + + const allowedAlgorithms = allowedAlgorithmsForKeys[keyType]; + + if (!allowedAlgorithms) { + throw new Error(`Unknown key type "${keyType}".`); + } + + if (!allowedAlgorithms.includes(algorithm)) { + throw new Error(`"alg" parameter for "${keyType}" key type must be one of: ${allowedAlgorithms.join(', ')}.`) + } + + /* + * Ignore the next block from test coverage because it gets executed + * conditionally depending on the Node version. Not ignoring it would + * prevent us from reaching the target % of coverage for versions of + * Node under 15.7.0. + */ + /* istanbul ignore next */ + if (ASYMMETRIC_KEY_DETAILS_SUPPORTED) { + switch (keyType) { + case 'ec': + const keyCurve = key.asymmetricKeyDetails.namedCurve; + const allowedCurve = allowedCurves[algorithm]; + + if (keyCurve !== allowedCurve) { + throw new Error(`"alg" parameter "${algorithm}" requires curve "${allowedCurve}".`); + } + break; + + case 'rsa-pss': + if (RSA_PSS_KEY_DETAILS_SUPPORTED) { + const length = parseInt(algorithm.slice(-3), 10); + const { hashAlgorithm, mgf1HashAlgorithm, saltLength } = key.asymmetricKeyDetails; + + if (hashAlgorithm !== `sha${length}` || mgf1HashAlgorithm !== hashAlgorithm) { + throw new Error(`Invalid key for this operation, its RSA-PSS parameters do not meet the requirements of "alg" ${algorithm}.`); + } + + if (saltLength !== undefined && saltLength > length >> 3) { + throw new Error(`Invalid key for this operation, its RSA-PSS parameter saltLength does not meet the requirements of "alg" ${algorithm}.`) + } + } + break; + } + } +} diff --git a/back/node_modules/jsonwebtoken/package.json b/back/node_modules/jsonwebtoken/package.json new file mode 100644 index 0000000..eab30c0 --- /dev/null +++ b/back/node_modules/jsonwebtoken/package.json @@ -0,0 +1,70 @@ +{ + "name": "jsonwebtoken", + "version": "9.0.3", + "description": "JSON Web Token implementation (symmetric and asymmetric)", + "main": "index.js", + "nyc": { + "check-coverage": true, + "lines": 95, + "statements": 95, + "functions": 100, + "branches": 95, + "exclude": [ + "./test/**" + ], + "reporter": [ + "json", + "lcov", + "text-summary" + ] + }, + "scripts": { + "lint": "eslint .", + "coverage": "nyc mocha --use_strict", + "test": "mocha" + }, + "repository": { + "type": "git", + "url": "https://github.com/auth0/node-jsonwebtoken" + }, + "keywords": [ + "jwt" + ], + "author": "auth0", + "license": "MIT", + "bugs": { + "url": "https://github.com/auth0/node-jsonwebtoken/issues" + }, + "dependencies": { + "jws": "^4.0.1", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "devDependencies": { + "atob": "^2.1.2", + "chai": "^4.1.2", + "conventional-changelog": "~1.1.0", + "eslint": "^4.19.1", + "mocha": "^5.2.0", + "nsp": "^2.6.2", + "nyc": "^11.9.0", + "sinon": "^6.0.0" + }, + "engines": { + "npm": ">=6", + "node": ">=12" + }, + "files": [ + "lib", + "decode.js", + "sign.js", + "verify.js" + ] +} diff --git a/back/node_modules/jsonwebtoken/sign.js b/back/node_modules/jsonwebtoken/sign.js new file mode 100644 index 0000000..82bf526 --- /dev/null +++ b/back/node_modules/jsonwebtoken/sign.js @@ -0,0 +1,253 @@ +const timespan = require('./lib/timespan'); +const PS_SUPPORTED = require('./lib/psSupported'); +const validateAsymmetricKey = require('./lib/validateAsymmetricKey'); +const jws = require('jws'); +const includes = require('lodash.includes'); +const isBoolean = require('lodash.isboolean'); +const isInteger = require('lodash.isinteger'); +const isNumber = require('lodash.isnumber'); +const isPlainObject = require('lodash.isplainobject'); +const isString = require('lodash.isstring'); +const once = require('lodash.once'); +const { KeyObject, createSecretKey, createPrivateKey } = require('crypto') + +const SUPPORTED_ALGS = ['RS256', 'RS384', 'RS512', 'ES256', 'ES384', 'ES512', 'HS256', 'HS384', 'HS512', 'none']; +if (PS_SUPPORTED) { + SUPPORTED_ALGS.splice(3, 0, 'PS256', 'PS384', 'PS512'); +} + +const sign_options_schema = { + expiresIn: { isValid: function(value) { return isInteger(value) || (isString(value) && value); }, message: '"expiresIn" should be a number of seconds or string representing a timespan' }, + notBefore: { isValid: function(value) { return isInteger(value) || (isString(value) && value); }, message: '"notBefore" should be a number of seconds or string representing a timespan' }, + audience: { isValid: function(value) { return isString(value) || Array.isArray(value); }, message: '"audience" must be a string or array' }, + algorithm: { isValid: includes.bind(null, SUPPORTED_ALGS), message: '"algorithm" must be a valid string enum value' }, + header: { isValid: isPlainObject, message: '"header" must be an object' }, + encoding: { isValid: isString, message: '"encoding" must be a string' }, + issuer: { isValid: isString, message: '"issuer" must be a string' }, + subject: { isValid: isString, message: '"subject" must be a string' }, + jwtid: { isValid: isString, message: '"jwtid" must be a string' }, + noTimestamp: { isValid: isBoolean, message: '"noTimestamp" must be a boolean' }, + keyid: { isValid: isString, message: '"keyid" must be a string' }, + mutatePayload: { isValid: isBoolean, message: '"mutatePayload" must be a boolean' }, + allowInsecureKeySizes: { isValid: isBoolean, message: '"allowInsecureKeySizes" must be a boolean'}, + allowInvalidAsymmetricKeyTypes: { isValid: isBoolean, message: '"allowInvalidAsymmetricKeyTypes" must be a boolean'} +}; + +const registered_claims_schema = { + iat: { isValid: isNumber, message: '"iat" should be a number of seconds' }, + exp: { isValid: isNumber, message: '"exp" should be a number of seconds' }, + nbf: { isValid: isNumber, message: '"nbf" should be a number of seconds' } +}; + +function validate(schema, allowUnknown, object, parameterName) { + if (!isPlainObject(object)) { + throw new Error('Expected "' + parameterName + '" to be a plain object.'); + } + Object.keys(object) + .forEach(function(key) { + const validator = schema[key]; + if (!validator) { + if (!allowUnknown) { + throw new Error('"' + key + '" is not allowed in "' + parameterName + '"'); + } + return; + } + if (!validator.isValid(object[key])) { + throw new Error(validator.message); + } + }); +} + +function validateOptions(options) { + return validate(sign_options_schema, false, options, 'options'); +} + +function validatePayload(payload) { + return validate(registered_claims_schema, true, payload, 'payload'); +} + +const options_to_payload = { + 'audience': 'aud', + 'issuer': 'iss', + 'subject': 'sub', + 'jwtid': 'jti' +}; + +const options_for_objects = [ + 'expiresIn', + 'notBefore', + 'noTimestamp', + 'audience', + 'issuer', + 'subject', + 'jwtid', +]; + +module.exports = function (payload, secretOrPrivateKey, options, callback) { + if (typeof options === 'function') { + callback = options; + options = {}; + } else { + options = options || {}; + } + + const isObjectPayload = typeof payload === 'object' && + !Buffer.isBuffer(payload); + + const header = Object.assign({ + alg: options.algorithm || 'HS256', + typ: isObjectPayload ? 'JWT' : undefined, + kid: options.keyid + }, options.header); + + function failure(err) { + if (callback) { + return callback(err); + } + throw err; + } + + if (!secretOrPrivateKey && options.algorithm !== 'none') { + return failure(new Error('secretOrPrivateKey must have a value')); + } + + if (secretOrPrivateKey != null && !(secretOrPrivateKey instanceof KeyObject)) { + try { + secretOrPrivateKey = createPrivateKey(secretOrPrivateKey) + } catch (_) { + try { + secretOrPrivateKey = createSecretKey(typeof secretOrPrivateKey === 'string' ? Buffer.from(secretOrPrivateKey) : secretOrPrivateKey) + } catch (_) { + return failure(new Error('secretOrPrivateKey is not valid key material')); + } + } + } + + if (header.alg.startsWith('HS') && secretOrPrivateKey.type !== 'secret') { + return failure(new Error((`secretOrPrivateKey must be a symmetric key when using ${header.alg}`))) + } else if (/^(?:RS|PS|ES)/.test(header.alg)) { + if (secretOrPrivateKey.type !== 'private') { + return failure(new Error((`secretOrPrivateKey must be an asymmetric key when using ${header.alg}`))) + } + if (!options.allowInsecureKeySizes && + !header.alg.startsWith('ES') && + secretOrPrivateKey.asymmetricKeyDetails !== undefined && //KeyObject.asymmetricKeyDetails is supported in Node 15+ + secretOrPrivateKey.asymmetricKeyDetails.modulusLength < 2048) { + return failure(new Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${header.alg}`)); + } + } + + if (typeof payload === 'undefined') { + return failure(new Error('payload is required')); + } else if (isObjectPayload) { + try { + validatePayload(payload); + } + catch (error) { + return failure(error); + } + if (!options.mutatePayload) { + payload = Object.assign({},payload); + } + } else { + const invalid_options = options_for_objects.filter(function (opt) { + return typeof options[opt] !== 'undefined'; + }); + + if (invalid_options.length > 0) { + return failure(new Error('invalid ' + invalid_options.join(',') + ' option for ' + (typeof payload ) + ' payload')); + } + } + + if (typeof payload.exp !== 'undefined' && typeof options.expiresIn !== 'undefined') { + return failure(new Error('Bad "options.expiresIn" option the payload already has an "exp" property.')); + } + + if (typeof payload.nbf !== 'undefined' && typeof options.notBefore !== 'undefined') { + return failure(new Error('Bad "options.notBefore" option the payload already has an "nbf" property.')); + } + + try { + validateOptions(options); + } + catch (error) { + return failure(error); + } + + if (!options.allowInvalidAsymmetricKeyTypes) { + try { + validateAsymmetricKey(header.alg, secretOrPrivateKey); + } catch (error) { + return failure(error); + } + } + + const timestamp = payload.iat || Math.floor(Date.now() / 1000); + + if (options.noTimestamp) { + delete payload.iat; + } else if (isObjectPayload) { + payload.iat = timestamp; + } + + if (typeof options.notBefore !== 'undefined') { + try { + payload.nbf = timespan(options.notBefore, timestamp); + } + catch (err) { + return failure(err); + } + if (typeof payload.nbf === 'undefined') { + return failure(new Error('"notBefore" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60')); + } + } + + if (typeof options.expiresIn !== 'undefined' && typeof payload === 'object') { + try { + payload.exp = timespan(options.expiresIn, timestamp); + } + catch (err) { + return failure(err); + } + if (typeof payload.exp === 'undefined') { + return failure(new Error('"expiresIn" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60')); + } + } + + Object.keys(options_to_payload).forEach(function (key) { + const claim = options_to_payload[key]; + if (typeof options[key] !== 'undefined') { + if (typeof payload[claim] !== 'undefined') { + return failure(new Error('Bad "options.' + key + '" option. The payload already has an "' + claim + '" property.')); + } + payload[claim] = options[key]; + } + }); + + const encoding = options.encoding || 'utf8'; + + if (typeof callback === 'function') { + callback = callback && once(callback); + + jws.createSign({ + header: header, + privateKey: secretOrPrivateKey, + payload: payload, + encoding: encoding + }).once('error', callback) + .once('done', function (signature) { + // TODO: Remove in favor of the modulus length check before signing once node 15+ is the minimum supported version + if(!options.allowInsecureKeySizes && /^(?:RS|PS)/.test(header.alg) && signature.length < 256) { + return callback(new Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${header.alg}`)) + } + callback(null, signature); + }); + } else { + let signature = jws.sign({header: header, payload: payload, secret: secretOrPrivateKey, encoding: encoding}); + // TODO: Remove in favor of the modulus length check before signing once node 15+ is the minimum supported version + if(!options.allowInsecureKeySizes && /^(?:RS|PS)/.test(header.alg) && signature.length < 256) { + throw new Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${header.alg}`) + } + return signature + } +}; diff --git a/back/node_modules/jsonwebtoken/verify.js b/back/node_modules/jsonwebtoken/verify.js new file mode 100644 index 0000000..cdbfdc4 --- /dev/null +++ b/back/node_modules/jsonwebtoken/verify.js @@ -0,0 +1,263 @@ +const JsonWebTokenError = require('./lib/JsonWebTokenError'); +const NotBeforeError = require('./lib/NotBeforeError'); +const TokenExpiredError = require('./lib/TokenExpiredError'); +const decode = require('./decode'); +const timespan = require('./lib/timespan'); +const validateAsymmetricKey = require('./lib/validateAsymmetricKey'); +const PS_SUPPORTED = require('./lib/psSupported'); +const jws = require('jws'); +const {KeyObject, createSecretKey, createPublicKey} = require("crypto"); + +const PUB_KEY_ALGS = ['RS256', 'RS384', 'RS512']; +const EC_KEY_ALGS = ['ES256', 'ES384', 'ES512']; +const RSA_KEY_ALGS = ['RS256', 'RS384', 'RS512']; +const HS_ALGS = ['HS256', 'HS384', 'HS512']; + +if (PS_SUPPORTED) { + PUB_KEY_ALGS.splice(PUB_KEY_ALGS.length, 0, 'PS256', 'PS384', 'PS512'); + RSA_KEY_ALGS.splice(RSA_KEY_ALGS.length, 0, 'PS256', 'PS384', 'PS512'); +} + +module.exports = function (jwtString, secretOrPublicKey, options, callback) { + if ((typeof options === 'function') && !callback) { + callback = options; + options = {}; + } + + if (!options) { + options = {}; + } + + //clone this object since we are going to mutate it. + options = Object.assign({}, options); + + let done; + + if (callback) { + done = callback; + } else { + done = function(err, data) { + if (err) throw err; + return data; + }; + } + + if (options.clockTimestamp && typeof options.clockTimestamp !== 'number') { + return done(new JsonWebTokenError('clockTimestamp must be a number')); + } + + if (options.nonce !== undefined && (typeof options.nonce !== 'string' || options.nonce.trim() === '')) { + return done(new JsonWebTokenError('nonce must be a non-empty string')); + } + + if (options.allowInvalidAsymmetricKeyTypes !== undefined && typeof options.allowInvalidAsymmetricKeyTypes !== 'boolean') { + return done(new JsonWebTokenError('allowInvalidAsymmetricKeyTypes must be a boolean')); + } + + const clockTimestamp = options.clockTimestamp || Math.floor(Date.now() / 1000); + + if (!jwtString){ + return done(new JsonWebTokenError('jwt must be provided')); + } + + if (typeof jwtString !== 'string') { + return done(new JsonWebTokenError('jwt must be a string')); + } + + const parts = jwtString.split('.'); + + if (parts.length !== 3){ + return done(new JsonWebTokenError('jwt malformed')); + } + + let decodedToken; + + try { + decodedToken = decode(jwtString, { complete: true }); + } catch(err) { + return done(err); + } + + if (!decodedToken) { + return done(new JsonWebTokenError('invalid token')); + } + + const header = decodedToken.header; + let getSecret; + + if(typeof secretOrPublicKey === 'function') { + if(!callback) { + return done(new JsonWebTokenError('verify must be called asynchronous if secret or public key is provided as a callback')); + } + + getSecret = secretOrPublicKey; + } + else { + getSecret = function(header, secretCallback) { + return secretCallback(null, secretOrPublicKey); + }; + } + + return getSecret(header, function(err, secretOrPublicKey) { + if(err) { + return done(new JsonWebTokenError('error in secret or public key callback: ' + err.message)); + } + + const hasSignature = parts[2].trim() !== ''; + + if (!hasSignature && secretOrPublicKey){ + return done(new JsonWebTokenError('jwt signature is required')); + } + + if (hasSignature && !secretOrPublicKey) { + return done(new JsonWebTokenError('secret or public key must be provided')); + } + + if (!hasSignature && !options.algorithms) { + return done(new JsonWebTokenError('please specify "none" in "algorithms" to verify unsigned tokens')); + } + + if (secretOrPublicKey != null && !(secretOrPublicKey instanceof KeyObject)) { + try { + secretOrPublicKey = createPublicKey(secretOrPublicKey); + } catch (_) { + try { + secretOrPublicKey = createSecretKey(typeof secretOrPublicKey === 'string' ? Buffer.from(secretOrPublicKey) : secretOrPublicKey); + } catch (_) { + return done(new JsonWebTokenError('secretOrPublicKey is not valid key material')) + } + } + } + + if (!options.algorithms) { + if (secretOrPublicKey.type === 'secret') { + options.algorithms = HS_ALGS; + } else if (['rsa', 'rsa-pss'].includes(secretOrPublicKey.asymmetricKeyType)) { + options.algorithms = RSA_KEY_ALGS + } else if (secretOrPublicKey.asymmetricKeyType === 'ec') { + options.algorithms = EC_KEY_ALGS + } else { + options.algorithms = PUB_KEY_ALGS + } + } + + if (options.algorithms.indexOf(decodedToken.header.alg) === -1) { + return done(new JsonWebTokenError('invalid algorithm')); + } + + if (header.alg.startsWith('HS') && secretOrPublicKey.type !== 'secret') { + return done(new JsonWebTokenError((`secretOrPublicKey must be a symmetric key when using ${header.alg}`))) + } else if (/^(?:RS|PS|ES)/.test(header.alg) && secretOrPublicKey.type !== 'public') { + return done(new JsonWebTokenError((`secretOrPublicKey must be an asymmetric key when using ${header.alg}`))) + } + + if (!options.allowInvalidAsymmetricKeyTypes) { + try { + validateAsymmetricKey(header.alg, secretOrPublicKey); + } catch (e) { + return done(e); + } + } + + let valid; + + try { + valid = jws.verify(jwtString, decodedToken.header.alg, secretOrPublicKey); + } catch (e) { + return done(e); + } + + if (!valid) { + return done(new JsonWebTokenError('invalid signature')); + } + + const payload = decodedToken.payload; + + if (typeof payload.nbf !== 'undefined' && !options.ignoreNotBefore) { + if (typeof payload.nbf !== 'number') { + return done(new JsonWebTokenError('invalid nbf value')); + } + if (payload.nbf > clockTimestamp + (options.clockTolerance || 0)) { + return done(new NotBeforeError('jwt not active', new Date(payload.nbf * 1000))); + } + } + + if (typeof payload.exp !== 'undefined' && !options.ignoreExpiration) { + if (typeof payload.exp !== 'number') { + return done(new JsonWebTokenError('invalid exp value')); + } + if (clockTimestamp >= payload.exp + (options.clockTolerance || 0)) { + return done(new TokenExpiredError('jwt expired', new Date(payload.exp * 1000))); + } + } + + if (options.audience) { + const audiences = Array.isArray(options.audience) ? options.audience : [options.audience]; + const target = Array.isArray(payload.aud) ? payload.aud : [payload.aud]; + + const match = target.some(function (targetAudience) { + return audiences.some(function (audience) { + return audience instanceof RegExp ? audience.test(targetAudience) : audience === targetAudience; + }); + }); + + if (!match) { + return done(new JsonWebTokenError('jwt audience invalid. expected: ' + audiences.join(' or '))); + } + } + + if (options.issuer) { + const invalid_issuer = + (typeof options.issuer === 'string' && payload.iss !== options.issuer) || + (Array.isArray(options.issuer) && options.issuer.indexOf(payload.iss) === -1); + + if (invalid_issuer) { + return done(new JsonWebTokenError('jwt issuer invalid. expected: ' + options.issuer)); + } + } + + if (options.subject) { + if (payload.sub !== options.subject) { + return done(new JsonWebTokenError('jwt subject invalid. expected: ' + options.subject)); + } + } + + if (options.jwtid) { + if (payload.jti !== options.jwtid) { + return done(new JsonWebTokenError('jwt jwtid invalid. expected: ' + options.jwtid)); + } + } + + if (options.nonce) { + if (payload.nonce !== options.nonce) { + return done(new JsonWebTokenError('jwt nonce invalid. expected: ' + options.nonce)); + } + } + + if (options.maxAge) { + if (typeof payload.iat !== 'number') { + return done(new JsonWebTokenError('iat required when maxAge is specified')); + } + + const maxAgeTimestamp = timespan(options.maxAge, payload.iat); + if (typeof maxAgeTimestamp === 'undefined') { + return done(new JsonWebTokenError('"maxAge" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60')); + } + if (clockTimestamp >= maxAgeTimestamp + (options.clockTolerance || 0)) { + return done(new TokenExpiredError('maxAge exceeded', new Date(maxAgeTimestamp * 1000))); + } + } + + if (options.complete === true) { + const signature = decodedToken.signature; + + return done(null, { + header: header, + payload: payload, + signature: signature + }); + } + + return done(null, payload); + }); +}; diff --git a/back/node_modules/jwa/LICENSE b/back/node_modules/jwa/LICENSE new file mode 100644 index 0000000..caeb849 --- /dev/null +++ b/back/node_modules/jwa/LICENSE @@ -0,0 +1,17 @@ +Copyright (c) 2013 Brian J. Brennan + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the +Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/back/node_modules/jwa/README.md b/back/node_modules/jwa/README.md new file mode 100644 index 0000000..09e9648 --- /dev/null +++ b/back/node_modules/jwa/README.md @@ -0,0 +1,150 @@ +# node-jwa [![Build Status](https://travis-ci.org/brianloveswords/node-jwa.svg?branch=master)](https://travis-ci.org/brianloveswords/node-jwa) + +A +[JSON Web Algorithms](http://tools.ietf.org/id/draft-ietf-jose-json-web-algorithms-08.html) +implementation focusing (exclusively, at this point) on the algorithms necessary for +[JSON Web Signatures](http://self-issued.info/docs/draft-ietf-jose-json-web-signature.html). + +This library supports all of the required, recommended and optional cryptographic algorithms for JWS: + +alg Parameter Value | Digital Signature or MAC Algorithm +----------------|---------------------------- +HS256 | HMAC using SHA-256 hash algorithm +HS384 | HMAC using SHA-384 hash algorithm +HS512 | HMAC using SHA-512 hash algorithm +RS256 | RSASSA using SHA-256 hash algorithm +RS384 | RSASSA using SHA-384 hash algorithm +RS512 | RSASSA using SHA-512 hash algorithm +PS256 | RSASSA-PSS using SHA-256 hash algorithm +PS384 | RSASSA-PSS using SHA-384 hash algorithm +PS512 | RSASSA-PSS using SHA-512 hash algorithm +ES256 | ECDSA using P-256 curve and SHA-256 hash algorithm +ES384 | ECDSA using P-384 curve and SHA-384 hash algorithm +ES512 | ECDSA using P-521 curve and SHA-512 hash algorithm +none | No digital signature or MAC value included + +Please note that PS* only works on Node 6.12+ (excluding 7.x). + +# Requirements + +In order to run the tests, a recent version of OpenSSL is +required. **The version that comes with OS X (OpenSSL 0.9.8r 8 Feb +2011) is not recent enough**, as it does not fully support ECDSA +keys. You'll need to use a version > 1.0.0; I tested with OpenSSL 1.0.1c 10 May 2012. + +# Testing + +To run the tests, do + +```bash +$ npm test +``` + +This will generate a bunch of keypairs to use in testing. If you want to +generate new keypairs, do `make clean` before running `npm test` again. + +## Methodology + +I spawn `openssl dgst -sign` to test OpenSSL sign → JS verify and +`openssl dgst -verify` to test JS sign → OpenSSL verify for each of the +RSA and ECDSA algorithms. + +# Usage + +## jwa(algorithm) + +Creates a new `jwa` object with `sign` and `verify` methods for the +algorithm. Valid values for algorithm can be found in the table above +(`'HS256'`, `'HS384'`, etc) and are case-sensitive. Passing an invalid +algorithm value will throw a `TypeError`. + + +## jwa#sign(input, secretOrPrivateKey) + +Sign some input with either a secret for HMAC algorithms, or a private +key for RSA and ECDSA algorithms. + +If input is not already a string or buffer, `JSON.stringify` will be +called on it to attempt to coerce it. + +For the HMAC algorithm, `secretOrPrivateKey` should be a string or a +buffer. For ECDSA and RSA, the value should be a string representing a +PEM encoded **private** key. + +Output [base64url](http://en.wikipedia.org/wiki/Base64#URL_applications) +formatted. This is for convenience as JWS expects the signature in this +format. If your application needs the output in a different format, +[please open an issue](https://github.com/brianloveswords/node-jwa/issues). In +the meantime, you can use +[brianloveswords/base64url](https://github.com/brianloveswords/base64url) +to decode the signature. + +As of nodejs *v0.11.8*, SPKAC support was introduce. If your nodeJs +version satisfies, then you can pass an object `{ key: '..', passphrase: '...' }` + + +## jwa#verify(input, signature, secretOrPublicKey) + +Verify a signature. Returns `true` or `false`. + +`signature` should be a base64url encoded string. + +For the HMAC algorithm, `secretOrPublicKey` should be a string or a +buffer. For ECDSA and RSA, the value should be a string represented a +PEM encoded **public** key. + + +# Example + +HMAC +```js +const jwa = require('jwa'); + +const hmac = jwa('HS256'); +const input = 'super important stuff'; +const secret = 'shhhhhh'; + +const signature = hmac.sign(input, secret); +hmac.verify(input, signature, secret) // === true +hmac.verify(input, signature, 'trickery!') // === false +``` + +With keys +```js +const fs = require('fs'); +const jwa = require('jwa'); +const privateKey = fs.readFileSync(__dirname + '/ecdsa-p521-private.pem'); +const publicKey = fs.readFileSync(__dirname + '/ecdsa-p521-public.pem'); + +const ecdsa = jwa('ES512'); +const input = 'very important stuff'; + +const signature = ecdsa.sign(input, privateKey); +ecdsa.verify(input, signature, publicKey) // === true +``` +## License + +MIT + +``` +Copyright (c) 2013 Brian J. Brennan + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +``` diff --git a/back/node_modules/jwa/index.js b/back/node_modules/jwa/index.js new file mode 100644 index 0000000..5072c34 --- /dev/null +++ b/back/node_modules/jwa/index.js @@ -0,0 +1,266 @@ +var Buffer = require('safe-buffer').Buffer; +var crypto = require('crypto'); +var formatEcdsa = require('ecdsa-sig-formatter'); +var util = require('util'); + +var MSG_INVALID_ALGORITHM = '"%s" is not a valid algorithm.\n Supported algorithms are:\n "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".' +var MSG_INVALID_SECRET = 'secret must be a string or buffer'; +var MSG_INVALID_VERIFIER_KEY = 'key must be a string or a buffer'; +var MSG_INVALID_SIGNER_KEY = 'key must be a string, a buffer or an object'; + +var supportsKeyObjects = typeof crypto.createPublicKey === 'function'; +if (supportsKeyObjects) { + MSG_INVALID_VERIFIER_KEY += ' or a KeyObject'; + MSG_INVALID_SECRET += 'or a KeyObject'; +} + +function checkIsPublicKey(key) { + if (Buffer.isBuffer(key)) { + return; + } + + if (typeof key === 'string') { + return; + } + + if (!supportsKeyObjects) { + throw typeError(MSG_INVALID_VERIFIER_KEY); + } + + if (typeof key !== 'object') { + throw typeError(MSG_INVALID_VERIFIER_KEY); + } + + if (typeof key.type !== 'string') { + throw typeError(MSG_INVALID_VERIFIER_KEY); + } + + if (typeof key.asymmetricKeyType !== 'string') { + throw typeError(MSG_INVALID_VERIFIER_KEY); + } + + if (typeof key.export !== 'function') { + throw typeError(MSG_INVALID_VERIFIER_KEY); + } +}; + +function checkIsPrivateKey(key) { + if (Buffer.isBuffer(key)) { + return; + } + + if (typeof key === 'string') { + return; + } + + if (typeof key === 'object') { + return; + } + + throw typeError(MSG_INVALID_SIGNER_KEY); +}; + +function checkIsSecretKey(key) { + if (Buffer.isBuffer(key)) { + return; + } + + if (typeof key === 'string') { + return key; + } + + if (!supportsKeyObjects) { + throw typeError(MSG_INVALID_SECRET); + } + + if (typeof key !== 'object') { + throw typeError(MSG_INVALID_SECRET); + } + + if (key.type !== 'secret') { + throw typeError(MSG_INVALID_SECRET); + } + + if (typeof key.export !== 'function') { + throw typeError(MSG_INVALID_SECRET); + } +} + +function fromBase64(base64) { + return base64 + .replace(/=/g, '') + .replace(/\+/g, '-') + .replace(/\//g, '_'); +} + +function toBase64(base64url) { + base64url = base64url.toString(); + + var padding = 4 - base64url.length % 4; + if (padding !== 4) { + for (var i = 0; i < padding; ++i) { + base64url += '='; + } + } + + return base64url + .replace(/\-/g, '+') + .replace(/_/g, '/'); +} + +function typeError(template) { + var args = [].slice.call(arguments, 1); + var errMsg = util.format.bind(util, template).apply(null, args); + return new TypeError(errMsg); +} + +function bufferOrString(obj) { + return Buffer.isBuffer(obj) || typeof obj === 'string'; +} + +function normalizeInput(thing) { + if (!bufferOrString(thing)) + thing = JSON.stringify(thing); + return thing; +} + +function createHmacSigner(bits) { + return function sign(thing, secret) { + checkIsSecretKey(secret); + thing = normalizeInput(thing); + var hmac = crypto.createHmac('sha' + bits, secret); + var sig = (hmac.update(thing), hmac.digest('base64')) + return fromBase64(sig); + } +} + +var bufferEqual; +var timingSafeEqual = 'timingSafeEqual' in crypto ? function timingSafeEqual(a, b) { + if (a.byteLength !== b.byteLength) { + return false; + } + + return crypto.timingSafeEqual(a, b) +} : function timingSafeEqual(a, b) { + if (!bufferEqual) { + bufferEqual = require('buffer-equal-constant-time'); + } + + return bufferEqual(a, b) +} + +function createHmacVerifier(bits) { + return function verify(thing, signature, secret) { + var computedSig = createHmacSigner(bits)(thing, secret); + return timingSafeEqual(Buffer.from(signature), Buffer.from(computedSig)); + } +} + +function createKeySigner(bits) { + return function sign(thing, privateKey) { + checkIsPrivateKey(privateKey); + thing = normalizeInput(thing); + // Even though we are specifying "RSA" here, this works with ECDSA + // keys as well. + var signer = crypto.createSign('RSA-SHA' + bits); + var sig = (signer.update(thing), signer.sign(privateKey, 'base64')); + return fromBase64(sig); + } +} + +function createKeyVerifier(bits) { + return function verify(thing, signature, publicKey) { + checkIsPublicKey(publicKey); + thing = normalizeInput(thing); + signature = toBase64(signature); + var verifier = crypto.createVerify('RSA-SHA' + bits); + verifier.update(thing); + return verifier.verify(publicKey, signature, 'base64'); + } +} + +function createPSSKeySigner(bits) { + return function sign(thing, privateKey) { + checkIsPrivateKey(privateKey); + thing = normalizeInput(thing); + var signer = crypto.createSign('RSA-SHA' + bits); + var sig = (signer.update(thing), signer.sign({ + key: privateKey, + padding: crypto.constants.RSA_PKCS1_PSS_PADDING, + saltLength: crypto.constants.RSA_PSS_SALTLEN_DIGEST + }, 'base64')); + return fromBase64(sig); + } +} + +function createPSSKeyVerifier(bits) { + return function verify(thing, signature, publicKey) { + checkIsPublicKey(publicKey); + thing = normalizeInput(thing); + signature = toBase64(signature); + var verifier = crypto.createVerify('RSA-SHA' + bits); + verifier.update(thing); + return verifier.verify({ + key: publicKey, + padding: crypto.constants.RSA_PKCS1_PSS_PADDING, + saltLength: crypto.constants.RSA_PSS_SALTLEN_DIGEST + }, signature, 'base64'); + } +} + +function createECDSASigner(bits) { + var inner = createKeySigner(bits); + return function sign() { + var signature = inner.apply(null, arguments); + signature = formatEcdsa.derToJose(signature, 'ES' + bits); + return signature; + }; +} + +function createECDSAVerifer(bits) { + var inner = createKeyVerifier(bits); + return function verify(thing, signature, publicKey) { + signature = formatEcdsa.joseToDer(signature, 'ES' + bits).toString('base64'); + var result = inner(thing, signature, publicKey); + return result; + }; +} + +function createNoneSigner() { + return function sign() { + return ''; + } +} + +function createNoneVerifier() { + return function verify(thing, signature) { + return signature === ''; + } +} + +module.exports = function jwa(algorithm) { + var signerFactories = { + hs: createHmacSigner, + rs: createKeySigner, + ps: createPSSKeySigner, + es: createECDSASigner, + none: createNoneSigner, + } + var verifierFactories = { + hs: createHmacVerifier, + rs: createKeyVerifier, + ps: createPSSKeyVerifier, + es: createECDSAVerifer, + none: createNoneVerifier, + } + var match = algorithm.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/); + if (!match) + throw typeError(MSG_INVALID_ALGORITHM, algorithm); + var algo = (match[1] || match[3]).toLowerCase(); + var bits = match[2]; + + return { + sign: signerFactories[algo](bits), + verify: verifierFactories[algo](bits), + } +}; diff --git a/back/node_modules/jwa/opslevel.yml b/back/node_modules/jwa/opslevel.yml new file mode 100644 index 0000000..aeeeea7 --- /dev/null +++ b/back/node_modules/jwa/opslevel.yml @@ -0,0 +1,6 @@ +--- +version: 1 +repository: + owner: iam_protocols + tier: + tags: diff --git a/back/node_modules/jwa/package.json b/back/node_modules/jwa/package.json new file mode 100644 index 0000000..fd5824a --- /dev/null +++ b/back/node_modules/jwa/package.json @@ -0,0 +1,37 @@ +{ + "name": "jwa", + "version": "2.0.1", + "description": "JWA implementation (supports all JWS algorithms)", + "main": "index.js", + "directories": { + "test": "test" + }, + "dependencies": { + "buffer-equal-constant-time": "^1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + }, + "devDependencies": { + "base64url": "^2.0.0", + "jwk-to-pem": "^2.0.1", + "semver": "4.3.6", + "tap": "6.2.0" + }, + "scripts": { + "test": "make test" + }, + "repository": { + "type": "git", + "url": "git://github.com/brianloveswords/node-jwa.git" + }, + "keywords": [ + "jwa", + "jws", + "jwt", + "rsa", + "ecdsa", + "hmac" + ], + "author": "Brian J. Brennan ", + "license": "MIT" +} diff --git a/back/node_modules/jws/CHANGELOG.md b/back/node_modules/jws/CHANGELOG.md new file mode 100644 index 0000000..18078df --- /dev/null +++ b/back/node_modules/jws/CHANGELOG.md @@ -0,0 +1,56 @@ +# Change Log + +All notable changes to this project will be documented in this file. + +## [4.0.1] + +### Changed + +- Fix advisory GHSA-869p-cjfg-cm3x: createSign and createVerify now require + that a non empty secret is provided (via opts.secret, opts.privateKey or opts.key) + when using HMAC algorithms. +- Upgrading JWA version to 2.0.1, adressing a compatibility issue for Node >= 25. + +## [3.2.3] + +### Changed + +- Fix advisory GHSA-869p-cjfg-cm3x: createSign and createVerify now require + that a non empty secret is provided (via opts.secret, opts.privateKey or opts.key) + when using HMAC algorithms. +- Upgrading JWA version to 1.4.2, adressing a compatibility issue for Node >= 25. + +## [3.0.0] + +### Changed + +- **BREAKING**: `jwt.verify` now requires an `algorithm` parameter, and + `jws.createVerify` requires an `algorithm` option. The `"alg"` field + signature headers is ignored. This mitigates a critical security flaw + in the library which would allow an attacker to generate signatures with + arbitrary contents that would be accepted by `jwt.verify`. See + https://auth0.com/blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries/ + for details. + +## [2.0.0] - 2015-01-30 + +### Changed + +- **BREAKING**: Default payload encoding changed from `binary` to + `utf8`. `utf8` is a is a more sensible default than `binary` because + many payloads, as far as I can tell, will contain user-facing + strings that could be in any language. ([6b6de48]) + +- Code reorganization, thanks [@fearphage]! ([7880050]) + +### Added + +- Option in all relevant methods for `encoding`. For those few users + that might be depending on a `binary` encoding of the messages, this + is for them. ([6b6de48]) + +[unreleased]: https://github.com/brianloveswords/node-jws/compare/v2.0.0...HEAD +[2.0.0]: https://github.com/brianloveswords/node-jws/compare/v1.0.1...v2.0.0 +[7880050]: https://github.com/brianloveswords/node-jws/commit/7880050 +[6b6de48]: https://github.com/brianloveswords/node-jws/commit/6b6de48 +[@fearphage]: https://github.com/fearphage diff --git a/back/node_modules/jws/LICENSE b/back/node_modules/jws/LICENSE new file mode 100644 index 0000000..caeb849 --- /dev/null +++ b/back/node_modules/jws/LICENSE @@ -0,0 +1,17 @@ +Copyright (c) 2013 Brian J. Brennan + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the +Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/back/node_modules/jws/index.js b/back/node_modules/jws/index.js new file mode 100644 index 0000000..8c8da93 --- /dev/null +++ b/back/node_modules/jws/index.js @@ -0,0 +1,22 @@ +/*global exports*/ +var SignStream = require('./lib/sign-stream'); +var VerifyStream = require('./lib/verify-stream'); + +var ALGORITHMS = [ + 'HS256', 'HS384', 'HS512', + 'RS256', 'RS384', 'RS512', + 'PS256', 'PS384', 'PS512', + 'ES256', 'ES384', 'ES512' +]; + +exports.ALGORITHMS = ALGORITHMS; +exports.sign = SignStream.sign; +exports.verify = VerifyStream.verify; +exports.decode = VerifyStream.decode; +exports.isValid = VerifyStream.isValid; +exports.createSign = function createSign(opts) { + return new SignStream(opts); +}; +exports.createVerify = function createVerify(opts) { + return new VerifyStream(opts); +}; diff --git a/back/node_modules/jws/lib/data-stream.js b/back/node_modules/jws/lib/data-stream.js new file mode 100644 index 0000000..3535d31 --- /dev/null +++ b/back/node_modules/jws/lib/data-stream.js @@ -0,0 +1,55 @@ +/*global module, process*/ +var Buffer = require('safe-buffer').Buffer; +var Stream = require('stream'); +var util = require('util'); + +function DataStream(data) { + this.buffer = null; + this.writable = true; + this.readable = true; + + // No input + if (!data) { + this.buffer = Buffer.alloc(0); + return this; + } + + // Stream + if (typeof data.pipe === 'function') { + this.buffer = Buffer.alloc(0); + data.pipe(this); + return this; + } + + // Buffer or String + // or Object (assumedly a passworded key) + if (data.length || typeof data === 'object') { + this.buffer = data; + this.writable = false; + process.nextTick(function () { + this.emit('end', data); + this.readable = false; + this.emit('close'); + }.bind(this)); + return this; + } + + throw new TypeError('Unexpected data type ('+ typeof data + ')'); +} +util.inherits(DataStream, Stream); + +DataStream.prototype.write = function write(data) { + this.buffer = Buffer.concat([this.buffer, Buffer.from(data)]); + this.emit('data', data); +}; + +DataStream.prototype.end = function end(data) { + if (data) + this.write(data); + this.emit('end', data); + this.emit('close'); + this.writable = false; + this.readable = false; +}; + +module.exports = DataStream; diff --git a/back/node_modules/jws/lib/sign-stream.js b/back/node_modules/jws/lib/sign-stream.js new file mode 100644 index 0000000..4a7b288 --- /dev/null +++ b/back/node_modules/jws/lib/sign-stream.js @@ -0,0 +1,83 @@ +/*global module*/ +var Buffer = require('safe-buffer').Buffer; +var DataStream = require('./data-stream'); +var jwa = require('jwa'); +var Stream = require('stream'); +var toString = require('./tostring'); +var util = require('util'); + +function base64url(string, encoding) { + return Buffer + .from(string, encoding) + .toString('base64') + .replace(/=/g, '') + .replace(/\+/g, '-') + .replace(/\//g, '_'); +} + +function jwsSecuredInput(header, payload, encoding) { + encoding = encoding || 'utf8'; + var encodedHeader = base64url(toString(header), 'binary'); + var encodedPayload = base64url(toString(payload), encoding); + return util.format('%s.%s', encodedHeader, encodedPayload); +} + +function jwsSign(opts) { + var header = opts.header; + var payload = opts.payload; + var secretOrKey = opts.secret || opts.privateKey; + var encoding = opts.encoding; + var algo = jwa(header.alg); + var securedInput = jwsSecuredInput(header, payload, encoding); + var signature = algo.sign(securedInput, secretOrKey); + return util.format('%s.%s', securedInput, signature); +} + +function SignStream(opts) { + var secret = opts.secret; + secret = secret == null ? opts.privateKey : secret; + secret = secret == null ? opts.key : secret; + if (/^hs/i.test(opts.header.alg) === true && secret == null) { + throw new TypeError('secret must be a string or buffer or a KeyObject') + } + var secretStream = new DataStream(secret); + this.readable = true; + this.header = opts.header; + this.encoding = opts.encoding; + this.secret = this.privateKey = this.key = secretStream; + this.payload = new DataStream(opts.payload); + this.secret.once('close', function () { + if (!this.payload.writable && this.readable) + this.sign(); + }.bind(this)); + + this.payload.once('close', function () { + if (!this.secret.writable && this.readable) + this.sign(); + }.bind(this)); +} +util.inherits(SignStream, Stream); + +SignStream.prototype.sign = function sign() { + try { + var signature = jwsSign({ + header: this.header, + payload: this.payload.buffer, + secret: this.secret.buffer, + encoding: this.encoding + }); + this.emit('done', signature); + this.emit('data', signature); + this.emit('end'); + this.readable = false; + return signature; + } catch (e) { + this.readable = false; + this.emit('error', e); + this.emit('close'); + } +}; + +SignStream.sign = jwsSign; + +module.exports = SignStream; diff --git a/back/node_modules/jws/lib/tostring.js b/back/node_modules/jws/lib/tostring.js new file mode 100644 index 0000000..f5a49a3 --- /dev/null +++ b/back/node_modules/jws/lib/tostring.js @@ -0,0 +1,10 @@ +/*global module*/ +var Buffer = require('buffer').Buffer; + +module.exports = function toString(obj) { + if (typeof obj === 'string') + return obj; + if (typeof obj === 'number' || Buffer.isBuffer(obj)) + return obj.toString(); + return JSON.stringify(obj); +}; diff --git a/back/node_modules/jws/lib/verify-stream.js b/back/node_modules/jws/lib/verify-stream.js new file mode 100644 index 0000000..bb1cb00 --- /dev/null +++ b/back/node_modules/jws/lib/verify-stream.js @@ -0,0 +1,125 @@ +/*global module*/ +var Buffer = require('safe-buffer').Buffer; +var DataStream = require('./data-stream'); +var jwa = require('jwa'); +var Stream = require('stream'); +var toString = require('./tostring'); +var util = require('util'); +var JWS_REGEX = /^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/; + +function isObject(thing) { + return Object.prototype.toString.call(thing) === '[object Object]'; +} + +function safeJsonParse(thing) { + if (isObject(thing)) + return thing; + try { return JSON.parse(thing); } + catch (e) { return undefined; } +} + +function headerFromJWS(jwsSig) { + var encodedHeader = jwsSig.split('.', 1)[0]; + return safeJsonParse(Buffer.from(encodedHeader, 'base64').toString('binary')); +} + +function securedInputFromJWS(jwsSig) { + return jwsSig.split('.', 2).join('.'); +} + +function signatureFromJWS(jwsSig) { + return jwsSig.split('.')[2]; +} + +function payloadFromJWS(jwsSig, encoding) { + encoding = encoding || 'utf8'; + var payload = jwsSig.split('.')[1]; + return Buffer.from(payload, 'base64').toString(encoding); +} + +function isValidJws(string) { + return JWS_REGEX.test(string) && !!headerFromJWS(string); +} + +function jwsVerify(jwsSig, algorithm, secretOrKey) { + if (!algorithm) { + var err = new Error("Missing algorithm parameter for jws.verify"); + err.code = "MISSING_ALGORITHM"; + throw err; + } + jwsSig = toString(jwsSig); + var signature = signatureFromJWS(jwsSig); + var securedInput = securedInputFromJWS(jwsSig); + var algo = jwa(algorithm); + return algo.verify(securedInput, signature, secretOrKey); +} + +function jwsDecode(jwsSig, opts) { + opts = opts || {}; + jwsSig = toString(jwsSig); + + if (!isValidJws(jwsSig)) + return null; + + var header = headerFromJWS(jwsSig); + + if (!header) + return null; + + var payload = payloadFromJWS(jwsSig); + if (header.typ === 'JWT' || opts.json) + payload = JSON.parse(payload, opts.encoding); + + return { + header: header, + payload: payload, + signature: signatureFromJWS(jwsSig) + }; +} + +function VerifyStream(opts) { + opts = opts || {}; + var secretOrKey = opts.secret; + secretOrKey = secretOrKey == null ? opts.publicKey : secretOrKey; + secretOrKey = secretOrKey == null ? opts.key : secretOrKey; + if (/^hs/i.test(opts.algorithm) === true && secretOrKey == null) { + throw new TypeError('secret must be a string or buffer or a KeyObject') + } + var secretStream = new DataStream(secretOrKey); + this.readable = true; + this.algorithm = opts.algorithm; + this.encoding = opts.encoding; + this.secret = this.publicKey = this.key = secretStream; + this.signature = new DataStream(opts.signature); + this.secret.once('close', function () { + if (!this.signature.writable && this.readable) + this.verify(); + }.bind(this)); + + this.signature.once('close', function () { + if (!this.secret.writable && this.readable) + this.verify(); + }.bind(this)); +} +util.inherits(VerifyStream, Stream); +VerifyStream.prototype.verify = function verify() { + try { + var valid = jwsVerify(this.signature.buffer, this.algorithm, this.key.buffer); + var obj = jwsDecode(this.signature.buffer, this.encoding); + this.emit('done', valid, obj); + this.emit('data', valid); + this.emit('end'); + this.readable = false; + return valid; + } catch (e) { + this.readable = false; + this.emit('error', e); + this.emit('close'); + } +}; + +VerifyStream.decode = jwsDecode; +VerifyStream.isValid = isValidJws; +VerifyStream.verify = jwsVerify; + +module.exports = VerifyStream; diff --git a/back/node_modules/jws/opslevel.yml b/back/node_modules/jws/opslevel.yml new file mode 100644 index 0000000..aeeeea7 --- /dev/null +++ b/back/node_modules/jws/opslevel.yml @@ -0,0 +1,6 @@ +--- +version: 1 +repository: + owner: iam_protocols + tier: + tags: diff --git a/back/node_modules/jws/package.json b/back/node_modules/jws/package.json new file mode 100644 index 0000000..464d72b --- /dev/null +++ b/back/node_modules/jws/package.json @@ -0,0 +1,34 @@ +{ + "name": "jws", + "version": "4.0.1", + "description": "Implementation of JSON Web Signatures", + "main": "index.js", + "directories": { + "test": "test" + }, + "scripts": { + "test": "make test" + }, + "repository": { + "type": "git", + "url": "git://github.com/brianloveswords/node-jws.git" + }, + "keywords": [ + "jws", + "json", + "web", + "signatures" + ], + "author": "Brian J Brennan", + "license": "MIT", + "readmeFilename": "readme.md", + "gitHead": "c0f6b27bcea5a2ad2e304d91c2e842e4076a6b03", + "dependencies": { + "jwa": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "devDependencies": { + "semver": "^5.1.0", + "tape": "~2.14.0" + } +} diff --git a/back/node_modules/jws/readme.md b/back/node_modules/jws/readme.md new file mode 100644 index 0000000..2f32dca --- /dev/null +++ b/back/node_modules/jws/readme.md @@ -0,0 +1,255 @@ +# node-jws [![Build Status](https://secure.travis-ci.org/brianloveswords/node-jws.svg)](http://travis-ci.org/brianloveswords/node-jws) + +An implementation of [JSON Web Signatures](http://self-issued.info/docs/draft-ietf-jose-json-web-signature.html). + +This was developed against `draft-ietf-jose-json-web-signature-08` and +implements the entire spec **except** X.509 Certificate Chain +signing/verifying (patches welcome). + +There are both synchronous (`jws.sign`, `jws.verify`) and streaming +(`jws.createSign`, `jws.createVerify`) APIs. + +# Install + +```bash +$ npm install jws +``` + +# Usage + +## jws.ALGORITHMS + +Array of supported algorithms. The following algorithms are currently supported. + +alg Parameter Value | Digital Signature or MAC Algorithm +----------------|---------------------------- +HS256 | HMAC using SHA-256 hash algorithm +HS384 | HMAC using SHA-384 hash algorithm +HS512 | HMAC using SHA-512 hash algorithm +RS256 | RSASSA using SHA-256 hash algorithm +RS384 | RSASSA using SHA-384 hash algorithm +RS512 | RSASSA using SHA-512 hash algorithm +PS256 | RSASSA-PSS using SHA-256 hash algorithm +PS384 | RSASSA-PSS using SHA-384 hash algorithm +PS512 | RSASSA-PSS using SHA-512 hash algorithm +ES256 | ECDSA using P-256 curve and SHA-256 hash algorithm +ES384 | ECDSA using P-384 curve and SHA-384 hash algorithm +ES512 | ECDSA using P-521 curve and SHA-512 hash algorithm +none | No digital signature or MAC value included + +## jws.sign(options) + +(Synchronous) Return a JSON Web Signature for a header and a payload. + +Options: + +* `header` +* `payload` +* `secret` or `privateKey` +* `encoding` (Optional, defaults to 'utf8') + +`header` must be an object with an `alg` property. `header.alg` must be +one a value found in `jws.ALGORITHMS`. See above for a table of +supported algorithms. + +If `payload` is not a buffer or a string, it will be coerced into a string +using `JSON.stringify`. + +Example + +```js +const signature = jws.sign({ + header: { alg: 'HS256' }, + payload: 'h. jon benjamin', + secret: 'has a van', +}); +``` + +## jws.verify(signature, algorithm, secretOrKey) + +(Synchronous) Returns `true` or `false` for whether a signature matches a +secret or key. + +`signature` is a JWS Signature. `header.alg` must be a value found in `jws.ALGORITHMS`. +See above for a table of supported algorithms. `secretOrKey` is a string or +buffer containing either the secret for HMAC algorithms, or the PEM +encoded public key for RSA and ECDSA. + +Note that the `"alg"` value from the signature header is ignored. + + +## jws.decode(signature) + +(Synchronous) Returns the decoded header, decoded payload, and signature +parts of the JWS Signature. + +Returns an object with three properties, e.g. +```js +{ header: { alg: 'HS256' }, + payload: 'h. jon benjamin', + signature: 'YOWPewyGHKu4Y_0M_vtlEnNlqmFOclqp4Hy6hVHfFT4' +} +``` + +## jws.createSign(options) + +Returns a new SignStream object. + +Options: + +* `header` (required) +* `payload` +* `key` || `privateKey` || `secret` +* `encoding` (Optional, defaults to 'utf8') + +Other than `header`, all options expect a string or a buffer when the +value is known ahead of time, or a stream for convenience. +`key`/`privateKey`/`secret` may also be an object when using an encrypted +private key, see the [crypto documentation][encrypted-key-docs]. + +Example: + +```js + +// This... +jws.createSign({ + header: { alg: 'RS256' }, + privateKey: privateKeyStream, + payload: payloadStream, +}).on('done', function(signature) { + // ... +}); + +// is equivalent to this: +const signer = jws.createSign({ + header: { alg: 'RS256' }, +}); +privateKeyStream.pipe(signer.privateKey); +payloadStream.pipe(signer.payload); +signer.on('done', function(signature) { + // ... +}); +``` + +## jws.createVerify(options) + +Returns a new VerifyStream object. + +Options: + +* `signature` +* `algorithm` +* `key` || `publicKey` || `secret` +* `encoding` (Optional, defaults to 'utf8') + +All options expect a string or a buffer when the value is known ahead of +time, or a stream for convenience. + +Example: + +```js + +// This... +jws.createVerify({ + publicKey: pubKeyStream, + signature: sigStream, +}).on('done', function(verified, obj) { + // ... +}); + +// is equivilant to this: +const verifier = jws.createVerify(); +pubKeyStream.pipe(verifier.publicKey); +sigStream.pipe(verifier.signature); +verifier.on('done', function(verified, obj) { + // ... +}); +``` + +## Class: SignStream + +A `Readable Stream` that emits a single data event (the calculated +signature) when done. + +### Event: 'done' +`function (signature) { }` + +### signer.payload + +A `Writable Stream` that expects the JWS payload. Do *not* use if you +passed a `payload` option to the constructor. + +Example: + +```js +payloadStream.pipe(signer.payload); +``` + +### signer.secret
signer.key
signer.privateKey + +A `Writable Stream`. Expects the JWS secret for HMAC, or the privateKey +for ECDSA and RSA. Do *not* use if you passed a `secret` or `key` option +to the constructor. + +Example: + +```js +privateKeyStream.pipe(signer.privateKey); +``` + +## Class: VerifyStream + +This is a `Readable Stream` that emits a single data event, the result +of whether or not that signature was valid. + +### Event: 'done' +`function (valid, obj) { }` + +`valid` is a boolean for whether or not the signature is valid. + +### verifier.signature + +A `Writable Stream` that expects a JWS Signature. Do *not* use if you +passed a `signature` option to the constructor. + +### verifier.secret
verifier.key
verifier.publicKey + +A `Writable Stream` that expects a public key or secret. Do *not* use if you +passed a `key` or `secret` option to the constructor. + +# TODO + +* It feels like there should be some convenience options/APIs for + defining the algorithm rather than having to define a header object + with `{ alg: 'ES512' }` or whatever every time. + +* X.509 support, ugh + +# License + +MIT + +``` +Copyright (c) 2013-2015 Brian J. Brennan + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +``` + +[encrypted-key-docs]: https://nodejs.org/api/crypto.html#crypto_sign_sign_private_key_output_format diff --git a/back/node_modules/lodash.includes/LICENSE b/back/node_modules/lodash.includes/LICENSE new file mode 100644 index 0000000..e0c69d5 --- /dev/null +++ b/back/node_modules/lodash.includes/LICENSE @@ -0,0 +1,47 @@ +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. diff --git a/back/node_modules/lodash.includes/README.md b/back/node_modules/lodash.includes/README.md new file mode 100644 index 0000000..26e9377 --- /dev/null +++ b/back/node_modules/lodash.includes/README.md @@ -0,0 +1,18 @@ +# lodash.includes v4.3.0 + +The [lodash](https://lodash.com/) method `_.includes` exported as a [Node.js](https://nodejs.org/) module. + +## Installation + +Using npm: +```bash +$ {sudo -H} npm i -g npm +$ npm i --save lodash.includes +``` + +In Node.js: +```js +var includes = require('lodash.includes'); +``` + +See the [documentation](https://lodash.com/docs#includes) or [package source](https://github.com/lodash/lodash/blob/4.3.0-npm-packages/lodash.includes) for more details. diff --git a/back/node_modules/lodash.includes/index.js b/back/node_modules/lodash.includes/index.js new file mode 100644 index 0000000..e88d533 --- /dev/null +++ b/back/node_modules/lodash.includes/index.js @@ -0,0 +1,745 @@ +/** + * lodash (Custom Build) + * Build: `lodash modularize exports="npm" -o ./` + * Copyright jQuery Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0, + MAX_SAFE_INTEGER = 9007199254740991, + MAX_INTEGER = 1.7976931348623157e+308, + NAN = 0 / 0; + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + stringTag = '[object String]', + symbolTag = '[object Symbol]'; + +/** Used to match leading and trailing whitespace. */ +var reTrim = /^\s+|\s+$/g; + +/** Used to detect bad signed hexadecimal string values. */ +var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + +/** Used to detect binary string values. */ +var reIsBinary = /^0b[01]+$/i; + +/** Used to detect octal string values. */ +var reIsOctal = /^0o[0-7]+$/i; + +/** Used to detect unsigned integer values. */ +var reIsUint = /^(?:0|[1-9]\d*)$/; + +/** Built-in method references without a dependency on `root`. */ +var freeParseInt = parseInt; + +/** + * A specialized version of `_.map` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ +function arrayMap(array, iteratee) { + var index = -1, + length = array ? array.length : 0, + result = Array(length); + + while (++index < length) { + result[index] = iteratee(array[index], index, array); + } + return result; +} + +/** + * The base implementation of `_.findIndex` and `_.findLastIndex` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {number} fromIndex The index to search from. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function baseFindIndex(array, predicate, fromIndex, fromRight) { + var length = array.length, + index = fromIndex + (fromRight ? 1 : -1); + + while ((fromRight ? index-- : ++index < length)) { + if (predicate(array[index], index, array)) { + return index; + } + } + return -1; +} + +/** + * The base implementation of `_.indexOf` without `fromIndex` bounds checks. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function baseIndexOf(array, value, fromIndex) { + if (value !== value) { + return baseFindIndex(array, baseIsNaN, fromIndex); + } + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (array[index] === value) { + return index; + } + } + return -1; +} + +/** + * The base implementation of `_.isNaN` without support for number objects. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + */ +function baseIsNaN(value) { + return value !== value; +} + +/** + * The base implementation of `_.times` without support for iteratee shorthands + * or max array length checks. + * + * @private + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the array of results. + */ +function baseTimes(n, iteratee) { + var index = -1, + result = Array(n); + + while (++index < n) { + result[index] = iteratee(index); + } + return result; +} + +/** + * The base implementation of `_.values` and `_.valuesIn` which creates an + * array of `object` property values corresponding to the property names + * of `props`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} props The property names to get values for. + * @returns {Object} Returns the array of property values. + */ +function baseValues(object, props) { + return arrayMap(props, function(key) { + return object[key]; + }); +} + +/** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ +function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; +} + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var objectToString = objectProto.toString; + +/** Built-in value references. */ +var propertyIsEnumerable = objectProto.propertyIsEnumerable; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeKeys = overArg(Object.keys, Object), + nativeMax = Math.max; + +/** + * Creates an array of the enumerable property names of the array-like `value`. + * + * @private + * @param {*} value The value to query. + * @param {boolean} inherited Specify returning inherited property names. + * @returns {Array} Returns the array of property names. + */ +function arrayLikeKeys(value, inherited) { + // Safari 8.1 makes `arguments.callee` enumerable in strict mode. + // Safari 9 makes `arguments.length` enumerable in strict mode. + var result = (isArray(value) || isArguments(value)) + ? baseTimes(value.length, String) + : []; + + var length = result.length, + skipIndexes = !!length; + + for (var key in value) { + if ((inherited || hasOwnProperty.call(value, key)) && + !(skipIndexes && (key == 'length' || isIndex(key, length)))) { + result.push(key); + } + } + return result; +} + +/** + * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function baseKeys(object) { + if (!isPrototype(object)) { + return nativeKeys(object); + } + var result = []; + for (var key in Object(object)) { + if (hasOwnProperty.call(object, key) && key != 'constructor') { + result.push(key); + } + } + return result; +} + +/** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ +function isIndex(value, length) { + length = length == null ? MAX_SAFE_INTEGER : length; + return !!length && + (typeof value == 'number' || reIsUint.test(value)) && + (value > -1 && value % 1 == 0 && value < length); +} + +/** + * Checks if `value` is likely a prototype object. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. + */ +function isPrototype(value) { + var Ctor = value && value.constructor, + proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; + + return value === proto; +} + +/** + * Checks if `value` is in `collection`. If `collection` is a string, it's + * checked for a substring of `value`, otherwise + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * is used for equality comparisons. If `fromIndex` is negative, it's used as + * the offset from the end of `collection`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object|string} collection The collection to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=0] The index to search from. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. + * @returns {boolean} Returns `true` if `value` is found, else `false`. + * @example + * + * _.includes([1, 2, 3], 1); + * // => true + * + * _.includes([1, 2, 3], 1, 2); + * // => false + * + * _.includes({ 'a': 1, 'b': 2 }, 1); + * // => true + * + * _.includes('abcd', 'bc'); + * // => true + */ +function includes(collection, value, fromIndex, guard) { + collection = isArrayLike(collection) ? collection : values(collection); + fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0; + + var length = collection.length; + if (fromIndex < 0) { + fromIndex = nativeMax(length + fromIndex, 0); + } + return isString(collection) + ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1) + : (!!length && baseIndexOf(collection, value, fromIndex) > -1); +} + +/** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ +function isArguments(value) { + // Safari 8.1 makes `arguments.callee` enumerable in strict mode. + return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') && + (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag); +} + +/** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ +var isArray = Array.isArray; + +/** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ +function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); +} + +/** + * This method is like `_.isArrayLike` except that it also checks if `value` + * is an object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array-like object, + * else `false`. + * @example + * + * _.isArrayLikeObject([1, 2, 3]); + * // => true + * + * _.isArrayLikeObject(document.body.children); + * // => true + * + * _.isArrayLikeObject('abc'); + * // => false + * + * _.isArrayLikeObject(_.noop); + * // => false + */ +function isArrayLikeObject(value) { + return isObjectLike(value) && isArrayLike(value); +} + +/** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ +function isFunction(value) { + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 8-9 which returns 'object' for typed array and other constructors. + var tag = isObject(value) ? objectToString.call(value) : ''; + return tag == funcTag || tag == genTag; +} + +/** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ +function isLength(value) { + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; +} + +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value; + return !!value && (type == 'object' || type == 'function'); +} + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return !!value && typeof value == 'object'; +} + +/** + * Checks if `value` is classified as a `String` primitive or object. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a string, else `false`. + * @example + * + * _.isString('abc'); + * // => true + * + * _.isString(1); + * // => false + */ +function isString(value) { + return typeof value == 'string' || + (!isArray(value) && isObjectLike(value) && objectToString.call(value) == stringTag); +} + +/** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ +function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && objectToString.call(value) == symbolTag); +} + +/** + * Converts `value` to a finite number. + * + * @static + * @memberOf _ + * @since 4.12.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted number. + * @example + * + * _.toFinite(3.2); + * // => 3.2 + * + * _.toFinite(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toFinite(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toFinite('3.2'); + * // => 3.2 + */ +function toFinite(value) { + if (!value) { + return value === 0 ? value : 0; + } + value = toNumber(value); + if (value === INFINITY || value === -INFINITY) { + var sign = (value < 0 ? -1 : 1); + return sign * MAX_INTEGER; + } + return value === value ? value : 0; +} + +/** + * Converts `value` to an integer. + * + * **Note:** This method is loosely based on + * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toInteger(3.2); + * // => 3 + * + * _.toInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toInteger(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toInteger('3.2'); + * // => 3 + */ +function toInteger(value) { + var result = toFinite(value), + remainder = result % 1; + + return result === result ? (remainder ? result - remainder : result) : 0; +} + +/** + * Converts `value` to a number. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {number} Returns the number. + * @example + * + * _.toNumber(3.2); + * // => 3.2 + * + * _.toNumber(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toNumber(Infinity); + * // => Infinity + * + * _.toNumber('3.2'); + * // => 3.2 + */ +function toNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + if (isObject(value)) { + var other = typeof value.valueOf == 'function' ? value.valueOf() : value; + value = isObject(other) ? (other + '') : other; + } + if (typeof value != 'string') { + return value === 0 ? value : +value; + } + value = value.replace(reTrim, ''); + var isBinary = reIsBinary.test(value); + return (isBinary || reIsOctal.test(value)) + ? freeParseInt(value.slice(2), isBinary ? 2 : 8) + : (reIsBadHex.test(value) ? NAN : +value); +} + +/** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * for more details. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ +function keys(object) { + return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); +} + +/** + * Creates an array of the own enumerable string keyed property values of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property values. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.values(new Foo); + * // => [1, 2] (iteration order is not guaranteed) + * + * _.values('hi'); + * // => ['h', 'i'] + */ +function values(object) { + return object ? baseValues(object, keys(object)) : []; +} + +module.exports = includes; diff --git a/back/node_modules/lodash.includes/package.json b/back/node_modules/lodash.includes/package.json new file mode 100644 index 0000000..a02e645 --- /dev/null +++ b/back/node_modules/lodash.includes/package.json @@ -0,0 +1,17 @@ +{ + "name": "lodash.includes", + "version": "4.3.0", + "description": "The lodash method `_.includes` exported as a module.", + "homepage": "https://lodash.com/", + "icon": "https://lodash.com/icon.svg", + "license": "MIT", + "keywords": "lodash-modularized, includes", + "author": "John-David Dalton (http://allyoucanleet.com/)", + "contributors": [ + "John-David Dalton (http://allyoucanleet.com/)", + "Blaine Bublitz (https://github.com/phated)", + "Mathias Bynens (https://mathiasbynens.be/)" + ], + "repository": "lodash/lodash", + "scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" } +} diff --git a/back/node_modules/lodash.isboolean/LICENSE b/back/node_modules/lodash.isboolean/LICENSE new file mode 100644 index 0000000..b054ca5 --- /dev/null +++ b/back/node_modules/lodash.isboolean/LICENSE @@ -0,0 +1,22 @@ +Copyright 2012-2016 The Dojo Foundation +Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/back/node_modules/lodash.isboolean/README.md b/back/node_modules/lodash.isboolean/README.md new file mode 100644 index 0000000..b3c476b --- /dev/null +++ b/back/node_modules/lodash.isboolean/README.md @@ -0,0 +1,18 @@ +# lodash.isboolean v3.0.3 + +The [lodash](https://lodash.com/) method `_.isBoolean` exported as a [Node.js](https://nodejs.org/) module. + +## Installation + +Using npm: +```bash +$ {sudo -H} npm i -g npm +$ npm i --save lodash.isboolean +``` + +In Node.js: +```js +var isBoolean = require('lodash.isboolean'); +``` + +See the [documentation](https://lodash.com/docs#isBoolean) or [package source](https://github.com/lodash/lodash/blob/3.0.3-npm-packages/lodash.isboolean) for more details. diff --git a/back/node_modules/lodash.isboolean/index.js b/back/node_modules/lodash.isboolean/index.js new file mode 100644 index 0000000..23bbabd --- /dev/null +++ b/back/node_modules/lodash.isboolean/index.js @@ -0,0 +1,70 @@ +/** + * lodash 3.0.3 (Custom Build) + * Build: `lodash modularize exports="npm" -o ./` + * Copyright 2012-2016 The Dojo Foundation + * Based on Underscore.js 1.8.3 + * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + * Available under MIT license + */ + +/** `Object#toString` result references. */ +var boolTag = '[object Boolean]'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** + * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) + * of values. + */ +var objectToString = objectProto.toString; + +/** + * Checks if `value` is classified as a boolean primitive or object. + * + * @static + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. + * @example + * + * _.isBoolean(false); + * // => true + * + * _.isBoolean(null); + * // => false + */ +function isBoolean(value) { + return value === true || value === false || + (isObjectLike(value) && objectToString.call(value) == boolTag); +} + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return !!value && typeof value == 'object'; +} + +module.exports = isBoolean; diff --git a/back/node_modules/lodash.isboolean/package.json b/back/node_modules/lodash.isboolean/package.json new file mode 100644 index 0000000..01d6e8b --- /dev/null +++ b/back/node_modules/lodash.isboolean/package.json @@ -0,0 +1,17 @@ +{ + "name": "lodash.isboolean", + "version": "3.0.3", + "description": "The lodash method `_.isBoolean` exported as a module.", + "homepage": "https://lodash.com/", + "icon": "https://lodash.com/icon.svg", + "license": "MIT", + "keywords": "lodash-modularized, isboolean", + "author": "John-David Dalton (http://allyoucanleet.com/)", + "contributors": [ + "John-David Dalton (http://allyoucanleet.com/)", + "Blaine Bublitz (https://github.com/phated)", + "Mathias Bynens (https://mathiasbynens.be/)" + ], + "repository": "lodash/lodash", + "scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" } +} diff --git a/back/node_modules/lodash.isinteger/LICENSE b/back/node_modules/lodash.isinteger/LICENSE new file mode 100644 index 0000000..e0c69d5 --- /dev/null +++ b/back/node_modules/lodash.isinteger/LICENSE @@ -0,0 +1,47 @@ +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. diff --git a/back/node_modules/lodash.isinteger/README.md b/back/node_modules/lodash.isinteger/README.md new file mode 100644 index 0000000..3a78567 --- /dev/null +++ b/back/node_modules/lodash.isinteger/README.md @@ -0,0 +1,18 @@ +# lodash.isinteger v4.0.4 + +The [lodash](https://lodash.com/) method `_.isInteger` exported as a [Node.js](https://nodejs.org/) module. + +## Installation + +Using npm: +```bash +$ {sudo -H} npm i -g npm +$ npm i --save lodash.isinteger +``` + +In Node.js: +```js +var isInteger = require('lodash.isinteger'); +``` + +See the [documentation](https://lodash.com/docs#isInteger) or [package source](https://github.com/lodash/lodash/blob/4.0.4-npm-packages/lodash.isinteger) for more details. diff --git a/back/node_modules/lodash.isinteger/index.js b/back/node_modules/lodash.isinteger/index.js new file mode 100644 index 0000000..3bf06f0 --- /dev/null +++ b/back/node_modules/lodash.isinteger/index.js @@ -0,0 +1,265 @@ +/** + * lodash (Custom Build) + * Build: `lodash modularize exports="npm" -o ./` + * Copyright jQuery Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0, + MAX_INTEGER = 1.7976931348623157e+308, + NAN = 0 / 0; + +/** `Object#toString` result references. */ +var symbolTag = '[object Symbol]'; + +/** Used to match leading and trailing whitespace. */ +var reTrim = /^\s+|\s+$/g; + +/** Used to detect bad signed hexadecimal string values. */ +var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + +/** Used to detect binary string values. */ +var reIsBinary = /^0b[01]+$/i; + +/** Used to detect octal string values. */ +var reIsOctal = /^0o[0-7]+$/i; + +/** Built-in method references without a dependency on `root`. */ +var freeParseInt = parseInt; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var objectToString = objectProto.toString; + +/** + * Checks if `value` is an integer. + * + * **Note:** This method is based on + * [`Number.isInteger`](https://mdn.io/Number/isInteger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an integer, else `false`. + * @example + * + * _.isInteger(3); + * // => true + * + * _.isInteger(Number.MIN_VALUE); + * // => false + * + * _.isInteger(Infinity); + * // => false + * + * _.isInteger('3'); + * // => false + */ +function isInteger(value) { + return typeof value == 'number' && value == toInteger(value); +} + +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value; + return !!value && (type == 'object' || type == 'function'); +} + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return !!value && typeof value == 'object'; +} + +/** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ +function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && objectToString.call(value) == symbolTag); +} + +/** + * Converts `value` to a finite number. + * + * @static + * @memberOf _ + * @since 4.12.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted number. + * @example + * + * _.toFinite(3.2); + * // => 3.2 + * + * _.toFinite(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toFinite(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toFinite('3.2'); + * // => 3.2 + */ +function toFinite(value) { + if (!value) { + return value === 0 ? value : 0; + } + value = toNumber(value); + if (value === INFINITY || value === -INFINITY) { + var sign = (value < 0 ? -1 : 1); + return sign * MAX_INTEGER; + } + return value === value ? value : 0; +} + +/** + * Converts `value` to an integer. + * + * **Note:** This method is loosely based on + * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toInteger(3.2); + * // => 3 + * + * _.toInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toInteger(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toInteger('3.2'); + * // => 3 + */ +function toInteger(value) { + var result = toFinite(value), + remainder = result % 1; + + return result === result ? (remainder ? result - remainder : result) : 0; +} + +/** + * Converts `value` to a number. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {number} Returns the number. + * @example + * + * _.toNumber(3.2); + * // => 3.2 + * + * _.toNumber(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toNumber(Infinity); + * // => Infinity + * + * _.toNumber('3.2'); + * // => 3.2 + */ +function toNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + if (isObject(value)) { + var other = typeof value.valueOf == 'function' ? value.valueOf() : value; + value = isObject(other) ? (other + '') : other; + } + if (typeof value != 'string') { + return value === 0 ? value : +value; + } + value = value.replace(reTrim, ''); + var isBinary = reIsBinary.test(value); + return (isBinary || reIsOctal.test(value)) + ? freeParseInt(value.slice(2), isBinary ? 2 : 8) + : (reIsBadHex.test(value) ? NAN : +value); +} + +module.exports = isInteger; diff --git a/back/node_modules/lodash.isinteger/package.json b/back/node_modules/lodash.isinteger/package.json new file mode 100644 index 0000000..92db256 --- /dev/null +++ b/back/node_modules/lodash.isinteger/package.json @@ -0,0 +1,17 @@ +{ + "name": "lodash.isinteger", + "version": "4.0.4", + "description": "The lodash method `_.isInteger` exported as a module.", + "homepage": "https://lodash.com/", + "icon": "https://lodash.com/icon.svg", + "license": "MIT", + "keywords": "lodash-modularized, isinteger", + "author": "John-David Dalton (http://allyoucanleet.com/)", + "contributors": [ + "John-David Dalton (http://allyoucanleet.com/)", + "Blaine Bublitz (https://github.com/phated)", + "Mathias Bynens (https://mathiasbynens.be/)" + ], + "repository": "lodash/lodash", + "scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" } +} diff --git a/back/node_modules/lodash.isnumber/LICENSE b/back/node_modules/lodash.isnumber/LICENSE new file mode 100644 index 0000000..b054ca5 --- /dev/null +++ b/back/node_modules/lodash.isnumber/LICENSE @@ -0,0 +1,22 @@ +Copyright 2012-2016 The Dojo Foundation +Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/back/node_modules/lodash.isnumber/README.md b/back/node_modules/lodash.isnumber/README.md new file mode 100644 index 0000000..a1d434d --- /dev/null +++ b/back/node_modules/lodash.isnumber/README.md @@ -0,0 +1,18 @@ +# lodash.isnumber v3.0.3 + +The [lodash](https://lodash.com/) method `_.isNumber` exported as a [Node.js](https://nodejs.org/) module. + +## Installation + +Using npm: +```bash +$ {sudo -H} npm i -g npm +$ npm i --save lodash.isnumber +``` + +In Node.js: +```js +var isNumber = require('lodash.isnumber'); +``` + +See the [documentation](https://lodash.com/docs#isNumber) or [package source](https://github.com/lodash/lodash/blob/3.0.3-npm-packages/lodash.isnumber) for more details. diff --git a/back/node_modules/lodash.isnumber/index.js b/back/node_modules/lodash.isnumber/index.js new file mode 100644 index 0000000..35a8573 --- /dev/null +++ b/back/node_modules/lodash.isnumber/index.js @@ -0,0 +1,79 @@ +/** + * lodash 3.0.3 (Custom Build) + * Build: `lodash modularize exports="npm" -o ./` + * Copyright 2012-2016 The Dojo Foundation + * Based on Underscore.js 1.8.3 + * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + * Available under MIT license + */ + +/** `Object#toString` result references. */ +var numberTag = '[object Number]'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** + * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) + * of values. + */ +var objectToString = objectProto.toString; + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return !!value && typeof value == 'object'; +} + +/** + * Checks if `value` is classified as a `Number` primitive or object. + * + * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are classified + * as numbers, use the `_.isFinite` method. + * + * @static + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. + * @example + * + * _.isNumber(3); + * // => true + * + * _.isNumber(Number.MIN_VALUE); + * // => true + * + * _.isNumber(Infinity); + * // => true + * + * _.isNumber('3'); + * // => false + */ +function isNumber(value) { + return typeof value == 'number' || + (isObjectLike(value) && objectToString.call(value) == numberTag); +} + +module.exports = isNumber; diff --git a/back/node_modules/lodash.isnumber/package.json b/back/node_modules/lodash.isnumber/package.json new file mode 100644 index 0000000..4c33c2a --- /dev/null +++ b/back/node_modules/lodash.isnumber/package.json @@ -0,0 +1,17 @@ +{ + "name": "lodash.isnumber", + "version": "3.0.3", + "description": "The lodash method `_.isNumber` exported as a module.", + "homepage": "https://lodash.com/", + "icon": "https://lodash.com/icon.svg", + "license": "MIT", + "keywords": "lodash-modularized, isnumber", + "author": "John-David Dalton (http://allyoucanleet.com/)", + "contributors": [ + "John-David Dalton (http://allyoucanleet.com/)", + "Blaine Bublitz (https://github.com/phated)", + "Mathias Bynens (https://mathiasbynens.be/)" + ], + "repository": "lodash/lodash", + "scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" } +} diff --git a/back/node_modules/lodash.isplainobject/LICENSE b/back/node_modules/lodash.isplainobject/LICENSE new file mode 100644 index 0000000..e0c69d5 --- /dev/null +++ b/back/node_modules/lodash.isplainobject/LICENSE @@ -0,0 +1,47 @@ +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. diff --git a/back/node_modules/lodash.isplainobject/README.md b/back/node_modules/lodash.isplainobject/README.md new file mode 100644 index 0000000..aeefd74 --- /dev/null +++ b/back/node_modules/lodash.isplainobject/README.md @@ -0,0 +1,18 @@ +# lodash.isplainobject v4.0.6 + +The [lodash](https://lodash.com/) method `_.isPlainObject` exported as a [Node.js](https://nodejs.org/) module. + +## Installation + +Using npm: +```bash +$ {sudo -H} npm i -g npm +$ npm i --save lodash.isplainobject +``` + +In Node.js: +```js +var isPlainObject = require('lodash.isplainobject'); +``` + +See the [documentation](https://lodash.com/docs#isPlainObject) or [package source](https://github.com/lodash/lodash/blob/4.0.6-npm-packages/lodash.isplainobject) for more details. diff --git a/back/node_modules/lodash.isplainobject/index.js b/back/node_modules/lodash.isplainobject/index.js new file mode 100644 index 0000000..0f820ee --- /dev/null +++ b/back/node_modules/lodash.isplainobject/index.js @@ -0,0 +1,139 @@ +/** + * lodash (Custom Build) + * Build: `lodash modularize exports="npm" -o ./` + * Copyright jQuery Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ + +/** `Object#toString` result references. */ +var objectTag = '[object Object]'; + +/** + * Checks if `value` is a host object in IE < 9. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a host object, else `false`. + */ +function isHostObject(value) { + // Many host objects are `Object` objects that can coerce to strings + // despite having improperly defined `toString` methods. + var result = false; + if (value != null && typeof value.toString != 'function') { + try { + result = !!(value + ''); + } catch (e) {} + } + return result; +} + +/** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ +function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; +} + +/** Used for built-in method references. */ +var funcProto = Function.prototype, + objectProto = Object.prototype; + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** Used to infer the `Object` constructor. */ +var objectCtorString = funcToString.call(Object); + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var objectToString = objectProto.toString; + +/** Built-in value references. */ +var getPrototype = overArg(Object.getPrototypeOf, Object); + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return !!value && typeof value == 'object'; +} + +/** + * Checks if `value` is a plain object, that is, an object created by the + * `Object` constructor or one with a `[[Prototype]]` of `null`. + * + * @static + * @memberOf _ + * @since 0.8.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * _.isPlainObject(new Foo); + * // => false + * + * _.isPlainObject([1, 2, 3]); + * // => false + * + * _.isPlainObject({ 'x': 0, 'y': 0 }); + * // => true + * + * _.isPlainObject(Object.create(null)); + * // => true + */ +function isPlainObject(value) { + if (!isObjectLike(value) || + objectToString.call(value) != objectTag || isHostObject(value)) { + return false; + } + var proto = getPrototype(value); + if (proto === null) { + return true; + } + var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; + return (typeof Ctor == 'function' && + Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString); +} + +module.exports = isPlainObject; diff --git a/back/node_modules/lodash.isplainobject/package.json b/back/node_modules/lodash.isplainobject/package.json new file mode 100644 index 0000000..86f6a07 --- /dev/null +++ b/back/node_modules/lodash.isplainobject/package.json @@ -0,0 +1,17 @@ +{ + "name": "lodash.isplainobject", + "version": "4.0.6", + "description": "The lodash method `_.isPlainObject` exported as a module.", + "homepage": "https://lodash.com/", + "icon": "https://lodash.com/icon.svg", + "license": "MIT", + "keywords": "lodash-modularized, isplainobject", + "author": "John-David Dalton (http://allyoucanleet.com/)", + "contributors": [ + "John-David Dalton (http://allyoucanleet.com/)", + "Blaine Bublitz (https://github.com/phated)", + "Mathias Bynens (https://mathiasbynens.be/)" + ], + "repository": "lodash/lodash", + "scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" } +} diff --git a/back/node_modules/lodash.isstring/LICENSE b/back/node_modules/lodash.isstring/LICENSE new file mode 100644 index 0000000..b054ca5 --- /dev/null +++ b/back/node_modules/lodash.isstring/LICENSE @@ -0,0 +1,22 @@ +Copyright 2012-2016 The Dojo Foundation +Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/back/node_modules/lodash.isstring/README.md b/back/node_modules/lodash.isstring/README.md new file mode 100644 index 0000000..f184029 --- /dev/null +++ b/back/node_modules/lodash.isstring/README.md @@ -0,0 +1,18 @@ +# lodash.isstring v4.0.1 + +The [lodash](https://lodash.com/) method `_.isString` exported as a [Node.js](https://nodejs.org/) module. + +## Installation + +Using npm: +```bash +$ {sudo -H} npm i -g npm +$ npm i --save lodash.isstring +``` + +In Node.js: +```js +var isString = require('lodash.isstring'); +``` + +See the [documentation](https://lodash.com/docs#isString) or [package source](https://github.com/lodash/lodash/blob/4.0.1-npm-packages/lodash.isstring) for more details. diff --git a/back/node_modules/lodash.isstring/index.js b/back/node_modules/lodash.isstring/index.js new file mode 100644 index 0000000..408225c --- /dev/null +++ b/back/node_modules/lodash.isstring/index.js @@ -0,0 +1,95 @@ +/** + * lodash 4.0.1 (Custom Build) + * Build: `lodash modularize exports="npm" -o ./` + * Copyright 2012-2016 The Dojo Foundation + * Based on Underscore.js 1.8.3 + * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + * Available under MIT license + */ + +/** `Object#toString` result references. */ +var stringTag = '[object String]'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** + * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) + * of values. + */ +var objectToString = objectProto.toString; + +/** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @type Function + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ +var isArray = Array.isArray; + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return !!value && typeof value == 'object'; +} + +/** + * Checks if `value` is classified as a `String` primitive or object. + * + * @static + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. + * @example + * + * _.isString('abc'); + * // => true + * + * _.isString(1); + * // => false + */ +function isString(value) { + return typeof value == 'string' || + (!isArray(value) && isObjectLike(value) && objectToString.call(value) == stringTag); +} + +module.exports = isString; diff --git a/back/node_modules/lodash.isstring/package.json b/back/node_modules/lodash.isstring/package.json new file mode 100644 index 0000000..1331535 --- /dev/null +++ b/back/node_modules/lodash.isstring/package.json @@ -0,0 +1,17 @@ +{ + "name": "lodash.isstring", + "version": "4.0.1", + "description": "The lodash method `_.isString` exported as a module.", + "homepage": "https://lodash.com/", + "icon": "https://lodash.com/icon.svg", + "license": "MIT", + "keywords": "lodash-modularized, isstring", + "author": "John-David Dalton (http://allyoucanleet.com/)", + "contributors": [ + "John-David Dalton (http://allyoucanleet.com/)", + "Blaine Bublitz (https://github.com/phated)", + "Mathias Bynens (https://mathiasbynens.be/)" + ], + "repository": "lodash/lodash", + "scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" } +} diff --git a/back/node_modules/lodash.once/LICENSE b/back/node_modules/lodash.once/LICENSE new file mode 100644 index 0000000..e0c69d5 --- /dev/null +++ b/back/node_modules/lodash.once/LICENSE @@ -0,0 +1,47 @@ +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. diff --git a/back/node_modules/lodash.once/README.md b/back/node_modules/lodash.once/README.md new file mode 100644 index 0000000..c4a2f16 --- /dev/null +++ b/back/node_modules/lodash.once/README.md @@ -0,0 +1,18 @@ +# lodash.once v4.1.1 + +The [lodash](https://lodash.com/) method `_.once` exported as a [Node.js](https://nodejs.org/) module. + +## Installation + +Using npm: +```bash +$ {sudo -H} npm i -g npm +$ npm i --save lodash.once +``` + +In Node.js: +```js +var once = require('lodash.once'); +``` + +See the [documentation](https://lodash.com/docs#once) or [package source](https://github.com/lodash/lodash/blob/4.1.1-npm-packages/lodash.once) for more details. diff --git a/back/node_modules/lodash.once/index.js b/back/node_modules/lodash.once/index.js new file mode 100644 index 0000000..414ceb3 --- /dev/null +++ b/back/node_modules/lodash.once/index.js @@ -0,0 +1,294 @@ +/** + * lodash (Custom Build) + * Build: `lodash modularize exports="npm" -o ./` + * Copyright jQuery Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ + +/** Used as the `TypeError` message for "Functions" methods. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0, + MAX_INTEGER = 1.7976931348623157e+308, + NAN = 0 / 0; + +/** `Object#toString` result references. */ +var symbolTag = '[object Symbol]'; + +/** Used to match leading and trailing whitespace. */ +var reTrim = /^\s+|\s+$/g; + +/** Used to detect bad signed hexadecimal string values. */ +var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + +/** Used to detect binary string values. */ +var reIsBinary = /^0b[01]+$/i; + +/** Used to detect octal string values. */ +var reIsOctal = /^0o[0-7]+$/i; + +/** Built-in method references without a dependency on `root`. */ +var freeParseInt = parseInt; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var objectToString = objectProto.toString; + +/** + * Creates a function that invokes `func`, with the `this` binding and arguments + * of the created function, while it's called less than `n` times. Subsequent + * calls to the created function return the result of the last `func` invocation. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {number} n The number of calls at which `func` is no longer invoked. + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * jQuery(element).on('click', _.before(5, addContactToList)); + * // => Allows adding up to 4 contacts to the list. + */ +function before(n, func) { + var result; + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + n = toInteger(n); + return function() { + if (--n > 0) { + result = func.apply(this, arguments); + } + if (n <= 1) { + func = undefined; + } + return result; + }; +} + +/** + * Creates a function that is restricted to invoking `func` once. Repeat calls + * to the function return the value of the first invocation. The `func` is + * invoked with the `this` binding and arguments of the created function. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var initialize = _.once(createApplication); + * initialize(); + * initialize(); + * // => `createApplication` is invoked once + */ +function once(func) { + return before(2, func); +} + +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value; + return !!value && (type == 'object' || type == 'function'); +} + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return !!value && typeof value == 'object'; +} + +/** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ +function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && objectToString.call(value) == symbolTag); +} + +/** + * Converts `value` to a finite number. + * + * @static + * @memberOf _ + * @since 4.12.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted number. + * @example + * + * _.toFinite(3.2); + * // => 3.2 + * + * _.toFinite(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toFinite(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toFinite('3.2'); + * // => 3.2 + */ +function toFinite(value) { + if (!value) { + return value === 0 ? value : 0; + } + value = toNumber(value); + if (value === INFINITY || value === -INFINITY) { + var sign = (value < 0 ? -1 : 1); + return sign * MAX_INTEGER; + } + return value === value ? value : 0; +} + +/** + * Converts `value` to an integer. + * + * **Note:** This method is loosely based on + * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toInteger(3.2); + * // => 3 + * + * _.toInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toInteger(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toInteger('3.2'); + * // => 3 + */ +function toInteger(value) { + var result = toFinite(value), + remainder = result % 1; + + return result === result ? (remainder ? result - remainder : result) : 0; +} + +/** + * Converts `value` to a number. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {number} Returns the number. + * @example + * + * _.toNumber(3.2); + * // => 3.2 + * + * _.toNumber(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toNumber(Infinity); + * // => Infinity + * + * _.toNumber('3.2'); + * // => 3.2 + */ +function toNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + if (isObject(value)) { + var other = typeof value.valueOf == 'function' ? value.valueOf() : value; + value = isObject(other) ? (other + '') : other; + } + if (typeof value != 'string') { + return value === 0 ? value : +value; + } + value = value.replace(reTrim, ''); + var isBinary = reIsBinary.test(value); + return (isBinary || reIsOctal.test(value)) + ? freeParseInt(value.slice(2), isBinary ? 2 : 8) + : (reIsBadHex.test(value) ? NAN : +value); +} + +module.exports = once; diff --git a/back/node_modules/lodash.once/package.json b/back/node_modules/lodash.once/package.json new file mode 100644 index 0000000..fae782c --- /dev/null +++ b/back/node_modules/lodash.once/package.json @@ -0,0 +1,17 @@ +{ + "name": "lodash.once", + "version": "4.1.1", + "description": "The lodash method `_.once` exported as a module.", + "homepage": "https://lodash.com/", + "icon": "https://lodash.com/icon.svg", + "license": "MIT", + "keywords": "lodash-modularized, once", + "author": "John-David Dalton (http://allyoucanleet.com/)", + "contributors": [ + "John-David Dalton (http://allyoucanleet.com/)", + "Blaine Bublitz (https://github.com/phated)", + "Mathias Bynens (https://mathiasbynens.be/)" + ], + "repository": "lodash/lodash", + "scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" } +} diff --git a/node_modules/math-intrinsics/.eslintrc b/back/node_modules/math-intrinsics/.eslintrc similarity index 100% rename from node_modules/math-intrinsics/.eslintrc rename to back/node_modules/math-intrinsics/.eslintrc diff --git a/node_modules/math-intrinsics/.github/FUNDING.yml b/back/node_modules/math-intrinsics/.github/FUNDING.yml similarity index 100% rename from node_modules/math-intrinsics/.github/FUNDING.yml rename to back/node_modules/math-intrinsics/.github/FUNDING.yml diff --git a/node_modules/math-intrinsics/CHANGELOG.md b/back/node_modules/math-intrinsics/CHANGELOG.md similarity index 100% rename from node_modules/math-intrinsics/CHANGELOG.md rename to back/node_modules/math-intrinsics/CHANGELOG.md diff --git a/node_modules/math-intrinsics/LICENSE b/back/node_modules/math-intrinsics/LICENSE similarity index 100% rename from node_modules/math-intrinsics/LICENSE rename to back/node_modules/math-intrinsics/LICENSE diff --git a/node_modules/math-intrinsics/README.md b/back/node_modules/math-intrinsics/README.md similarity index 100% rename from node_modules/math-intrinsics/README.md rename to back/node_modules/math-intrinsics/README.md diff --git a/node_modules/math-intrinsics/abs.d.ts b/back/node_modules/math-intrinsics/abs.d.ts similarity index 100% rename from node_modules/math-intrinsics/abs.d.ts rename to back/node_modules/math-intrinsics/abs.d.ts diff --git a/node_modules/math-intrinsics/abs.js b/back/node_modules/math-intrinsics/abs.js similarity index 100% rename from node_modules/math-intrinsics/abs.js rename to back/node_modules/math-intrinsics/abs.js diff --git a/node_modules/math-intrinsics/constants/maxArrayLength.d.ts b/back/node_modules/math-intrinsics/constants/maxArrayLength.d.ts similarity index 100% rename from node_modules/math-intrinsics/constants/maxArrayLength.d.ts rename to back/node_modules/math-intrinsics/constants/maxArrayLength.d.ts diff --git a/node_modules/math-intrinsics/constants/maxArrayLength.js b/back/node_modules/math-intrinsics/constants/maxArrayLength.js similarity index 100% rename from node_modules/math-intrinsics/constants/maxArrayLength.js rename to back/node_modules/math-intrinsics/constants/maxArrayLength.js diff --git a/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts b/back/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts similarity index 100% rename from node_modules/math-intrinsics/constants/maxSafeInteger.d.ts rename to back/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts diff --git a/node_modules/math-intrinsics/constants/maxSafeInteger.js b/back/node_modules/math-intrinsics/constants/maxSafeInteger.js similarity index 100% rename from node_modules/math-intrinsics/constants/maxSafeInteger.js rename to back/node_modules/math-intrinsics/constants/maxSafeInteger.js diff --git a/node_modules/math-intrinsics/constants/maxValue.d.ts b/back/node_modules/math-intrinsics/constants/maxValue.d.ts similarity index 100% rename from node_modules/math-intrinsics/constants/maxValue.d.ts rename to back/node_modules/math-intrinsics/constants/maxValue.d.ts diff --git a/node_modules/math-intrinsics/constants/maxValue.js b/back/node_modules/math-intrinsics/constants/maxValue.js similarity index 100% rename from node_modules/math-intrinsics/constants/maxValue.js rename to back/node_modules/math-intrinsics/constants/maxValue.js diff --git a/node_modules/math-intrinsics/floor.d.ts b/back/node_modules/math-intrinsics/floor.d.ts similarity index 100% rename from node_modules/math-intrinsics/floor.d.ts rename to back/node_modules/math-intrinsics/floor.d.ts diff --git a/node_modules/math-intrinsics/floor.js b/back/node_modules/math-intrinsics/floor.js similarity index 100% rename from node_modules/math-intrinsics/floor.js rename to back/node_modules/math-intrinsics/floor.js diff --git a/node_modules/math-intrinsics/isFinite.d.ts b/back/node_modules/math-intrinsics/isFinite.d.ts similarity index 100% rename from node_modules/math-intrinsics/isFinite.d.ts rename to back/node_modules/math-intrinsics/isFinite.d.ts diff --git a/node_modules/math-intrinsics/isFinite.js b/back/node_modules/math-intrinsics/isFinite.js similarity index 100% rename from node_modules/math-intrinsics/isFinite.js rename to back/node_modules/math-intrinsics/isFinite.js diff --git a/node_modules/math-intrinsics/isInteger.d.ts b/back/node_modules/math-intrinsics/isInteger.d.ts similarity index 100% rename from node_modules/math-intrinsics/isInteger.d.ts rename to back/node_modules/math-intrinsics/isInteger.d.ts diff --git a/node_modules/math-intrinsics/isInteger.js b/back/node_modules/math-intrinsics/isInteger.js similarity index 100% rename from node_modules/math-intrinsics/isInteger.js rename to back/node_modules/math-intrinsics/isInteger.js diff --git a/node_modules/math-intrinsics/isNaN.d.ts b/back/node_modules/math-intrinsics/isNaN.d.ts similarity index 100% rename from node_modules/math-intrinsics/isNaN.d.ts rename to back/node_modules/math-intrinsics/isNaN.d.ts diff --git a/node_modules/math-intrinsics/isNaN.js b/back/node_modules/math-intrinsics/isNaN.js similarity index 100% rename from node_modules/math-intrinsics/isNaN.js rename to back/node_modules/math-intrinsics/isNaN.js diff --git a/node_modules/math-intrinsics/isNegativeZero.d.ts b/back/node_modules/math-intrinsics/isNegativeZero.d.ts similarity index 100% rename from node_modules/math-intrinsics/isNegativeZero.d.ts rename to back/node_modules/math-intrinsics/isNegativeZero.d.ts diff --git a/node_modules/math-intrinsics/isNegativeZero.js b/back/node_modules/math-intrinsics/isNegativeZero.js similarity index 100% rename from node_modules/math-intrinsics/isNegativeZero.js rename to back/node_modules/math-intrinsics/isNegativeZero.js diff --git a/node_modules/math-intrinsics/max.d.ts b/back/node_modules/math-intrinsics/max.d.ts similarity index 100% rename from node_modules/math-intrinsics/max.d.ts rename to back/node_modules/math-intrinsics/max.d.ts diff --git a/node_modules/math-intrinsics/max.js b/back/node_modules/math-intrinsics/max.js similarity index 100% rename from node_modules/math-intrinsics/max.js rename to back/node_modules/math-intrinsics/max.js diff --git a/node_modules/math-intrinsics/min.d.ts b/back/node_modules/math-intrinsics/min.d.ts similarity index 100% rename from node_modules/math-intrinsics/min.d.ts rename to back/node_modules/math-intrinsics/min.d.ts diff --git a/node_modules/math-intrinsics/min.js b/back/node_modules/math-intrinsics/min.js similarity index 100% rename from node_modules/math-intrinsics/min.js rename to back/node_modules/math-intrinsics/min.js diff --git a/node_modules/math-intrinsics/mod.d.ts b/back/node_modules/math-intrinsics/mod.d.ts similarity index 100% rename from node_modules/math-intrinsics/mod.d.ts rename to back/node_modules/math-intrinsics/mod.d.ts diff --git a/node_modules/math-intrinsics/mod.js b/back/node_modules/math-intrinsics/mod.js similarity index 100% rename from node_modules/math-intrinsics/mod.js rename to back/node_modules/math-intrinsics/mod.js diff --git a/node_modules/math-intrinsics/package.json b/back/node_modules/math-intrinsics/package.json similarity index 100% rename from node_modules/math-intrinsics/package.json rename to back/node_modules/math-intrinsics/package.json diff --git a/node_modules/math-intrinsics/pow.d.ts b/back/node_modules/math-intrinsics/pow.d.ts similarity index 100% rename from node_modules/math-intrinsics/pow.d.ts rename to back/node_modules/math-intrinsics/pow.d.ts diff --git a/node_modules/math-intrinsics/pow.js b/back/node_modules/math-intrinsics/pow.js similarity index 100% rename from node_modules/math-intrinsics/pow.js rename to back/node_modules/math-intrinsics/pow.js diff --git a/node_modules/math-intrinsics/round.d.ts b/back/node_modules/math-intrinsics/round.d.ts similarity index 100% rename from node_modules/math-intrinsics/round.d.ts rename to back/node_modules/math-intrinsics/round.d.ts diff --git a/node_modules/math-intrinsics/round.js b/back/node_modules/math-intrinsics/round.js similarity index 100% rename from node_modules/math-intrinsics/round.js rename to back/node_modules/math-intrinsics/round.js diff --git a/node_modules/math-intrinsics/sign.d.ts b/back/node_modules/math-intrinsics/sign.d.ts similarity index 100% rename from node_modules/math-intrinsics/sign.d.ts rename to back/node_modules/math-intrinsics/sign.d.ts diff --git a/node_modules/math-intrinsics/sign.js b/back/node_modules/math-intrinsics/sign.js similarity index 100% rename from node_modules/math-intrinsics/sign.js rename to back/node_modules/math-intrinsics/sign.js diff --git a/node_modules/math-intrinsics/test/index.js b/back/node_modules/math-intrinsics/test/index.js similarity index 100% rename from node_modules/math-intrinsics/test/index.js rename to back/node_modules/math-intrinsics/test/index.js diff --git a/node_modules/math-intrinsics/tsconfig.json b/back/node_modules/math-intrinsics/tsconfig.json similarity index 100% rename from node_modules/math-intrinsics/tsconfig.json rename to back/node_modules/math-intrinsics/tsconfig.json diff --git a/node_modules/media-typer/HISTORY.md b/back/node_modules/media-typer/HISTORY.md similarity index 100% rename from node_modules/media-typer/HISTORY.md rename to back/node_modules/media-typer/HISTORY.md diff --git a/node_modules/media-typer/LICENSE b/back/node_modules/media-typer/LICENSE similarity index 100% rename from node_modules/media-typer/LICENSE rename to back/node_modules/media-typer/LICENSE diff --git a/node_modules/media-typer/README.md b/back/node_modules/media-typer/README.md similarity index 100% rename from node_modules/media-typer/README.md rename to back/node_modules/media-typer/README.md diff --git a/node_modules/media-typer/index.js b/back/node_modules/media-typer/index.js similarity index 100% rename from node_modules/media-typer/index.js rename to back/node_modules/media-typer/index.js diff --git a/node_modules/media-typer/package.json b/back/node_modules/media-typer/package.json similarity index 100% rename from node_modules/media-typer/package.json rename to back/node_modules/media-typer/package.json diff --git a/node_modules/merge-descriptors/index.d.ts b/back/node_modules/merge-descriptors/index.d.ts similarity index 100% rename from node_modules/merge-descriptors/index.d.ts rename to back/node_modules/merge-descriptors/index.d.ts diff --git a/node_modules/merge-descriptors/index.js b/back/node_modules/merge-descriptors/index.js similarity index 100% rename from node_modules/merge-descriptors/index.js rename to back/node_modules/merge-descriptors/index.js diff --git a/node_modules/merge-descriptors/license b/back/node_modules/merge-descriptors/license similarity index 100% rename from node_modules/merge-descriptors/license rename to back/node_modules/merge-descriptors/license diff --git a/node_modules/merge-descriptors/package.json b/back/node_modules/merge-descriptors/package.json similarity index 100% rename from node_modules/merge-descriptors/package.json rename to back/node_modules/merge-descriptors/package.json diff --git a/node_modules/merge-descriptors/readme.md b/back/node_modules/merge-descriptors/readme.md similarity index 100% rename from node_modules/merge-descriptors/readme.md rename to back/node_modules/merge-descriptors/readme.md diff --git a/node_modules/mime-db/HISTORY.md b/back/node_modules/mime-db/HISTORY.md similarity index 100% rename from node_modules/mime-db/HISTORY.md rename to back/node_modules/mime-db/HISTORY.md diff --git a/node_modules/mime-db/LICENSE b/back/node_modules/mime-db/LICENSE similarity index 100% rename from node_modules/mime-db/LICENSE rename to back/node_modules/mime-db/LICENSE diff --git a/node_modules/mime-db/README.md b/back/node_modules/mime-db/README.md similarity index 100% rename from node_modules/mime-db/README.md rename to back/node_modules/mime-db/README.md diff --git a/node_modules/mime-db/db.json b/back/node_modules/mime-db/db.json similarity index 100% rename from node_modules/mime-db/db.json rename to back/node_modules/mime-db/db.json diff --git a/node_modules/mime-db/index.js b/back/node_modules/mime-db/index.js similarity index 100% rename from node_modules/mime-db/index.js rename to back/node_modules/mime-db/index.js diff --git a/node_modules/mime-db/package.json b/back/node_modules/mime-db/package.json similarity index 100% rename from node_modules/mime-db/package.json rename to back/node_modules/mime-db/package.json diff --git a/node_modules/mime-types/HISTORY.md b/back/node_modules/mime-types/HISTORY.md similarity index 100% rename from node_modules/mime-types/HISTORY.md rename to back/node_modules/mime-types/HISTORY.md diff --git a/node_modules/mime-types/LICENSE b/back/node_modules/mime-types/LICENSE similarity index 100% rename from node_modules/mime-types/LICENSE rename to back/node_modules/mime-types/LICENSE diff --git a/node_modules/mime-types/README.md b/back/node_modules/mime-types/README.md similarity index 100% rename from node_modules/mime-types/README.md rename to back/node_modules/mime-types/README.md diff --git a/node_modules/mime-types/index.js b/back/node_modules/mime-types/index.js similarity index 100% rename from node_modules/mime-types/index.js rename to back/node_modules/mime-types/index.js diff --git a/node_modules/mime-types/mimeScore.js b/back/node_modules/mime-types/mimeScore.js similarity index 100% rename from node_modules/mime-types/mimeScore.js rename to back/node_modules/mime-types/mimeScore.js diff --git a/node_modules/mime-types/package.json b/back/node_modules/mime-types/package.json similarity index 100% rename from node_modules/mime-types/package.json rename to back/node_modules/mime-types/package.json diff --git a/node_modules/ms/index.js b/back/node_modules/ms/index.js similarity index 100% rename from node_modules/ms/index.js rename to back/node_modules/ms/index.js diff --git a/node_modules/ms/license.md b/back/node_modules/ms/license.md similarity index 100% rename from node_modules/ms/license.md rename to back/node_modules/ms/license.md diff --git a/node_modules/ms/package.json b/back/node_modules/ms/package.json similarity index 100% rename from node_modules/ms/package.json rename to back/node_modules/ms/package.json diff --git a/node_modules/ms/readme.md b/back/node_modules/ms/readme.md similarity index 100% rename from node_modules/ms/readme.md rename to back/node_modules/ms/readme.md diff --git a/node_modules/negotiator/HISTORY.md b/back/node_modules/negotiator/HISTORY.md similarity index 100% rename from node_modules/negotiator/HISTORY.md rename to back/node_modules/negotiator/HISTORY.md diff --git a/node_modules/negotiator/LICENSE b/back/node_modules/negotiator/LICENSE similarity index 100% rename from node_modules/negotiator/LICENSE rename to back/node_modules/negotiator/LICENSE diff --git a/node_modules/negotiator/README.md b/back/node_modules/negotiator/README.md similarity index 100% rename from node_modules/negotiator/README.md rename to back/node_modules/negotiator/README.md diff --git a/node_modules/negotiator/index.js b/back/node_modules/negotiator/index.js similarity index 90% rename from node_modules/negotiator/index.js rename to back/node_modules/negotiator/index.js index 4f51315..54a46d8 100644 --- a/node_modules/negotiator/index.js +++ b/back/node_modules/negotiator/index.js @@ -8,10 +8,10 @@ 'use strict'; -var preferredCharsets = require('./lib/charset') -var preferredEncodings = require('./lib/encoding') -var preferredLanguages = require('./lib/language') -var preferredMediaTypes = require('./lib/mediaType') +var preferredCharsets = require('negotiator/lib/charset') +var preferredEncodings = require('negotiator/lib/encoding') +var preferredLanguages = require('negotiator/lib/language') +var preferredMediaTypes = require('negotiator/lib/mediaType') /** * Module exports. diff --git a/node_modules/negotiator/lib/charset.js b/back/node_modules/negotiator/lib/charset.js similarity index 100% rename from node_modules/negotiator/lib/charset.js rename to back/node_modules/negotiator/lib/charset.js diff --git a/node_modules/negotiator/lib/encoding.js b/back/node_modules/negotiator/lib/encoding.js similarity index 100% rename from node_modules/negotiator/lib/encoding.js rename to back/node_modules/negotiator/lib/encoding.js diff --git a/node_modules/negotiator/lib/language.js b/back/node_modules/negotiator/lib/language.js similarity index 100% rename from node_modules/negotiator/lib/language.js rename to back/node_modules/negotiator/lib/language.js diff --git a/node_modules/negotiator/lib/mediaType.js b/back/node_modules/negotiator/lib/mediaType.js similarity index 100% rename from node_modules/negotiator/lib/mediaType.js rename to back/node_modules/negotiator/lib/mediaType.js diff --git a/node_modules/negotiator/package.json b/back/node_modules/negotiator/package.json similarity index 100% rename from node_modules/negotiator/package.json rename to back/node_modules/negotiator/package.json diff --git a/node_modules/object-inspect/.eslintrc b/back/node_modules/object-inspect/.eslintrc similarity index 100% rename from node_modules/object-inspect/.eslintrc rename to back/node_modules/object-inspect/.eslintrc diff --git a/node_modules/object-inspect/.github/FUNDING.yml b/back/node_modules/object-inspect/.github/FUNDING.yml similarity index 100% rename from node_modules/object-inspect/.github/FUNDING.yml rename to back/node_modules/object-inspect/.github/FUNDING.yml diff --git a/node_modules/object-inspect/.nycrc b/back/node_modules/object-inspect/.nycrc similarity index 100% rename from node_modules/object-inspect/.nycrc rename to back/node_modules/object-inspect/.nycrc diff --git a/node_modules/object-inspect/CHANGELOG.md b/back/node_modules/object-inspect/CHANGELOG.md similarity index 100% rename from node_modules/object-inspect/CHANGELOG.md rename to back/node_modules/object-inspect/CHANGELOG.md diff --git a/node_modules/object-inspect/LICENSE b/back/node_modules/object-inspect/LICENSE similarity index 100% rename from node_modules/object-inspect/LICENSE rename to back/node_modules/object-inspect/LICENSE diff --git a/node_modules/object-inspect/example/all.js b/back/node_modules/object-inspect/example/all.js similarity index 100% rename from node_modules/object-inspect/example/all.js rename to back/node_modules/object-inspect/example/all.js diff --git a/node_modules/object-inspect/example/circular.js b/back/node_modules/object-inspect/example/circular.js similarity index 100% rename from node_modules/object-inspect/example/circular.js rename to back/node_modules/object-inspect/example/circular.js diff --git a/node_modules/object-inspect/example/fn.js b/back/node_modules/object-inspect/example/fn.js similarity index 100% rename from node_modules/object-inspect/example/fn.js rename to back/node_modules/object-inspect/example/fn.js diff --git a/node_modules/object-inspect/example/inspect.js b/back/node_modules/object-inspect/example/inspect.js similarity index 100% rename from node_modules/object-inspect/example/inspect.js rename to back/node_modules/object-inspect/example/inspect.js diff --git a/node_modules/object-inspect/index.js b/back/node_modules/object-inspect/index.js similarity index 100% rename from node_modules/object-inspect/index.js rename to back/node_modules/object-inspect/index.js diff --git a/node_modules/object-inspect/package-support.json b/back/node_modules/object-inspect/package-support.json similarity index 100% rename from node_modules/object-inspect/package-support.json rename to back/node_modules/object-inspect/package-support.json diff --git a/node_modules/object-inspect/package.json b/back/node_modules/object-inspect/package.json similarity index 100% rename from node_modules/object-inspect/package.json rename to back/node_modules/object-inspect/package.json diff --git a/node_modules/object-inspect/readme.markdown b/back/node_modules/object-inspect/readme.markdown similarity index 100% rename from node_modules/object-inspect/readme.markdown rename to back/node_modules/object-inspect/readme.markdown diff --git a/node_modules/object-inspect/test-core-js.js b/back/node_modules/object-inspect/test-core-js.js similarity index 100% rename from node_modules/object-inspect/test-core-js.js rename to back/node_modules/object-inspect/test-core-js.js diff --git a/node_modules/object-inspect/test/bigint.js b/back/node_modules/object-inspect/test/bigint.js similarity index 100% rename from node_modules/object-inspect/test/bigint.js rename to back/node_modules/object-inspect/test/bigint.js diff --git a/node_modules/object-inspect/test/browser/dom.js b/back/node_modules/object-inspect/test/browser/dom.js similarity index 100% rename from node_modules/object-inspect/test/browser/dom.js rename to back/node_modules/object-inspect/test/browser/dom.js diff --git a/node_modules/object-inspect/test/circular.js b/back/node_modules/object-inspect/test/circular.js similarity index 100% rename from node_modules/object-inspect/test/circular.js rename to back/node_modules/object-inspect/test/circular.js diff --git a/node_modules/object-inspect/test/deep.js b/back/node_modules/object-inspect/test/deep.js similarity index 100% rename from node_modules/object-inspect/test/deep.js rename to back/node_modules/object-inspect/test/deep.js diff --git a/node_modules/object-inspect/test/element.js b/back/node_modules/object-inspect/test/element.js similarity index 100% rename from node_modules/object-inspect/test/element.js rename to back/node_modules/object-inspect/test/element.js diff --git a/node_modules/object-inspect/test/err.js b/back/node_modules/object-inspect/test/err.js similarity index 100% rename from node_modules/object-inspect/test/err.js rename to back/node_modules/object-inspect/test/err.js diff --git a/node_modules/object-inspect/test/fakes.js b/back/node_modules/object-inspect/test/fakes.js similarity index 100% rename from node_modules/object-inspect/test/fakes.js rename to back/node_modules/object-inspect/test/fakes.js diff --git a/node_modules/object-inspect/test/fn.js b/back/node_modules/object-inspect/test/fn.js similarity index 100% rename from node_modules/object-inspect/test/fn.js rename to back/node_modules/object-inspect/test/fn.js diff --git a/node_modules/object-inspect/test/global.js b/back/node_modules/object-inspect/test/global.js similarity index 100% rename from node_modules/object-inspect/test/global.js rename to back/node_modules/object-inspect/test/global.js diff --git a/node_modules/object-inspect/test/has.js b/back/node_modules/object-inspect/test/has.js similarity index 100% rename from node_modules/object-inspect/test/has.js rename to back/node_modules/object-inspect/test/has.js diff --git a/node_modules/object-inspect/test/holes.js b/back/node_modules/object-inspect/test/holes.js similarity index 100% rename from node_modules/object-inspect/test/holes.js rename to back/node_modules/object-inspect/test/holes.js diff --git a/node_modules/object-inspect/test/indent-option.js b/back/node_modules/object-inspect/test/indent-option.js similarity index 100% rename from node_modules/object-inspect/test/indent-option.js rename to back/node_modules/object-inspect/test/indent-option.js diff --git a/node_modules/object-inspect/test/inspect.js b/back/node_modules/object-inspect/test/inspect.js similarity index 100% rename from node_modules/object-inspect/test/inspect.js rename to back/node_modules/object-inspect/test/inspect.js diff --git a/node_modules/object-inspect/test/lowbyte.js b/back/node_modules/object-inspect/test/lowbyte.js similarity index 100% rename from node_modules/object-inspect/test/lowbyte.js rename to back/node_modules/object-inspect/test/lowbyte.js diff --git a/node_modules/object-inspect/test/number.js b/back/node_modules/object-inspect/test/number.js similarity index 100% rename from node_modules/object-inspect/test/number.js rename to back/node_modules/object-inspect/test/number.js diff --git a/node_modules/object-inspect/test/quoteStyle.js b/back/node_modules/object-inspect/test/quoteStyle.js similarity index 100% rename from node_modules/object-inspect/test/quoteStyle.js rename to back/node_modules/object-inspect/test/quoteStyle.js diff --git a/node_modules/object-inspect/test/toStringTag.js b/back/node_modules/object-inspect/test/toStringTag.js similarity index 100% rename from node_modules/object-inspect/test/toStringTag.js rename to back/node_modules/object-inspect/test/toStringTag.js diff --git a/node_modules/object-inspect/test/undef.js b/back/node_modules/object-inspect/test/undef.js similarity index 100% rename from node_modules/object-inspect/test/undef.js rename to back/node_modules/object-inspect/test/undef.js diff --git a/node_modules/object-inspect/test/values.js b/back/node_modules/object-inspect/test/values.js similarity index 100% rename from node_modules/object-inspect/test/values.js rename to back/node_modules/object-inspect/test/values.js diff --git a/node_modules/object-inspect/util.inspect.js b/back/node_modules/object-inspect/util.inspect.js similarity index 100% rename from node_modules/object-inspect/util.inspect.js rename to back/node_modules/object-inspect/util.inspect.js diff --git a/node_modules/on-finished/HISTORY.md b/back/node_modules/on-finished/HISTORY.md similarity index 100% rename from node_modules/on-finished/HISTORY.md rename to back/node_modules/on-finished/HISTORY.md diff --git a/node_modules/on-finished/LICENSE b/back/node_modules/on-finished/LICENSE similarity index 100% rename from node_modules/on-finished/LICENSE rename to back/node_modules/on-finished/LICENSE diff --git a/node_modules/on-finished/README.md b/back/node_modules/on-finished/README.md similarity index 100% rename from node_modules/on-finished/README.md rename to back/node_modules/on-finished/README.md diff --git a/node_modules/on-finished/index.js b/back/node_modules/on-finished/index.js similarity index 100% rename from node_modules/on-finished/index.js rename to back/node_modules/on-finished/index.js diff --git a/node_modules/on-finished/package.json b/back/node_modules/on-finished/package.json similarity index 100% rename from node_modules/on-finished/package.json rename to back/node_modules/on-finished/package.json diff --git a/node_modules/once/LICENSE b/back/node_modules/once/LICENSE similarity index 100% rename from node_modules/once/LICENSE rename to back/node_modules/once/LICENSE diff --git a/node_modules/once/README.md b/back/node_modules/once/README.md similarity index 100% rename from node_modules/once/README.md rename to back/node_modules/once/README.md diff --git a/node_modules/once/once.js b/back/node_modules/once/once.js similarity index 100% rename from node_modules/once/once.js rename to back/node_modules/once/once.js diff --git a/node_modules/once/package.json b/back/node_modules/once/package.json similarity index 100% rename from node_modules/once/package.json rename to back/node_modules/once/package.json diff --git a/node_modules/parseurl/HISTORY.md b/back/node_modules/parseurl/HISTORY.md similarity index 100% rename from node_modules/parseurl/HISTORY.md rename to back/node_modules/parseurl/HISTORY.md diff --git a/node_modules/parseurl/LICENSE b/back/node_modules/parseurl/LICENSE similarity index 100% rename from node_modules/parseurl/LICENSE rename to back/node_modules/parseurl/LICENSE diff --git a/node_modules/parseurl/README.md b/back/node_modules/parseurl/README.md similarity index 100% rename from node_modules/parseurl/README.md rename to back/node_modules/parseurl/README.md diff --git a/node_modules/parseurl/index.js b/back/node_modules/parseurl/index.js similarity index 100% rename from node_modules/parseurl/index.js rename to back/node_modules/parseurl/index.js diff --git a/node_modules/parseurl/package.json b/back/node_modules/parseurl/package.json similarity index 100% rename from node_modules/parseurl/package.json rename to back/node_modules/parseurl/package.json diff --git a/node_modules/path-to-regexp/LICENSE b/back/node_modules/path-to-regexp/LICENSE similarity index 100% rename from node_modules/path-to-regexp/LICENSE rename to back/node_modules/path-to-regexp/LICENSE diff --git a/node_modules/path-to-regexp/Readme.md b/back/node_modules/path-to-regexp/Readme.md similarity index 100% rename from node_modules/path-to-regexp/Readme.md rename to back/node_modules/path-to-regexp/Readme.md diff --git a/node_modules/path-to-regexp/dist/index.d.ts b/back/node_modules/path-to-regexp/dist/index.d.ts similarity index 100% rename from node_modules/path-to-regexp/dist/index.d.ts rename to back/node_modules/path-to-regexp/dist/index.d.ts diff --git a/node_modules/path-to-regexp/dist/index.js b/back/node_modules/path-to-regexp/dist/index.js similarity index 100% rename from node_modules/path-to-regexp/dist/index.js rename to back/node_modules/path-to-regexp/dist/index.js diff --git a/node_modules/path-to-regexp/dist/index.js.map b/back/node_modules/path-to-regexp/dist/index.js.map similarity index 100% rename from node_modules/path-to-regexp/dist/index.js.map rename to back/node_modules/path-to-regexp/dist/index.js.map diff --git a/node_modules/path-to-regexp/package.json b/back/node_modules/path-to-regexp/package.json similarity index 100% rename from node_modules/path-to-regexp/package.json rename to back/node_modules/path-to-regexp/package.json diff --git a/node_modules/proxy-addr/HISTORY.md b/back/node_modules/proxy-addr/HISTORY.md similarity index 100% rename from node_modules/proxy-addr/HISTORY.md rename to back/node_modules/proxy-addr/HISTORY.md diff --git a/node_modules/proxy-addr/LICENSE b/back/node_modules/proxy-addr/LICENSE similarity index 100% rename from node_modules/proxy-addr/LICENSE rename to back/node_modules/proxy-addr/LICENSE diff --git a/node_modules/proxy-addr/README.md b/back/node_modules/proxy-addr/README.md similarity index 100% rename from node_modules/proxy-addr/README.md rename to back/node_modules/proxy-addr/README.md diff --git a/node_modules/proxy-addr/index.js b/back/node_modules/proxy-addr/index.js similarity index 100% rename from node_modules/proxy-addr/index.js rename to back/node_modules/proxy-addr/index.js diff --git a/node_modules/proxy-addr/package.json b/back/node_modules/proxy-addr/package.json similarity index 100% rename from node_modules/proxy-addr/package.json rename to back/node_modules/proxy-addr/package.json diff --git a/node_modules/qs/.editorconfig b/back/node_modules/qs/.editorconfig similarity index 100% rename from node_modules/qs/.editorconfig rename to back/node_modules/qs/.editorconfig diff --git a/node_modules/qs/.github/FUNDING.yml b/back/node_modules/qs/.github/FUNDING.yml similarity index 100% rename from node_modules/qs/.github/FUNDING.yml rename to back/node_modules/qs/.github/FUNDING.yml diff --git a/node_modules/qs/.github/SECURITY.md b/back/node_modules/qs/.github/SECURITY.md similarity index 100% rename from node_modules/qs/.github/SECURITY.md rename to back/node_modules/qs/.github/SECURITY.md diff --git a/node_modules/qs/.github/THREAT_MODEL.md b/back/node_modules/qs/.github/THREAT_MODEL.md similarity index 100% rename from node_modules/qs/.github/THREAT_MODEL.md rename to back/node_modules/qs/.github/THREAT_MODEL.md diff --git a/node_modules/qs/.nycrc b/back/node_modules/qs/.nycrc similarity index 100% rename from node_modules/qs/.nycrc rename to back/node_modules/qs/.nycrc diff --git a/node_modules/qs/CHANGELOG.md b/back/node_modules/qs/CHANGELOG.md similarity index 100% rename from node_modules/qs/CHANGELOG.md rename to back/node_modules/qs/CHANGELOG.md diff --git a/node_modules/qs/LICENSE.md b/back/node_modules/qs/LICENSE.md similarity index 100% rename from node_modules/qs/LICENSE.md rename to back/node_modules/qs/LICENSE.md diff --git a/node_modules/qs/README.md b/back/node_modules/qs/README.md similarity index 100% rename from node_modules/qs/README.md rename to back/node_modules/qs/README.md diff --git a/node_modules/qs/dist/qs.js b/back/node_modules/qs/dist/qs.js similarity index 100% rename from node_modules/qs/dist/qs.js rename to back/node_modules/qs/dist/qs.js diff --git a/node_modules/qs/eslint.config.mjs b/back/node_modules/qs/eslint.config.mjs similarity index 100% rename from node_modules/qs/eslint.config.mjs rename to back/node_modules/qs/eslint.config.mjs diff --git a/node_modules/qs/lib/formats.js b/back/node_modules/qs/lib/formats.js similarity index 100% rename from node_modules/qs/lib/formats.js rename to back/node_modules/qs/lib/formats.js diff --git a/node_modules/qs/lib/index.js b/back/node_modules/qs/lib/index.js similarity index 100% rename from node_modules/qs/lib/index.js rename to back/node_modules/qs/lib/index.js diff --git a/node_modules/qs/lib/parse.js b/back/node_modules/qs/lib/parse.js similarity index 100% rename from node_modules/qs/lib/parse.js rename to back/node_modules/qs/lib/parse.js diff --git a/node_modules/qs/lib/stringify.js b/back/node_modules/qs/lib/stringify.js similarity index 100% rename from node_modules/qs/lib/stringify.js rename to back/node_modules/qs/lib/stringify.js diff --git a/node_modules/qs/lib/utils.js b/back/node_modules/qs/lib/utils.js similarity index 100% rename from node_modules/qs/lib/utils.js rename to back/node_modules/qs/lib/utils.js diff --git a/node_modules/qs/package.json b/back/node_modules/qs/package.json similarity index 100% rename from node_modules/qs/package.json rename to back/node_modules/qs/package.json diff --git a/node_modules/qs/test/empty-keys-cases.js b/back/node_modules/qs/test/empty-keys-cases.js similarity index 100% rename from node_modules/qs/test/empty-keys-cases.js rename to back/node_modules/qs/test/empty-keys-cases.js diff --git a/node_modules/qs/test/parse.js b/back/node_modules/qs/test/parse.js similarity index 100% rename from node_modules/qs/test/parse.js rename to back/node_modules/qs/test/parse.js diff --git a/node_modules/qs/test/stringify.js b/back/node_modules/qs/test/stringify.js similarity index 100% rename from node_modules/qs/test/stringify.js rename to back/node_modules/qs/test/stringify.js diff --git a/node_modules/qs/test/utils.js b/back/node_modules/qs/test/utils.js similarity index 100% rename from node_modules/qs/test/utils.js rename to back/node_modules/qs/test/utils.js diff --git a/node_modules/range-parser/HISTORY.md b/back/node_modules/range-parser/HISTORY.md similarity index 100% rename from node_modules/range-parser/HISTORY.md rename to back/node_modules/range-parser/HISTORY.md diff --git a/node_modules/range-parser/LICENSE b/back/node_modules/range-parser/LICENSE similarity index 100% rename from node_modules/range-parser/LICENSE rename to back/node_modules/range-parser/LICENSE diff --git a/node_modules/range-parser/README.md b/back/node_modules/range-parser/README.md similarity index 100% rename from node_modules/range-parser/README.md rename to back/node_modules/range-parser/README.md diff --git a/node_modules/range-parser/index.js b/back/node_modules/range-parser/index.js similarity index 100% rename from node_modules/range-parser/index.js rename to back/node_modules/range-parser/index.js diff --git a/node_modules/range-parser/package.json b/back/node_modules/range-parser/package.json similarity index 100% rename from node_modules/range-parser/package.json rename to back/node_modules/range-parser/package.json diff --git a/node_modules/raw-body/LICENSE b/back/node_modules/raw-body/LICENSE similarity index 100% rename from node_modules/raw-body/LICENSE rename to back/node_modules/raw-body/LICENSE diff --git a/node_modules/raw-body/README.md b/back/node_modules/raw-body/README.md similarity index 100% rename from node_modules/raw-body/README.md rename to back/node_modules/raw-body/README.md diff --git a/node_modules/raw-body/index.d.ts b/back/node_modules/raw-body/index.d.ts similarity index 100% rename from node_modules/raw-body/index.d.ts rename to back/node_modules/raw-body/index.d.ts diff --git a/node_modules/raw-body/index.js b/back/node_modules/raw-body/index.js similarity index 100% rename from node_modules/raw-body/index.js rename to back/node_modules/raw-body/index.js diff --git a/node_modules/raw-body/package.json b/back/node_modules/raw-body/package.json similarity index 100% rename from node_modules/raw-body/package.json rename to back/node_modules/raw-body/package.json diff --git a/back/node_modules/redis/README.md b/back/node_modules/redis/README.md new file mode 100644 index 0000000..ab6b470 --- /dev/null +++ b/back/node_modules/redis/README.md @@ -0,0 +1,330 @@ +# Node-Redis + +[![Tests](https://img.shields.io/github/actions/workflow/status/redis/node-redis/tests.yml?branch=master)](https://github.com/redis/node-redis/actions/workflows/tests.yml) +[![Coverage](https://codecov.io/gh/redis/node-redis/branch/master/graph/badge.svg?token=xcfqHhJC37)](https://codecov.io/gh/redis/node-redis) +[![License](https://img.shields.io/github/license/redis/node-redis.svg)](https://github.com/redis/node-redis/blob/master/LICENSE) + +[![Discord](https://img.shields.io/discord/697882427875393627.svg?style=social&logo=discord)](https://discord.gg/redis) +[![Twitch](https://img.shields.io/twitch/status/redisinc?style=social)](https://www.twitch.tv/redisinc) +[![YouTube](https://img.shields.io/youtube/channel/views/UCD78lHSwYqMlyetR0_P4Vig?style=social)](https://www.youtube.com/redisinc) +[![Twitter](https://img.shields.io/twitter/follow/redisinc?style=social)](https://twitter.com/redisinc) + +node-redis is a modern, high performance [Redis](https://redis.io) client for Node.js. + +## How do I Redis? + +[Learn for free at Redis University](https://university.redis.com/) + +[Build faster with the Redis Launchpad](https://launchpad.redis.com/) + +[Try the Redis Cloud](https://redis.com/try-free/) + +[Dive in developer tutorials](https://developer.redis.com/) + +[Join the Redis community](https://redis.com/community/) + +[Work at Redis](https://redis.com/company/careers/jobs/) + +## Installation + +Start a redis via docker: + +```bash +docker run -p 6379:6379 -d redis:8.0-rc1 +``` + +To install node-redis, simply: + +```bash +npm install redis +``` +> "redis" is the "whole in one" package that includes all the other packages. If you only need a subset of the commands, +> you can install the individual packages. See the list below. + +## Packages + +| Name | Description | +| ---------------------------------------------- | ------------------------------------------------------------------------------------------- | +| [`redis`](https://github.com/redis/node-redis/tree/master/packages/redis) | The client with all the ["redis-stack"](https://github.com/redis-stack/redis-stack) modules | +| [`@redis/client`](https://github.com/redis/node-redis/tree/master/packages/client) | The base clients (i.e `RedisClient`, `RedisCluster`, etc.) | +| [`@redis/bloom`](https://github.com/redis/node-redis/tree/master/packages/bloom) | [Redis Bloom](https://redis.io/docs/data-types/probabilistic/) commands | +| [`@redis/json`](https://github.com/redis/node-redis/tree/master/packages/json) | [Redis JSON](https://redis.io/docs/data-types/json/) commands | +| [`@redis/search`](https://github.com/redis/node-redis/tree/master/packages/search) | [RediSearch](https://redis.io/docs/interact/search-and-query/) commands | +| [`@redis/time-series`](https://github.com/redis/node-redis/tree/master/packages/time-series) | [Redis Time-Series](https://redis.io/docs/data-types/timeseries/) commands | +| [`@redis/entraid`](https://github.com/redis/node-redis/tree/master/packages/entraid) | Secure token-based authentication for Redis clients using Microsoft Entra ID | + +> Looking for a high-level library to handle object mapping? +> See [redis-om-node](https://github.com/redis/redis-om-node)! + + +## Usage + +### Basic Example + +```typescript +import { createClient } from "redis"; + +const client = await createClient() + .on("error", (err) => console.log("Redis Client Error", err)) + .connect(); + +await client.set("key", "value"); +const value = await client.get("key"); +client.destroy(); +``` + +The above code connects to localhost on port 6379. To connect to a different host or port, use a connection string in +the format `redis[s]://[[username][:password]@][host][:port][/db-number]`: + +```typescript +createClient({ + url: "redis://alice:foobared@awesome.redis.server:6380", +}); +``` + +You can also use discrete parameters, UNIX sockets, and even TLS to connect. Details can be found in +the [client configuration guide](https://github.com/redis/node-redis/blob/master/docs/client-configuration.md). + +To check if the the client is connected and ready to send commands, use `client.isReady` which returns a boolean. +`client.isOpen` is also available. This returns `true` when the client's underlying socket is open, and `false` when it +isn't (for example when the client is still connecting or reconnecting after a network error). + +### Redis Commands + +There is built-in support for all of the [out-of-the-box Redis commands](https://redis.io/commands). They are exposed +using the raw Redis command names (`HSET`, `HGETALL`, etc.) and a friendlier camel-cased version (`hSet`, `hGetAll`, +etc.): + +```typescript +// raw Redis commands +await client.HSET("key", "field", "value"); +await client.HGETALL("key"); + +// friendly JavaScript commands +await client.hSet("key", "field", "value"); +await client.hGetAll("key"); +``` + +Modifiers to commands are specified using a JavaScript object: + +```typescript +await client.set("key", "value", { + EX: 10, + NX: true, +}); +``` + +Replies will be transformed into useful data structures: + +```typescript +await client.hGetAll("key"); // { field1: 'value1', field2: 'value2' } +await client.hVals("key"); // ['value1', 'value2'] +``` + +`Buffer`s are supported as well: + +```typescript +const client = createClient().withTypeMapping({ + [RESP_TYPES.BLOB_STRING]: Buffer +}); + +await client.hSet("key", "field", Buffer.from("value")); // 'OK' +await client.hGet("key", "field"); // { field: } + +``` + +### Unsupported Redis Commands + +If you want to run commands and/or use arguments that Node Redis doesn't know about (yet!) use `.sendCommand()`: + +```typescript +await client.sendCommand(["SET", "key", "value", "NX"]); // 'OK' + +await client.sendCommand(["HGETALL", "key"]); // ['key1', 'field1', 'key2', 'field2'] +``` + +### Transactions (Multi/Exec) + +Start a [transaction](https://redis.io/topics/transactions) by calling `.multi()`, then chaining your commands. When +you're done, call `.exec()` and you'll get an array back with your results: + +```typescript +await client.set("another-key", "another-value"); + +const [setKeyReply, otherKeyValue] = await client + .multi() + .set("key", "value") + .get("another-key") + .exec(); // ['OK', 'another-value'] +``` + +You can also [watch](https://redis.io/topics/transactions#optimistic-locking-using-check-and-set) keys by calling +`.watch()`. Your transaction will abort if any of the watched keys change. + + +### Blocking Commands + +In v4, `RedisClient` had the ability to create a pool of connections using an "Isolation Pool" on top of the "main" +connection. However, there was no way to use the pool without a "main" connection: + +```javascript +const client = await createClient() + .on("error", (err) => console.error(err)) + .connect(); + +await client.ping(client.commandOptions({ isolated: true })); +``` + +In v5 we've extracted this pool logic into its own class—`RedisClientPool`: + +```javascript +const pool = await createClientPool() + .on("error", (err) => console.error(err)) + .connect(); + +await pool.ping(); +``` + + +### Pub/Sub + +See the [Pub/Sub overview](https://github.com/redis/node-redis/blob/master/docs/pub-sub.md). + +### Scan Iterator + +[`SCAN`](https://redis.io/commands/scan) results can be looped over +using [async iterators](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/asyncIterator): + +```typescript +for await (const key of client.scanIterator()) { + // use the key! + await client.get(key); +} +``` + +This works with `HSCAN`, `SSCAN`, and `ZSCAN` too: + +```typescript +for await (const { field, value } of client.hScanIterator("hash")) { +} +for await (const member of client.sScanIterator("set")) { +} +for await (const { score, value } of client.zScanIterator("sorted-set")) { +} +``` + +You can override the default options by providing a configuration object: + +```typescript +client.scanIterator({ + TYPE: "string", // `SCAN` only + MATCH: "patter*", + COUNT: 100, +}); +``` + +### Disconnecting + +The `QUIT` command has been deprecated in Redis 7.2 and should now also be considered deprecated in Node-Redis. Instead +of sending a `QUIT` command to the server, the client can simply close the network connection. + +`client.QUIT/quit()` is replaced by `client.close()`. and, to avoid confusion, `client.disconnect()` has been renamed to +`client.destroy()`. + +```typescript +client.destroy(); +``` +### Client Side Caching + +Node Redis v5 adds support for [Client Side Caching](https://redis.io/docs/manual/client-side-caching/), which enables clients to cache query results locally. The Redis server will notify the client when cached results are no longer valid. + +```typescript +// Enable client side caching with RESP3 +const client = createClient({ + RESP: 3, + clientSideCache: { + ttl: 0, // Time-to-live (0 = no expiration) + maxEntries: 0, // Maximum entries (0 = unlimited) + evictPolicy: "LRU" // Eviction policy: "LRU" or "FIFO" + } +}); +``` + +See the [V5 documentation](https://github.com/redis/node-redis/blob/master/docs/v5.md#client-side-caching) for more details and advanced usage. + +### Auto-Pipelining + +Node Redis will automatically pipeline requests that are made during the same "tick". + +```typescript +client.set("Tm9kZSBSZWRpcw==", "users:1"); +client.sAdd("users:1:tokens", "Tm9kZSBSZWRpcw=="); +``` + +Of course, if you don't do something with your Promises you're certain to +get [unhandled Promise exceptions](https://nodejs.org/api/process.html#process_event_unhandledrejection). To take +advantage of auto-pipelining and handle your Promises, use `Promise.all()`. + +```typescript +await Promise.all([ + client.set("Tm9kZSBSZWRpcw==", "users:1"), + client.sAdd("users:1:tokens", "Tm9kZSBSZWRpcw=="), +]); +``` + +### Programmability + +See the [Programmability overview](https://github.com/redis/node-redis/blob/master/docs/programmability.md). + +### Clustering + +Check out the [Clustering Guide](https://github.com/redis/node-redis/blob/master/docs/clustering.md) when using Node Redis to connect to a Redis Cluster. + +### Events + +The Node Redis client class is an Nodejs EventEmitter and it emits an event each time the network status changes: + +| Name | When | Listener arguments | +| ----------------------- | ---------------------------------------------------------------------------------- | --------------------------------------------------------- | +| `connect` | Initiating a connection to the server | _No arguments_ | +| `ready` | Client is ready to use | _No arguments_ | +| `end` | Connection has been closed (via `.disconnect()`) | _No arguments_ | +| `error` | An error has occurred—usually a network issue such as "Socket closed unexpectedly" | `(error: Error)` | +| `reconnecting` | Client is trying to reconnect to the server | _No arguments_ | +| `sharded-channel-moved` | See [here](https://github.com/redis/node-redis/blob/master/docs/pub-sub.md#sharded-channel-moved-event) | See [here](https://github.com/redis/node-redis/blob/master/docs/pub-sub.md#sharded-channel-moved-event) | + +> :warning: You **MUST** listen to `error` events. If a client doesn't have at least one `error` listener registered and +> an `error` occurs, that error will be thrown and the Node.js process will exit. See the [ > `EventEmitter` docs](https://nodejs.org/api/events.html#events_error_events) for more details. + +> The client will not emit [any other events](https://github.com/redis/node-redis/blob/master/docs/v3-to-v4.md#all-the-removed-events) beyond those listed above. + +## Supported Redis versions + +Node Redis is supported with the following versions of Redis: + +| Version | Supported | +| ------- | ------------------ | +| 8.0.z | :heavy_check_mark: | +| 7.4.z | :heavy_check_mark: | +| 7.2.z | :heavy_check_mark: | +| < 7.2 | :x: | + +> Node Redis should work with older versions of Redis, but it is not fully tested and we cannot offer support. + +## Migration + +- [From V3 to V4](https://github.com/redis/node-redis/blob/master/docs/v3-to-v4.md) +- [From V4 to V5](https://github.com/redis/node-redis/blob/master/docs/v4-to-v5.md) +- [V5](https://github.com/redis/node-redis/blob/master/docs/v5.md) + +## Contributing + +If you'd like to contribute, check out the [contributing guide](https://github.com/redis/node-redis/blob/master/CONTRIBUTING.md). + +Thank you to all the people who already contributed to Node Redis! + +[![Contributors](https://contrib.rocks/image?repo=redis/node-redis)](https://github.com/redis/node-redis/graphs/contributors) + +## License + +This repository is licensed under the "MIT" license. See [LICENSE](https://github.com/redis/node-redis/blob/master/LICENSE). diff --git a/back/node_modules/redis/dist/index.d.ts b/back/node_modules/redis/dist/index.d.ts new file mode 100644 index 0000000..0ebfc8a --- /dev/null +++ b/back/node_modules/redis/dist/index.d.ts @@ -0,0 +1,2330 @@ +/// +import { RedisModules, RedisFunctions, RedisScripts, RespVersions, TypeMapping, RedisClientOptions, RedisClientType as GenericRedisClientType, RedisClusterOptions, RedisClusterType as genericRedisClusterType, RedisSentinelOptions, RedisSentinelType as genericRedisSentinelType, RedisClientPoolType as GenericRedisClientPoolType, RedisPoolOptions } from '@redis/client'; +export * from '@redis/client'; +export * from '@redis/bloom'; +export * from '@redis/json'; +export * from '@redis/search'; +export * from '@redis/time-series'; +declare const modules: { + json: { + ARRAPPEND: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, path: import("@redis/client").RedisArgument, json: import("@redis/json").RedisJSON, ...jsons: import("@redis/json").RedisJSON[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + arrAppend: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, path: import("@redis/client").RedisArgument, json: import("@redis/json").RedisJSON, ...jsons: import("@redis/json").RedisJSON[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + ARRINDEX: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, path: import("@redis/client").RedisArgument, json: import("@redis/json").RedisJSON, options?: import("@redis/json/dist/lib/commands/ARRINDEX").JsonArrIndexOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + arrIndex: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, path: import("@redis/client").RedisArgument, json: import("@redis/json").RedisJSON, options?: import("@redis/json/dist/lib/commands/ARRINDEX").JsonArrIndexOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + ARRINSERT: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, path: import("@redis/client").RedisArgument, index: number, json: import("@redis/json").RedisJSON, ...jsons: import("@redis/json").RedisJSON[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + arrInsert: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, path: import("@redis/client").RedisArgument, index: number, json: import("@redis/json").RedisJSON, ...jsons: import("@redis/json").RedisJSON[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + ARRLEN: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/json/dist/lib/commands/ARRLEN").JsonArrLenOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + arrLen: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/json/dist/lib/commands/ARRLEN").JsonArrLenOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + ARRPOP: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/json/dist/lib/commands/ARRPOP").RedisArrPopOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>) => string | number | boolean | Date | import("@redis/client/dist/lib/RESP/types").NullReply | { + [key: string]: import("@redis/json").RedisJSON; + [key: number]: import("@redis/json").RedisJSON; + } | (import("@redis/json").RedisJSON | import("@redis/client/dist/lib/RESP/types").NullReply)[] | null; + }; + arrPop: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/json/dist/lib/commands/ARRPOP").RedisArrPopOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>) => string | number | boolean | Date | import("@redis/client/dist/lib/RESP/types").NullReply | (import("@redis/json").RedisJSON | import("@redis/client/dist/lib/RESP/types").NullReply)[] | { + [key: string]: import("@redis/json").RedisJSON; + [key: number]: import("@redis/json").RedisJSON; + } | null; + }; + ARRTRIM: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, path: import("@redis/client").RedisArgument, start: number, stop: number) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + arrTrim: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, path: import("@redis/client").RedisArgument, start: number, stop: number) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + CLEAR: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/json/dist/lib/commands/CLEAR").JsonClearOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + clear: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/json/dist/lib/commands/CLEAR").JsonClearOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + DEBUG_MEMORY: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/json/dist/lib/commands/DEBUG_MEMORY").JsonDebugMemoryOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + debugMemory: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/json/dist/lib/commands/DEBUG_MEMORY").JsonDebugMemoryOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + DEL: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/json/dist/lib/commands/DEL").JsonDelOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + del: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/json/dist/lib/commands/DEL").JsonDelOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + FORGET: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/json/dist/lib/commands/FORGET").JsonForgetOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + forget: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/json/dist/lib/commands/FORGET").JsonForgetOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + GET: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/json/dist/lib/commands/GET").JsonGetOptions | undefined) => void; + readonly transformReply: typeof import("@redis/json/dist/lib/commands").transformRedisJsonNullReply; + }; + get: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/json/dist/lib/commands/GET").JsonGetOptions | undefined) => void; + readonly transformReply: typeof import("@redis/json/dist/lib/commands").transformRedisJsonNullReply; + }; + MERGE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, path: import("@redis/client").RedisArgument, value: import("@redis/json").RedisJSON) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + merge: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, path: import("@redis/client").RedisArgument, value: import("@redis/json").RedisJSON) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + MGET: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, keys: import("@redis/client").RedisArgument[], path: import("@redis/client").RedisArgument) => void; + readonly transformReply: (this: void, reply: (import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply)[]) => (import("@redis/json").RedisJSON | import("@redis/client/dist/lib/RESP/types").NullReply)[]; + }; + mGet: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, keys: import("@redis/client").RedisArgument[], path: import("@redis/client").RedisArgument) => void; + readonly transformReply: (this: void, reply: (import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply)[]) => (import("@redis/json").RedisJSON | import("@redis/client/dist/lib/RESP/types").NullReply)[]; + }; + MSET: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, items: import("@redis/json/dist/lib/commands/MSET").JsonMSetItem[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + mSet: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, items: import("@redis/json/dist/lib/commands/MSET").JsonMSetItem[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + NUMINCRBY: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, path: import("@redis/client").RedisArgument, by: number) => void; + readonly transformReply: { + readonly 2: (reply: import("@redis/client/dist/lib/RESP/types").UnwrapReply>) => number | (number | null)[]; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").DoubleReply>; + }; + }; + numIncrBy: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, path: import("@redis/client").RedisArgument, by: number) => void; + readonly transformReply: { + readonly 2: (reply: import("@redis/client/dist/lib/RESP/types").UnwrapReply>) => number | (number | null)[]; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").DoubleReply>; + }; + }; + NUMMULTBY: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, path: import("@redis/client").RedisArgument, by: number) => void; + readonly transformReply: { + readonly 2: (reply: import("@redis/client/dist/lib/RESP/types").UnwrapReply>) => number | (number | null)[]; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").DoubleReply>; + }; + }; + numMultBy: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, path: import("@redis/client").RedisArgument, by: number) => void; + readonly transformReply: { + readonly 2: (reply: import("@redis/client/dist/lib/RESP/types").UnwrapReply>) => number | (number | null)[]; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").DoubleReply>; + }; + }; + OBJKEYS: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/json/dist/lib/commands/OBJKEYS").JsonObjKeysOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply> | import("@redis/client/dist/lib/RESP/types").ArrayReply>>; + }; + objKeys: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/json/dist/lib/commands/OBJKEYS").JsonObjKeysOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply> | import("@redis/client/dist/lib/RESP/types").ArrayReply>>; + }; + OBJLEN: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/json/dist/lib/commands/OBJLEN").JsonObjLenOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + objLen: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/json/dist/lib/commands/OBJLEN").JsonObjLenOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + SET: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, path: import("@redis/client").RedisArgument, json: import("@redis/json").RedisJSON, options?: import("@redis/json/dist/lib/commands/SET").JsonSetOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + set: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, path: import("@redis/client").RedisArgument, json: import("@redis/json").RedisJSON, options?: import("@redis/json/dist/lib/commands/SET").JsonSetOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + STRAPPEND: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, append: string, options?: import("@redis/json/dist/lib/commands/STRAPPEND").JsonStrAppendOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + strAppend: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, append: string, options?: import("@redis/json/dist/lib/commands/STRAPPEND").JsonStrAppendOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + STRLEN: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/json/dist/lib/commands/STRLEN").JsonStrLenOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + strLen: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/json/dist/lib/commands/STRLEN").JsonStrLenOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + TOGGLE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, path: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + toggle: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, path: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").NumberReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + TYPE: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/json/dist/lib/commands/TYPE").JsonTypeOptions | undefined) => void; + readonly transformReply: { + readonly 2: () => import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>; + readonly 3: (reply: (import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>)[]) => import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + type: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/json/dist/lib/commands/TYPE").JsonTypeOptions | undefined) => void; + readonly transformReply: { + readonly 2: () => import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>; + readonly 3: (reply: (import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>)[]) => import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + }; + ft: { + _LIST: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser) => void; + readonly transformReply: { + readonly 2: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").SetReply>; + }; + }; + _list: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser) => void; + readonly transformReply: { + readonly 2: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").SetReply>; + }; + }; + ALTER: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, schema: import("@redis/search").RediSearchSchema) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + alter: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, schema: import("@redis/search").RediSearchSchema) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + AGGREGATE_WITHCURSOR: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: import("@redis/search/dist/lib/commands/AGGREGATE_WITHCURSOR").FtAggregateWithCursorOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [result: [total: import("@redis/client/dist/lib/RESP/types").UnwrapReply>, ...results: import("@redis/client/dist/lib/RESP/types").ArrayReply>[]], cursor: import("@redis/client/dist/lib/RESP/types").NumberReply]) => import("@redis/search/dist/lib/commands/AGGREGATE_WITHCURSOR").AggregateWithCursorReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + aggregateWithCursor: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: import("@redis/search/dist/lib/commands/AGGREGATE_WITHCURSOR").FtAggregateWithCursorOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [result: [total: import("@redis/client/dist/lib/RESP/types").UnwrapReply>, ...results: import("@redis/client/dist/lib/RESP/types").ArrayReply>[]], cursor: import("@redis/client/dist/lib/RESP/types").NumberReply]) => import("@redis/search/dist/lib/commands/AGGREGATE_WITHCURSOR").AggregateWithCursorReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + AGGREGATE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: import("@redis/search/dist/lib/commands/AGGREGATE").FtAggregateOptions | undefined) => void; + readonly transformReply: { + readonly 2: (rawReply: [total: import("@redis/client/dist/lib/RESP/types").UnwrapReply>, ...results: import("@redis/client/dist/lib/RESP/types").ArrayReply>[]], preserve?: any, typeMapping?: TypeMapping | undefined) => import("@redis/search/dist/lib/commands/AGGREGATE").AggregateReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + aggregate: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: import("@redis/search/dist/lib/commands/AGGREGATE").FtAggregateOptions | undefined) => void; + readonly transformReply: { + readonly 2: (rawReply: [total: import("@redis/client/dist/lib/RESP/types").UnwrapReply>, ...results: import("@redis/client/dist/lib/RESP/types").ArrayReply>[]], preserve?: any, typeMapping?: TypeMapping | undefined) => import("@redis/search/dist/lib/commands/AGGREGATE").AggregateReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + ALIASADD: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, alias: import("@redis/client").RedisArgument, index: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + aliasAdd: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, alias: import("@redis/client").RedisArgument, index: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + ALIASDEL: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, alias: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + aliasDel: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, alias: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + ALIASUPDATE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, alias: import("@redis/client").RedisArgument, index: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + aliasUpdate: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, alias: import("@redis/client").RedisArgument, index: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + CONFIG_GET: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, option: string) => void; + readonly transformReply: (this: void, reply: import("@redis/client/dist/lib/RESP/types").TuplesReply<[import("@redis/client/dist/lib/RESP/types").BlobStringReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply]>[]) => Record>; + }; + configGet: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, option: string) => void; + readonly transformReply: (this: void, reply: import("@redis/client/dist/lib/RESP/types").TuplesReply<[import("@redis/client/dist/lib/RESP/types").BlobStringReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply]>[]) => Record>; + }; + CONFIG_SET: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, property: Buffer | (string & {}) | "a" | "b", value: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + configSet: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, property: Buffer | (string & {}) | "a" | "b", value: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + CREATE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, schema: import("@redis/search").RediSearchSchema, options?: import("@redis/search/dist/lib/commands/CREATE").CreateOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + create: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, schema: import("@redis/search").RediSearchSchema, options?: import("@redis/search/dist/lib/commands/CREATE").CreateOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + CURSOR_DEL: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, cursorId: import("@redis/client/dist/lib/RESP/types").UnwrapReply>) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + cursorDel: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, cursorId: import("@redis/client/dist/lib/RESP/types").UnwrapReply>) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + CURSOR_READ: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, cursor: import("@redis/client/dist/lib/RESP/types").UnwrapReply>, options?: import("@redis/search/dist/lib/commands/CURSOR_READ").FtCursorReadOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [result: [total: import("@redis/client/dist/lib/RESP/types").UnwrapReply>, ...results: import("@redis/client/dist/lib/RESP/types").ArrayReply>[]], cursor: import("@redis/client/dist/lib/RESP/types").NumberReply]) => import("@redis/search/dist/lib/commands/AGGREGATE_WITHCURSOR").AggregateWithCursorReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + cursorRead: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, cursor: import("@redis/client/dist/lib/RESP/types").UnwrapReply>, options?: import("@redis/search/dist/lib/commands/CURSOR_READ").FtCursorReadOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [result: [total: import("@redis/client/dist/lib/RESP/types").UnwrapReply>, ...results: import("@redis/client/dist/lib/RESP/types").ArrayReply>[]], cursor: import("@redis/client/dist/lib/RESP/types").NumberReply]) => import("@redis/search/dist/lib/commands/AGGREGATE_WITHCURSOR").AggregateWithCursorReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + DICTADD: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, dictionary: import("@redis/client").RedisArgument, term: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + dictAdd: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, dictionary: import("@redis/client").RedisArgument, term: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + DICTDEL: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, dictionary: import("@redis/client").RedisArgument, term: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + dictDel: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, dictionary: import("@redis/client").RedisArgument, term: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + DICTDUMP: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, dictionary: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").SetReply>; + }; + }; + dictDump: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, dictionary: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").SetReply>; + }; + }; + DROPINDEX: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, options?: import("@redis/search/dist/lib/commands/DROPINDEX").FtDropIndexOptions | undefined) => void; + readonly transformReply: { + readonly 2: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + }; + dropIndex: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, options?: import("@redis/search/dist/lib/commands/DROPINDEX").FtDropIndexOptions | undefined) => void; + readonly transformReply: { + readonly 2: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + }; + EXPLAIN: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: import("@redis/search/dist/lib/commands/EXPLAIN").FtExplainOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply; + }; + explain: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: import("@redis/search/dist/lib/commands/EXPLAIN").FtExplainOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply; + }; + EXPLAINCLI: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: import("@redis/search/dist/lib/commands/EXPLAINCLI").FtExplainCLIOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + explainCli: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: import("@redis/search/dist/lib/commands/EXPLAINCLI").FtExplainCLIOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + HYBRID: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, options: import("@redis/search/dist/lib/commands/HYBRID").FtHybridOptions) => void; + readonly transformReply: { + readonly 2: (reply: any) => import("@redis/search/dist/lib/commands/HYBRID").HybridSearchResult; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + hybrid: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, options: import("@redis/search/dist/lib/commands/HYBRID").FtHybridOptions) => void; + readonly transformReply: { + readonly 2: (reply: any) => import("@redis/search/dist/lib/commands/HYBRID").HybridSearchResult; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + INFO: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: any[], preserve?: any, typeMapping?: TypeMapping | undefined) => import("@redis/search/dist/lib/commands/INFO").InfoReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + info: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: any[], preserve?: any, typeMapping?: TypeMapping | undefined) => import("@redis/search/dist/lib/commands/INFO").InfoReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + PROFILESEARCH: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: (import("@redis/search/dist/lib/commands/PROFILE_SEARCH").ProfileOptions & import("@redis/search").FtSearchOptions) | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [import("@redis/search/dist/lib/commands/SEARCH").SearchRawReply, import("@redis/client/dist/lib/RESP/types").ArrayReply]) => import("@redis/search/dist/lib/commands/PROFILE_SEARCH").ProfileReplyResp2; + readonly 3: (reply: import("@redis/client/dist/lib/RESP/types").ReplyUnion) => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + profileSearch: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: (import("@redis/search/dist/lib/commands/PROFILE_SEARCH").ProfileOptions & import("@redis/search").FtSearchOptions) | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [import("@redis/search/dist/lib/commands/SEARCH").SearchRawReply, import("@redis/client/dist/lib/RESP/types").ArrayReply]) => import("@redis/search/dist/lib/commands/PROFILE_SEARCH").ProfileReplyResp2; + readonly 3: (reply: import("@redis/client/dist/lib/RESP/types").ReplyUnion) => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + PROFILEAGGREGATE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: string, query: string, options?: (import("@redis/search/dist/lib/commands/PROFILE_SEARCH").ProfileOptions & import("@redis/search/dist/lib/commands/AGGREGATE").FtAggregateOptions) | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [[total: import("@redis/client/dist/lib/RESP/types").UnwrapReply>, ...results: import("@redis/client/dist/lib/RESP/types").ArrayReply>[]], import("@redis/client/dist/lib/RESP/types").ArrayReply]) => import("@redis/search/dist/lib/commands/PROFILE_SEARCH").ProfileReplyResp2; + readonly 3: (reply: import("@redis/client/dist/lib/RESP/types").ReplyUnion) => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + profileAggregate: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: string, query: string, options?: (import("@redis/search/dist/lib/commands/PROFILE_SEARCH").ProfileOptions & import("@redis/search/dist/lib/commands/AGGREGATE").FtAggregateOptions) | undefined) => void; + readonly transformReply: { + readonly 2: (reply: [[total: import("@redis/client/dist/lib/RESP/types").UnwrapReply>, ...results: import("@redis/client/dist/lib/RESP/types").ArrayReply>[]], import("@redis/client/dist/lib/RESP/types").ArrayReply]) => import("@redis/search/dist/lib/commands/PROFILE_SEARCH").ProfileReplyResp2; + readonly 3: (reply: import("@redis/client/dist/lib/RESP/types").ReplyUnion) => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + SEARCH_NOCONTENT: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: import("@redis/search").FtSearchOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("@redis/search/dist/lib/commands/SEARCH").SearchRawReply) => import("@redis/search/dist/lib/commands/SEARCH_NOCONTENT").SearchNoContentReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + searchNoContent: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: import("@redis/search").FtSearchOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("@redis/search/dist/lib/commands/SEARCH").SearchRawReply) => import("@redis/search/dist/lib/commands/SEARCH_NOCONTENT").SearchNoContentReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + SEARCH: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: import("@redis/search").FtSearchOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("@redis/search/dist/lib/commands/SEARCH").SearchRawReply) => import("@redis/search").SearchReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + search: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: import("@redis/search").FtSearchOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("@redis/search/dist/lib/commands/SEARCH").SearchRawReply) => import("@redis/search").SearchReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + SPELLCHECK: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: import("@redis/search/dist/lib/commands/SPELLCHECK").FtSpellCheckOptions | undefined) => void; + readonly transformReply: { + readonly 2: (rawReply: [_: string, term: string, suggestions: [score: string, suggestion: string][]][]) => { + term: string; + suggestions: { + score: number; + suggestion: string; + }[]; + }[]; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + spellCheck: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, query: import("@redis/client").RedisArgument, options?: import("@redis/search/dist/lib/commands/SPELLCHECK").FtSpellCheckOptions | undefined) => void; + readonly transformReply: { + readonly 2: (rawReply: [_: string, term: string, suggestions: [score: string, suggestion: string][]][]) => { + term: string; + suggestions: { + score: number; + suggestion: string; + }[]; + }[]; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + SUGADD: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, string: import("@redis/client").RedisArgument, score: number, options?: import("@redis/search/dist/lib/commands/SUGADD").FtSugAddOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + sugAdd: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, string: import("@redis/client").RedisArgument, score: number, options?: import("@redis/search/dist/lib/commands/SUGADD").FtSugAddOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + SUGDEL: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, string: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>; + }; + sugDel: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, string: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>; + }; + SUGGET_WITHPAYLOADS: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, prefix: import("@redis/client").RedisArgument, options?: import("@redis/search/dist/lib/commands/SUGGET").FtSugGetOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply[]) => { + suggestion: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + payload: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + }[] | null; + }; + sugGetWithPayloads: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, prefix: import("@redis/client").RedisArgument, options?: import("@redis/search/dist/lib/commands/SUGGET").FtSugGetOptions | undefined) => void; + readonly transformReply: (this: void, reply: import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply[]) => { + suggestion: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + payload: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + }[] | null; + }; + SUGGET_WITHSCORES_WITHPAYLOADS: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, prefix: import("@redis/client").RedisArgument, options?: import("@redis/search/dist/lib/commands/SUGGET").FtSugGetOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: TypeMapping | undefined) => { + suggestion: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + score: import("@redis/client/dist/lib/RESP/types").DoubleReply; + payload: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + }[] | null; + readonly 3: (reply: import("@redis/client/dist/lib/RESP/types").NullReply | (import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").DoubleReply)[]) => { + suggestion: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + score: import("@redis/client/dist/lib/RESP/types").DoubleReply; + payload: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + }[] | null; + }; + }; + sugGetWithScoresWithPayloads: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, prefix: import("@redis/client").RedisArgument, options?: import("@redis/search/dist/lib/commands/SUGGET").FtSugGetOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: TypeMapping | undefined) => { + suggestion: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + score: import("@redis/client/dist/lib/RESP/types").DoubleReply; + payload: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + }[] | null; + readonly 3: (reply: import("@redis/client/dist/lib/RESP/types").NullReply | (import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").DoubleReply)[]) => { + suggestion: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + score: import("@redis/client/dist/lib/RESP/types").DoubleReply; + payload: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + }[] | null; + }; + }; + SUGGET_WITHSCORES: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, prefix: import("@redis/client").RedisArgument, options?: import("@redis/search/dist/lib/commands/SUGGET").FtSugGetOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: TypeMapping | undefined) => { + suggestion: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + score: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[] | null; + readonly 3: (reply: (import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").DoubleReply)[]) => { + suggestion: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + score: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[] | null; + }; + }; + sugGetWithScores: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, prefix: import("@redis/client").RedisArgument, options?: import("@redis/search/dist/lib/commands/SUGGET").FtSugGetOptions | undefined) => void; + readonly transformReply: { + readonly 2: (reply: import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: TypeMapping | undefined) => { + suggestion: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + score: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[] | null; + readonly 3: (reply: (import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").DoubleReply)[]) => { + suggestion: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + score: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[] | null; + }; + }; + SUGGET: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, prefix: import("@redis/client").RedisArgument, options?: import("@redis/search/dist/lib/commands/SUGGET").FtSugGetOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + sugGet: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, prefix: import("@redis/client").RedisArgument, options?: import("@redis/search/dist/lib/commands/SUGGET").FtSugGetOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + SUGLEN: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + sugLen: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + SYNDUMP: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: (import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>)[]) => Record>>; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").ArrayReply>>; + }; + }; + synDump: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: (import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").ArrayReply>)[]) => Record>>; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").ArrayReply>>; + }; + }; + SYNUPDATE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, groupId: import("@redis/client").RedisArgument, terms: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("@redis/search/dist/lib/commands/SYNUPDATE").FtSynUpdateOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + synUpdate: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, groupId: import("@redis/client").RedisArgument, terms: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("@redis/search/dist/lib/commands/SYNUPDATE").FtSynUpdateOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + TAGVALS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, fieldName: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").SetReply>; + }; + }; + tagVals: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, index: import("@redis/client").RedisArgument, fieldName: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").SetReply>; + }; + }; + }; + ts: { + readonly ADD: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, timestamp: import("@redis/time-series/dist/lib/commands").Timestamp, value: number, options?: import("@redis/time-series/dist/lib/commands/ADD").TsAddOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + readonly add: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, timestamp: import("@redis/time-series/dist/lib/commands").Timestamp, value: number, options?: import("@redis/time-series/dist/lib/commands/ADD").TsAddOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + readonly ALTER: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/time-series/dist/lib/commands/ALTER").TsAlterOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly alter: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/time-series/dist/lib/commands/ALTER").TsAlterOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly CREATE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/time-series/dist/lib/commands/CREATE").TsCreateOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly create: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/time-series/dist/lib/commands/CREATE").TsCreateOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly CREATERULE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, sourceKey: import("@redis/client").RedisArgument, destinationKey: import("@redis/client").RedisArgument, aggregationType: import("@redis/time-series").TimeSeriesAggregationType, bucketDuration: number, alignTimestamp?: number | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly createRule: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, sourceKey: import("@redis/client").RedisArgument, destinationKey: import("@redis/client").RedisArgument, aggregationType: import("@redis/time-series").TimeSeriesAggregationType, bucketDuration: number, alignTimestamp?: number | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly DECRBY: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, value: number, options?: import("@redis/time-series/dist/lib/commands/INCRBY").TsIncrByOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + readonly decrBy: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, value: number, options?: import("@redis/time-series/dist/lib/commands/INCRBY").TsIncrByOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + readonly DEL: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + readonly del: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + readonly DELETERULE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, sourceKey: import("@redis/client").RedisArgument, destinationKey: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly deleteRule: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, sourceKey: import("@redis/client").RedisArgument, destinationKey: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly GET: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/time-series/dist/lib/commands/GET").TsGetOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/client/dist/lib/RESP/types").UnwrapReply | import("@redis/client/dist/lib/RESP/types").RespType<42, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply], never, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply]>>) => { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + } | null; + readonly 3: (this: void, reply: import("@redis/client/dist/lib/RESP/types").UnwrapReply) => { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + } | null; + }; + }; + readonly get: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/time-series/dist/lib/commands/GET").TsGetOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/client/dist/lib/RESP/types").UnwrapReply | import("@redis/client/dist/lib/RESP/types").RespType<42, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply], never, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply]>>) => { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + } | null; + readonly 3: (this: void, reply: import("@redis/client/dist/lib/RESP/types").UnwrapReply) => { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + } | null; + }; + }; + readonly INCRBY: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, value: number, options?: import("@redis/time-series/dist/lib/commands/INCRBY").TsIncrByOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + readonly incrBy: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, value: number, options?: import("@redis/time-series/dist/lib/commands/INCRBY").TsIncrByOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + readonly INFO_DEBUG: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: string) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [...import("@redis/time-series/dist/lib/commands/INFO").InfoRawReplyTypes[], "keySelfName", import("@redis/client/dist/lib/RESP/types").BlobStringReply, "Chunks", ["startTimestamp", import("@redis/client/dist/lib/RESP/types").NumberReply, "endTimestamp", import("@redis/client/dist/lib/RESP/types").NumberReply, "samples", import("@redis/client/dist/lib/RESP/types").NumberReply, "size", import("@redis/client/dist/lib/RESP/types").NumberReply, "bytesPerSample", import("@redis/client/dist/lib/RESP/types").SimpleStringReply][]], _: any, typeMapping?: TypeMapping | undefined) => import("@redis/time-series/dist/lib/commands/INFO_DEBUG").InfoDebugReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + readonly infoDebug: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: string) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [...import("@redis/time-series/dist/lib/commands/INFO").InfoRawReplyTypes[], "keySelfName", import("@redis/client/dist/lib/RESP/types").BlobStringReply, "Chunks", ["startTimestamp", import("@redis/client/dist/lib/RESP/types").NumberReply, "endTimestamp", import("@redis/client/dist/lib/RESP/types").NumberReply, "samples", import("@redis/client/dist/lib/RESP/types").NumberReply, "size", import("@redis/client/dist/lib/RESP/types").NumberReply, "bytesPerSample", import("@redis/client/dist/lib/RESP/types").SimpleStringReply][]], _: any, typeMapping?: TypeMapping | undefined) => import("@redis/time-series/dist/lib/commands/INFO_DEBUG").InfoDebugReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + readonly INFO: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: string) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/time-series/dist/lib/commands/INFO").InfoRawReply, _: any, typeMapping?: TypeMapping | undefined) => import("@redis/time-series/dist/lib/commands/INFO").InfoReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + readonly info: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: string) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/time-series/dist/lib/commands/INFO").InfoRawReply, _: any, typeMapping?: TypeMapping | undefined) => import("@redis/time-series/dist/lib/commands/INFO").InfoReply; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").ReplyUnion; + }; + readonly unstableResp3: true; + }; + readonly MADD: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, toAdd: import("@redis/time-series/dist/lib/commands/MADD").TsMAddSample[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").SimpleErrorReply>; + }; + readonly mAdd: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, toAdd: import("@redis/time-series/dist/lib/commands/MADD").TsMAddSample[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply | import("@redis/client/dist/lib/RESP/types").SimpleErrorReply>; + }; + readonly MGET_SELECTED_LABELS: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, selectedLabels: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("@redis/time-series/dist/lib/commands/MGET").TsMGetOptions | undefined) => void; + readonly transformReply: { + 2(this: void, reply: import("@redis/time-series/dist/lib/commands/MGET_WITHLABELS").MGetLabelsRawReply2>, _: any, typeMapping?: TypeMapping | undefined): import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }; + }>; + 3(this: void, reply: import("@redis/time-series/dist/lib/commands/MGET_WITHLABELS").MGetLabelsRawReply3>): import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }>; + }; + }; + readonly mGetSelectedLabels: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, selectedLabels: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("@redis/time-series/dist/lib/commands/MGET").TsMGetOptions | undefined) => void; + readonly transformReply: { + 2(this: void, reply: import("@redis/time-series/dist/lib/commands/MGET_WITHLABELS").MGetLabelsRawReply2>, _: any, typeMapping?: TypeMapping | undefined): import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }; + }>; + 3(this: void, reply: import("@redis/time-series/dist/lib/commands/MGET_WITHLABELS").MGetLabelsRawReply3>): import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }>; + }; + }; + readonly MGET_WITHLABELS: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("@redis/time-series/dist/lib/commands/MGET_WITHLABELS").TsMGetWithLabelsOptions | undefined) => void; + readonly transformReply: { + 2(this: void, reply: import("@redis/time-series/dist/lib/commands/MGET_WITHLABELS").MGetLabelsRawReply2>, _: any, typeMapping?: TypeMapping | undefined): import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }; + }>; + 3(this: void, reply: import("@redis/time-series/dist/lib/commands/MGET_WITHLABELS").MGetLabelsRawReply3>): import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }>; + }; + }; + readonly mGetWithLabels: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("@redis/time-series/dist/lib/commands/MGET_WITHLABELS").TsMGetWithLabelsOptions | undefined) => void; + readonly transformReply: { + 2(this: void, reply: import("@redis/time-series/dist/lib/commands/MGET_WITHLABELS").MGetLabelsRawReply2>, _: any, typeMapping?: TypeMapping | undefined): import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }; + }>; + 3(this: void, reply: import("@redis/time-series/dist/lib/commands/MGET_WITHLABELS").MGetLabelsRawReply3>): import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }>; + }; + }; + readonly MGET: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("@redis/time-series/dist/lib/commands/MGET").TsMGetOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/time-series/dist/lib/commands/MGET").MGetRawReply2, _: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }; + }>; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands/MGET").MGetRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }>; + }; + }; + readonly mGet: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("@redis/time-series/dist/lib/commands/MGET").TsMGetOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/time-series/dist/lib/commands/MGET").MGetRawReply2, _: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }; + }>; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands/MGET").MGetRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + sample: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }>; + }; + }; + readonly MRANGE_GROUPBY: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("@redis/time-series/dist/lib/commands/MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("@redis/time-series/dist/lib/commands/RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_GROUPBY").TsMRangeGroupByRawReply2, _?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_GROUPBY").TsMRangeGroupByRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + sources: import("@redis/client/dist/lib/RESP/types").ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly mRangeGroupBy: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("@redis/time-series/dist/lib/commands/MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("@redis/time-series/dist/lib/commands/RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_GROUPBY").TsMRangeGroupByRawReply2, _?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_GROUPBY").TsMRangeGroupByRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + sources: import("@redis/client/dist/lib/RESP/types").ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly MRANGE_SELECTED_LABELS_GROUPBY: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, selectedLabels: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("@redis/time-series/dist/lib/commands/MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("@redis/time-series/dist/lib/commands/RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply2, _?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS_GROUPBY").TsMRangeWithLabelsGroupByRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sources: import("@redis/client/dist/lib/RESP/types").ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly mRangeSelectedLabelsGroupBy: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, selectedLabels: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("@redis/time-series/dist/lib/commands/MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("@redis/time-series/dist/lib/commands/RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply2, _?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS_GROUPBY").TsMRangeWithLabelsGroupByRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sources: import("@redis/client/dist/lib/RESP/types").ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly MRANGE_SELECTED_LABELS: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, selectedLabels: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("@redis/time-series/dist/lib/commands/RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply2, _?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: never; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly mRangeSelectedLabels: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, selectedLabels: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("@redis/time-series/dist/lib/commands/RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply2, _?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: never; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly MRANGE_WITHLABELS_GROUPBY: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("@redis/time-series/dist/lib/commands/MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("@redis/time-series/dist/lib/commands/RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS_GROUPBY").TsMRangeWithLabelsGroupByRawReply2, _?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sources: string[] | Buffer[]; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS_GROUPBY").TsMRangeWithLabelsGroupByRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sources: import("@redis/client/dist/lib/RESP/types").ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly mRangeWithLabelsGroupBy: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("@redis/time-series/dist/lib/commands/MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("@redis/time-series/dist/lib/commands/RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS_GROUPBY").TsMRangeWithLabelsGroupByRawReply2, _?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sources: string[] | Buffer[]; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS_GROUPBY").TsMRangeWithLabelsGroupByRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sources: import("@redis/client/dist/lib/RESP/types").ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly MRANGE_WITHLABELS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("@redis/time-series/dist/lib/commands/RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS").TsMRangeWithLabelsRawReply2, _?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: Record>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS").TsMRangeWithLabelsRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly mRangeWithLabels: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("@redis/time-series/dist/lib/commands/RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS").TsMRangeWithLabelsRawReply2, _?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: Record>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS").TsMRangeWithLabelsRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly MRANGE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("@redis/time-series/dist/lib/commands/RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE").TsMRangeRawReply2, _?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]>; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE").TsMRangeRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]>; + }; + }; + readonly mRange: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("@redis/time-series/dist/lib/commands/RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE").TsMRangeRawReply2, _?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]>; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE").TsMRangeRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]>; + }; + }; + readonly MREVRANGE_GROUPBY: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("@redis/time-series/dist/lib/commands/MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("@redis/time-series/dist/lib/commands/RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_GROUPBY").TsMRangeGroupByRawReply2, _?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_GROUPBY").TsMRangeGroupByRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + sources: import("@redis/client/dist/lib/RESP/types").ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly mRevRangeGroupBy: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("@redis/time-series/dist/lib/commands/MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("@redis/time-series/dist/lib/commands/RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_GROUPBY").TsMRangeGroupByRawReply2, _?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_GROUPBY").TsMRangeGroupByRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + sources: import("@redis/client/dist/lib/RESP/types").ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly MREVRANGE_SELECTED_LABELS_GROUPBY: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, selectedLabels: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("@redis/time-series/dist/lib/commands/MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("@redis/time-series/dist/lib/commands/RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply2, _?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS_GROUPBY").TsMRangeWithLabelsGroupByRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sources: import("@redis/client/dist/lib/RESP/types").ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly mRevRangeSelectedLabelsGroupBy: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, selectedLabels: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("@redis/time-series/dist/lib/commands/MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("@redis/time-series/dist/lib/commands/RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply2, _?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS_GROUPBY").TsMRangeWithLabelsGroupByRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sources: import("@redis/client/dist/lib/RESP/types").ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly MREVRANGE_SELECTED_LABELS: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, selectedLabels: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("@redis/time-series/dist/lib/commands/RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply2, _?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: never; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly mRevRangeSelectedLabels: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, selectedLabels: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("@redis/time-series/dist/lib/commands/RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply2, _?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: never; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly MREVRANGE_WITHLABELS_GROUPBY: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("@redis/time-series/dist/lib/commands/MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("@redis/time-series/dist/lib/commands/RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS_GROUPBY").TsMRangeWithLabelsGroupByRawReply2, _?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sources: string[] | Buffer[]; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS_GROUPBY").TsMRangeWithLabelsGroupByRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sources: import("@redis/client/dist/lib/RESP/types").ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly mRevRangeWithLabelsGroupBy: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("@redis/time-series/dist/lib/commands/MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("@redis/time-series/dist/lib/commands/RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS_GROUPBY").TsMRangeWithLabelsGroupByRawReply2, _?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sources: string[] | Buffer[]; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS_GROUPBY").TsMRangeWithLabelsGroupByRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + sources: import("@redis/client/dist/lib/RESP/types").ArrayReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly MREVRANGE_WITHLABELS: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("@redis/time-series/dist/lib/commands/RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS").TsMRangeWithLabelsRawReply2, _?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: Record>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS").TsMRangeWithLabelsRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly mRevRangeWithLabels: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("@redis/time-series/dist/lib/commands/RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS").TsMRangeWithLabelsRawReply2, _?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: Record>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + }>; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE_WITHLABELS").TsMRangeWithLabelsRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + labels: import("@redis/client/dist/lib/RESP/types").MapReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply>; + samples: { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }>; + }; + }; + readonly MREVRANGE: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("@redis/time-series/dist/lib/commands/RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE").TsMRangeRawReply2, _?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]>; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE").TsMRangeRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]>; + }; + }; + readonly mRevRange: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("@redis/time-series/dist/lib/commands/RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE").TsMRangeRawReply2, _?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply, { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]>; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands/MRANGE").TsMRangeRawReply3) => import("@redis/client/dist/lib/RESP/types").MapReply, { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]>; + }; + }; + readonly QUERYINDEX: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + readonly 2: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").SetReply>; + }; + }; + readonly queryIndex: { + readonly NOT_KEYED_COMMAND: true; + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + readonly 2: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + readonly 3: () => import("@redis/client/dist/lib/RESP/types").SetReply>; + }; + }; + readonly RANGE: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, options?: import("@redis/time-series/dist/lib/commands/RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/client/dist/lib/RESP/types").RespType<42, import("@redis/client/dist/lib/RESP/types").RespType<42, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply], never, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply]>[], never, import("@redis/client/dist/lib/RESP/types").RespType<42, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply], never, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply]>[]>) => { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands").SamplesRawReply) => { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }; + }; + readonly range: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, options?: import("@redis/time-series/dist/lib/commands/RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/client/dist/lib/RESP/types").RespType<42, import("@redis/client/dist/lib/RESP/types").RespType<42, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply], never, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply]>[], never, import("@redis/client/dist/lib/RESP/types").RespType<42, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply], never, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply]>[]>) => { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands").SamplesRawReply) => { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }; + }; + readonly REVRANGE: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, options?: import("@redis/time-series/dist/lib/commands/RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/client/dist/lib/RESP/types").RespType<42, import("@redis/client/dist/lib/RESP/types").RespType<42, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply], never, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply]>[], never, import("@redis/client/dist/lib/RESP/types").RespType<42, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply], never, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply]>[]>) => { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands").SamplesRawReply) => { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }; + }; + readonly revRange: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, fromTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, toTimestamp: import("@redis/time-series/dist/lib/commands").Timestamp, options?: import("@redis/time-series/dist/lib/commands/RANGE").TsRangeOptions | undefined) => void; + readonly transformReply: { + readonly 2: (this: void, reply: import("@redis/client/dist/lib/RESP/types").RespType<42, import("@redis/client/dist/lib/RESP/types").RespType<42, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply], never, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply]>[], never, import("@redis/client/dist/lib/RESP/types").RespType<42, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply], never, [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply]>[]>) => { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: number; + }[]; + readonly 3: (this: void, reply: import("@redis/time-series/dist/lib/commands").SamplesRawReply) => { + timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply; + value: import("@redis/client/dist/lib/RESP/types").DoubleReply; + }[]; + }; + }; + }; + bf: { + readonly ADD: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, item: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly add: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, item: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly CARD: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + readonly card: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + readonly EXISTS: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, item: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly exists: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, item: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly INFO: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Capacity">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Size">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of filters">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of items inserted">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Expansion rate">, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").NumberReply], _: any, typeMapping?: TypeMapping | undefined) => import("@redis/bloom/dist/lib/commands/bloom/INFO").BfInfoReplyMap; + readonly 3: () => import("@redis/bloom/dist/lib/commands/bloom/INFO").BfInfoReplyMap; + }; + }; + readonly info: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Capacity">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Size">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of filters">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of items inserted">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Expansion rate">, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").NumberReply], _: any, typeMapping?: TypeMapping | undefined) => import("@redis/bloom/dist/lib/commands/bloom/INFO").BfInfoReplyMap; + readonly 3: () => import("@redis/bloom/dist/lib/commands/bloom/INFO").BfInfoReplyMap; + }; + }; + readonly INSERT: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("@redis/bloom/dist/lib/commands/bloom/INSERT").BfInsertOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly insert: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("@redis/bloom/dist/lib/commands/bloom/INSERT").BfInsertOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly LOADCHUNK: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, iterator: number, chunk: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly loadChunk: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, iterator: number, chunk: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly MADD: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly mAdd: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly MEXISTS: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly mExists: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly RESERVE: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, errorRate: number, capacity: number, options?: import("@redis/bloom/dist/lib/commands/bloom/RESERVE").BfReserveOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly reserve: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, errorRate: number, capacity: number, options?: import("@redis/bloom/dist/lib/commands/bloom/RESERVE").BfReserveOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly SCANDUMP: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, iterator: number) => void; + readonly transformReply: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply]) => { + iterator: import("@redis/client/dist/lib/RESP/types").NumberReply; + chunk: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + }; + }; + readonly scanDump: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, iterator: number) => void; + readonly transformReply: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").BlobStringReply]) => { + iterator: import("@redis/client/dist/lib/RESP/types").NumberReply; + chunk: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + }; + }; + }; + cms: { + readonly INCRBY: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/bloom/dist/lib/commands/count-min-sketch/INCRBY").BfIncrByItem | import("@redis/bloom/dist/lib/commands/count-min-sketch/INCRBY").BfIncrByItem[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly incrBy: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/bloom/dist/lib/commands/count-min-sketch/INCRBY").BfIncrByItem | import("@redis/bloom/dist/lib/commands/count-min-sketch/INCRBY").BfIncrByItem[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly INFO: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"width">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"depth">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"count">, import("@redis/client/dist/lib/RESP/types").NumberReply], _: any, typeMapping?: TypeMapping | undefined) => import("@redis/bloom/dist/lib/commands/count-min-sketch/INFO").CmsInfoReply; + readonly 3: () => import("@redis/bloom/dist/lib/commands/count-min-sketch/INFO").CmsInfoReply; + }; + }; + readonly info: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"width">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"depth">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"count">, import("@redis/client/dist/lib/RESP/types").NumberReply], _: any, typeMapping?: TypeMapping | undefined) => import("@redis/bloom/dist/lib/commands/count-min-sketch/INFO").CmsInfoReply; + readonly 3: () => import("@redis/bloom/dist/lib/commands/count-min-sketch/INFO").CmsInfoReply; + }; + }; + readonly INITBYDIM: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, width: number, depth: number) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly initByDim: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, width: number, depth: number) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly INITBYPROB: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, error: number, probability: number) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly initByProb: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, error: number, probability: number) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly MERGE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, destination: import("@redis/client").RedisArgument, source: import("@redis/bloom/dist/lib/commands/count-min-sketch/MERGE").BfMergeSketches) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly merge: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, destination: import("@redis/client").RedisArgument, source: import("@redis/bloom/dist/lib/commands/count-min-sketch/MERGE").BfMergeSketches) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly QUERY: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly query: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + cf: { + readonly ADD: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, item: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly add: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, item: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly ADDNX: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, item: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly addNX: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, item: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly COUNT: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, item: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + readonly count: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, item: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply; + }; + readonly DEL: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, item: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly del: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, item: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly EXISTS: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, item: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly exists: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, item: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").NumberReply<0 | 1>) => boolean; + 3: () => import("@redis/client/dist/lib/RESP/types").BooleanReply; + }; + }; + readonly INFO: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Size">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of buckets">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of filters">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of items inserted">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of items deleted">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Bucket size">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Expansion rate">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Max iterations">, import("@redis/client/dist/lib/RESP/types").NumberReply], _: any, typeMapping?: TypeMapping | undefined) => import("@redis/bloom/dist/lib/commands/cuckoo/INFO").CfInfoReplyMap; + readonly 3: () => import("@redis/bloom/dist/lib/commands/cuckoo/INFO").CfInfoReplyMap; + }; + }; + readonly info: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Size">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of buckets">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of filters">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of items inserted">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Number of items deleted">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Bucket size">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Expansion rate">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Max iterations">, import("@redis/client/dist/lib/RESP/types").NumberReply], _: any, typeMapping?: TypeMapping | undefined) => import("@redis/bloom/dist/lib/commands/cuckoo/INFO").CfInfoReplyMap; + readonly 3: () => import("@redis/bloom/dist/lib/commands/cuckoo/INFO").CfInfoReplyMap; + }; + }; + readonly INSERT: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("@redis/bloom/dist/lib/commands/cuckoo/INSERT").CfInsertOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly insert: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("@redis/bloom/dist/lib/commands/cuckoo/INSERT").CfInsertOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly INSERTNX: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("@redis/bloom/dist/lib/commands/cuckoo/INSERT").CfInsertOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly insertNX: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("@redis/bloom/dist/lib/commands/cuckoo/INSERT").CfInsertOptions | undefined) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly LOADCHUNK: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, iterator: number, chunk: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly loadChunk: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, iterator: number, chunk: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly RESERVE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, capacity: number, options?: import("@redis/bloom/dist/lib/commands/cuckoo/RESERVE").CfReserveOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly reserve: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, capacity: number, options?: import("@redis/bloom/dist/lib/commands/cuckoo/RESERVE").CfReserveOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly SCANDUMP: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, iterator: number) => void; + readonly transformReply: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply]) => { + iterator: import("@redis/client/dist/lib/RESP/types").NumberReply; + chunk: import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply; + }; + }; + readonly scanDump: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, iterator: number) => void; + readonly transformReply: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply]) => { + iterator: import("@redis/client/dist/lib/RESP/types").NumberReply; + chunk: import("@redis/client/dist/lib/RESP/types").NullReply | import("@redis/client/dist/lib/RESP/types").BlobStringReply; + }; + }; + }; + tDigest: { + readonly ADD: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, values: number[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly add: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, values: number[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly BYRANK: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, ranks: number[]) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly byRank: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, ranks: number[]) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly BYREVRANK: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, ranks: number[]) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly byRevRank: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, ranks: number[]) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly CDF: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, values: number[]) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly cdf: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, values: number[]) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly CREATE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/bloom/dist/lib/commands/t-digest/CREATE").TDigestCreateOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly create: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, options?: import("@redis/bloom/dist/lib/commands/t-digest/CREATE").TDigestCreateOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly INFO: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Compression">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Capacity">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Merged nodes">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Unmerged nodes">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Merged weight">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Unmerged weight">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Observations">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Total compressions">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Memory usage">, import("@redis/client/dist/lib/RESP/types").NumberReply], _: any, typeMapping?: TypeMapping | undefined) => import("@redis/bloom/dist/lib/commands/t-digest/INFO").TdInfoReplyMap; + readonly 3: () => import("@redis/bloom/dist/lib/commands/t-digest/INFO").TdInfoReplyMap; + }; + }; + readonly info: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: (this: void, reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Compression">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Capacity">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Merged nodes">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Unmerged nodes">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Merged weight">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Unmerged weight">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Observations">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Total compressions">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"Memory usage">, import("@redis/client/dist/lib/RESP/types").NumberReply], _: any, typeMapping?: TypeMapping | undefined) => import("@redis/bloom/dist/lib/commands/t-digest/INFO").TdInfoReplyMap; + readonly 3: () => import("@redis/bloom/dist/lib/commands/t-digest/INFO").TdInfoReplyMap; + }; + }; + readonly MAX: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply, preserve?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply; + 3: () => import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }; + readonly max: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply, preserve?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply; + 3: () => import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }; + readonly MERGE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, destination: import("@redis/client").RedisArgument, source: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("@redis/bloom/dist/lib/commands/t-digest/MERGE").TDigestMergeOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly merge: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, destination: import("@redis/client").RedisArgument, source: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("@redis/bloom/dist/lib/commands/t-digest/MERGE").TDigestMergeOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly MIN: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply, preserve?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply; + 3: () => import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }; + readonly min: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply, preserve?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply; + 3: () => import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }; + readonly QUANTILE: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, quantiles: number[]) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly quantile: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, quantiles: number[]) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply[], preserve?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly RANK: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, values: number[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly rank: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, values: number[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly RESET: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly reset: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly REVRANK: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, values: number[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly revRank: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, values: number[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly TRIMMED_MEAN: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, lowCutPercentile: number, highCutPercentile: number) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply, preserve?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply; + 3: () => import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }; + readonly trimmedMean: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, lowCutPercentile: number, highCutPercentile: number) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").BlobStringReply, preserve?: any, typeMapping?: TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").DoubleReply; + 3: () => import("@redis/client/dist/lib/RESP/types").DoubleReply; + }; + }; + }; + topK: { + readonly ADD: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly add: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly COUNT: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly count: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly INCRBY: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/bloom/dist/lib/commands/top-k/INCRBY").TopKIncrByItem | import("@redis/bloom/dist/lib/commands/top-k/INCRBY").TopKIncrByItem[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly incrBy: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/bloom/dist/lib/commands/top-k/INCRBY").TopKIncrByItem | import("@redis/bloom/dist/lib/commands/top-k/INCRBY").TopKIncrByItem[]) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly INFO: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"k">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"width">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"depth">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"decay">, import("@redis/client/dist/lib/RESP/types").BlobStringReply], preserve?: any, typeMapping?: TypeMapping | undefined) => import("@redis/bloom/dist/lib/commands/top-k/INFO").TopKInfoReplyMap; + readonly 3: () => import("@redis/bloom/dist/lib/commands/top-k/INFO").TopKInfoReplyMap; + }; + }; + readonly info: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: { + readonly 2: (reply: [import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"k">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"width">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"depth">, import("@redis/client/dist/lib/RESP/types").NumberReply, import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"decay">, import("@redis/client/dist/lib/RESP/types").BlobStringReply], preserve?: any, typeMapping?: TypeMapping | undefined) => import("@redis/bloom/dist/lib/commands/top-k/INFO").TopKInfoReplyMap; + readonly 3: () => import("@redis/bloom/dist/lib/commands/top-k/INFO").TopKInfoReplyMap; + }; + }; + readonly LIST_WITHCOUNT: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: (this: void, rawReply: (import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").NumberReply)[]) => { + item: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + count: import("@redis/client/dist/lib/RESP/types").NumberReply; + }[]; + }; + readonly listWithCount: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: (this: void, rawReply: (import("@redis/client/dist/lib/RESP/types").BlobStringReply | import("@redis/client/dist/lib/RESP/types").NumberReply)[]) => { + item: import("@redis/client/dist/lib/RESP/types").BlobStringReply; + count: import("@redis/client/dist/lib/RESP/types").NumberReply; + }[]; + }; + readonly LIST: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly list: { + readonly IS_READ_ONLY: true; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + readonly QUERY: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly query: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, items: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument) => void; + readonly transformReply: { + 2: (reply: import("@redis/client/dist/lib/RESP/types").ArrayReply>) => boolean[]; + 3: () => import("@redis/client/dist/lib/RESP/types").ArrayReply>; + }; + }; + readonly RESERVE: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, topK: number, options?: import("@redis/bloom/dist/lib/commands/top-k/RESERVE").TopKReserveOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + readonly reserve: { + readonly IS_READ_ONLY: false; + readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client").RedisArgument, topK: number, options?: import("@redis/bloom/dist/lib/commands/top-k/RESERVE").TopKReserveOptions | undefined) => void; + readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").SimpleStringReply<"OK">; + }; + }; +}; +export type RedisDefaultModules = typeof modules; +export type RedisClientType = GenericRedisClientType; +export declare function createClient(options?: RedisClientOptions): GenericRedisClientType; +export declare function createClientPool(clientOptions?: Omit, "clientSideCache">, options?: Partial): GenericRedisClientPoolType; +export type RedisClusterType = genericRedisClusterType; +export declare function createCluster(options: RedisClusterOptions): RedisClusterType; +export type RedisSentinelType = genericRedisSentinelType; +export declare function createSentinel(options: RedisSentinelOptions): RedisSentinelType; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/back/node_modules/redis/dist/index.d.ts.map b/back/node_modules/redis/dist/index.d.ts.map new file mode 100644 index 0000000..0c5c9a2 --- /dev/null +++ b/back/node_modules/redis/dist/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,WAAW,EAEX,kBAAkB,EAClB,eAAe,IAAI,sBAAsB,EAEzC,mBAAmB,EACnB,gBAAgB,IAAI,uBAAuB,EAC3C,oBAAoB,EACpB,iBAAiB,IAAI,wBAAwB,EAG7C,mBAAmB,IAAI,0BAA0B,EACjD,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAMvB,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AAEnC,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"} \ No newline at end of file diff --git a/back/node_modules/redis/dist/index.js b/back/node_modules/redis/dist/index.js new file mode 100644 index 0000000..af0bb84 --- /dev/null +++ b/back/node_modules/redis/dist/index.js @@ -0,0 +1,77 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createSentinel = exports.createCluster = exports.createClientPool = exports.createClient = void 0; +const client_1 = require("@redis/client"); +const bloom_1 = __importDefault(require("@redis/bloom")); +const json_1 = __importDefault(require("@redis/json")); +const search_1 = __importDefault(require("@redis/search")); +const time_series_1 = __importDefault(require("@redis/time-series")); +__exportStar(require("@redis/client"), exports); +__exportStar(require("@redis/bloom"), exports); +__exportStar(require("@redis/json"), exports); +__exportStar(require("@redis/search"), exports); +__exportStar(require("@redis/time-series"), exports); +const modules = { + ...bloom_1.default, + json: json_1.default, + ft: search_1.default, + ts: time_series_1.default +}; +function createClient(options) { + return (0, client_1.createClient)({ + ...options, + modules: { + ...modules, + ...options?.modules + } + }); +} +exports.createClient = createClient; +function createClientPool(clientOptions, options) { + return (0, client_1.createClientPool)({ + ...clientOptions, + modules: { + ...modules, + ...clientOptions?.modules + } + }, options); +} +exports.createClientPool = createClientPool; +function createCluster(options) { + return (0, client_1.createCluster)({ + ...options, + modules: { + ...modules, + ...options?.modules + } + }); +} +exports.createCluster = createCluster; +function createSentinel(options) { + return (0, client_1.createSentinel)({ + ...options, + modules: { + ...modules, + ...options?.modules + } + }); +} +exports.createSentinel = createSentinel; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/back/node_modules/redis/dist/index.js.map b/back/node_modules/redis/dist/index.js.map new file mode 100644 index 0000000..f1f3e0b --- /dev/null +++ b/back/node_modules/redis/dist/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,0CAkBuB;AACvB,yDAA6C;AAC7C,uDAAoC;AACpC,2DAAuC;AACvC,qEAAiD;AAEjD,gDAA8B;AAC9B,+CAA6B;AAC7B,8CAA4B;AAC5B,gDAA8B;AAC9B,qDAAmC;AAEnC,MAAM,OAAO,GAAG;IACd,GAAG,eAAiB;IACpB,IAAI,EAAE,cAAS;IACf,EAAE,EAAE,gBAAU;IACd,EAAE,EAAE,qBAAe;CACpB,CAAC;AAYF,SAAgB,YAAY,CAO1B,OAAyD;IAEzD,OAAO,IAAA,qBAAmB,EAAC;QACzB,GAAG,OAAO;QACV,OAAO,EAAE;YACP,GAAG,OAAO;YACV,GAAI,OAAO,EAAE,OAAa;SAC3B;KACF,CAAC,CAAC;AACL,CAAC;AAhBD,oCAgBC;AAED,SAAgB,gBAAgB,CAM9B,aAAwF,EACxF,OAAmC;IACnC,OAAO,IAAA,yBAAuB,EAAC;QAC7B,GAAG,aAAa;QAChB,OAAO,EAAE;YACP,GAAG,OAAO;YACV,GAAI,aAAa,EAAE,OAAa;SACjC;KACF,EAAE,OAAO,CAAC,CAAC;AACd,CAAC;AAfD,4CAeC;AAUD,SAAgB,aAAa,CAO3B,OAAyD;IAEzD,OAAO,IAAA,sBAAoB,EAAC;QAC1B,GAAG,OAAO;QACV,OAAO,EAAE;YACP,GAAG,OAAO;YACV,GAAI,OAAO,EAAE,OAAa;SAC3B;KACF,CAAC,CAAC;AACL,CAAC;AAhBD,sCAgBC;AAUD,SAAgB,cAAc,CAO5B,OAA0D;IAE1D,OAAO,IAAA,uBAAqB,EAAC;QAC3B,GAAG,OAAO;QACV,OAAO,EAAE;YACP,GAAG,OAAO;YACV,GAAI,OAAO,EAAE,OAAa;SAC3B;KACF,CAAC,CAAC;AACL,CAAC;AAhBD,wCAgBC"} \ No newline at end of file diff --git a/back/node_modules/redis/package.json b/back/node_modules/redis/package.json new file mode 100644 index 0000000..cc1c72e --- /dev/null +++ b/back/node_modules/redis/package.json @@ -0,0 +1,36 @@ +{ + "name": "redis", + "description": "A modern, high performance Redis client", + "version": "5.11.0", + "license": "MIT", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist/", + "!dist/tsconfig.tsbuildinfo" + ], + "scripts": { + "release": "release-it" + }, + "dependencies": { + "@redis/bloom": "5.11.0", + "@redis/client": "5.11.0", + "@redis/json": "5.11.0", + "@redis/search": "5.11.0", + "@redis/time-series": "5.11.0" + }, + "engines": { + "node": ">= 18" + }, + "repository": { + "type": "git", + "url": "git://github.com/redis/node-redis.git" + }, + "bugs": { + "url": "https://github.com/redis/node-redis/issues" + }, + "homepage": "https://github.com/redis/node-redis", + "keywords": [ + "redis" + ] +} diff --git a/node_modules/router/HISTORY.md b/back/node_modules/router/HISTORY.md similarity index 100% rename from node_modules/router/HISTORY.md rename to back/node_modules/router/HISTORY.md diff --git a/node_modules/router/LICENSE b/back/node_modules/router/LICENSE similarity index 100% rename from node_modules/router/LICENSE rename to back/node_modules/router/LICENSE diff --git a/node_modules/router/README.md b/back/node_modules/router/README.md similarity index 100% rename from node_modules/router/README.md rename to back/node_modules/router/README.md diff --git a/node_modules/router/index.js b/back/node_modules/router/index.js similarity index 100% rename from node_modules/router/index.js rename to back/node_modules/router/index.js diff --git a/node_modules/router/lib/layer.js b/back/node_modules/router/lib/layer.js similarity index 100% rename from node_modules/router/lib/layer.js rename to back/node_modules/router/lib/layer.js diff --git a/node_modules/router/lib/route.js b/back/node_modules/router/lib/route.js similarity index 100% rename from node_modules/router/lib/route.js rename to back/node_modules/router/lib/route.js diff --git a/node_modules/router/package.json b/back/node_modules/router/package.json similarity index 100% rename from node_modules/router/package.json rename to back/node_modules/router/package.json diff --git a/back/node_modules/safe-buffer/LICENSE b/back/node_modules/safe-buffer/LICENSE new file mode 100644 index 0000000..0c068ce --- /dev/null +++ b/back/node_modules/safe-buffer/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Feross Aboukhadijeh + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/back/node_modules/safe-buffer/README.md b/back/node_modules/safe-buffer/README.md new file mode 100644 index 0000000..e9a81af --- /dev/null +++ b/back/node_modules/safe-buffer/README.md @@ -0,0 +1,584 @@ +# safe-buffer [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url] + +[travis-image]: https://img.shields.io/travis/feross/safe-buffer/master.svg +[travis-url]: https://travis-ci.org/feross/safe-buffer +[npm-image]: https://img.shields.io/npm/v/safe-buffer.svg +[npm-url]: https://npmjs.org/package/safe-buffer +[downloads-image]: https://img.shields.io/npm/dm/safe-buffer.svg +[downloads-url]: https://npmjs.org/package/safe-buffer +[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg +[standard-url]: https://standardjs.com + +#### Safer Node.js Buffer API + +**Use the new Node.js Buffer APIs (`Buffer.from`, `Buffer.alloc`, +`Buffer.allocUnsafe`, `Buffer.allocUnsafeSlow`) in all versions of Node.js.** + +**Uses the built-in implementation when available.** + +## install + +``` +npm install safe-buffer +``` + +## usage + +The goal of this package is to provide a safe replacement for the node.js `Buffer`. + +It's a drop-in replacement for `Buffer`. You can use it by adding one `require` line to +the top of your node.js modules: + +```js +var Buffer = require('safe-buffer').Buffer + +// Existing buffer code will continue to work without issues: + +new Buffer('hey', 'utf8') +new Buffer([1, 2, 3], 'utf8') +new Buffer(obj) +new Buffer(16) // create an uninitialized buffer (potentially unsafe) + +// But you can use these new explicit APIs to make clear what you want: + +Buffer.from('hey', 'utf8') // convert from many types to a Buffer +Buffer.alloc(16) // create a zero-filled buffer (safe) +Buffer.allocUnsafe(16) // create an uninitialized buffer (potentially unsafe) +``` + +## api + +### Class Method: Buffer.from(array) + + +* `array` {Array} + +Allocates a new `Buffer` using an `array` of octets. + +```js +const buf = Buffer.from([0x62,0x75,0x66,0x66,0x65,0x72]); + // creates a new Buffer containing ASCII bytes + // ['b','u','f','f','e','r'] +``` + +A `TypeError` will be thrown if `array` is not an `Array`. + +### Class Method: Buffer.from(arrayBuffer[, byteOffset[, length]]) + + +* `arrayBuffer` {ArrayBuffer} The `.buffer` property of a `TypedArray` or + a `new ArrayBuffer()` +* `byteOffset` {Number} Default: `0` +* `length` {Number} Default: `arrayBuffer.length - byteOffset` + +When passed a reference to the `.buffer` property of a `TypedArray` instance, +the newly created `Buffer` will share the same allocated memory as the +TypedArray. + +```js +const arr = new Uint16Array(2); +arr[0] = 5000; +arr[1] = 4000; + +const buf = Buffer.from(arr.buffer); // shares the memory with arr; + +console.log(buf); + // Prints: + +// changing the TypedArray changes the Buffer also +arr[1] = 6000; + +console.log(buf); + // Prints: +``` + +The optional `byteOffset` and `length` arguments specify a memory range within +the `arrayBuffer` that will be shared by the `Buffer`. + +```js +const ab = new ArrayBuffer(10); +const buf = Buffer.from(ab, 0, 2); +console.log(buf.length); + // Prints: 2 +``` + +A `TypeError` will be thrown if `arrayBuffer` is not an `ArrayBuffer`. + +### Class Method: Buffer.from(buffer) + + +* `buffer` {Buffer} + +Copies the passed `buffer` data onto a new `Buffer` instance. + +```js +const buf1 = Buffer.from('buffer'); +const buf2 = Buffer.from(buf1); + +buf1[0] = 0x61; +console.log(buf1.toString()); + // 'auffer' +console.log(buf2.toString()); + // 'buffer' (copy is not changed) +``` + +A `TypeError` will be thrown if `buffer` is not a `Buffer`. + +### Class Method: Buffer.from(str[, encoding]) + + +* `str` {String} String to encode. +* `encoding` {String} Encoding to use, Default: `'utf8'` + +Creates a new `Buffer` containing the given JavaScript string `str`. If +provided, the `encoding` parameter identifies the character encoding. +If not provided, `encoding` defaults to `'utf8'`. + +```js +const buf1 = Buffer.from('this is a tést'); +console.log(buf1.toString()); + // prints: this is a tést +console.log(buf1.toString('ascii')); + // prints: this is a tC)st + +const buf2 = Buffer.from('7468697320697320612074c3a97374', 'hex'); +console.log(buf2.toString()); + // prints: this is a tést +``` + +A `TypeError` will be thrown if `str` is not a string. + +### Class Method: Buffer.alloc(size[, fill[, encoding]]) + + +* `size` {Number} +* `fill` {Value} Default: `undefined` +* `encoding` {String} Default: `utf8` + +Allocates a new `Buffer` of `size` bytes. If `fill` is `undefined`, the +`Buffer` will be *zero-filled*. + +```js +const buf = Buffer.alloc(5); +console.log(buf); + // +``` + +The `size` must be less than or equal to the value of +`require('buffer').kMaxLength` (on 64-bit architectures, `kMaxLength` is +`(2^31)-1`). Otherwise, a [`RangeError`][] is thrown. A zero-length Buffer will +be created if a `size` less than or equal to 0 is specified. + +If `fill` is specified, the allocated `Buffer` will be initialized by calling +`buf.fill(fill)`. See [`buf.fill()`][] for more information. + +```js +const buf = Buffer.alloc(5, 'a'); +console.log(buf); + // +``` + +If both `fill` and `encoding` are specified, the allocated `Buffer` will be +initialized by calling `buf.fill(fill, encoding)`. For example: + +```js +const buf = Buffer.alloc(11, 'aGVsbG8gd29ybGQ=', 'base64'); +console.log(buf); + // +``` + +Calling `Buffer.alloc(size)` can be significantly slower than the alternative +`Buffer.allocUnsafe(size)` but ensures that the newly created `Buffer` instance +contents will *never contain sensitive data*. + +A `TypeError` will be thrown if `size` is not a number. + +### Class Method: Buffer.allocUnsafe(size) + + +* `size` {Number} + +Allocates a new *non-zero-filled* `Buffer` of `size` bytes. The `size` must +be less than or equal to the value of `require('buffer').kMaxLength` (on 64-bit +architectures, `kMaxLength` is `(2^31)-1`). Otherwise, a [`RangeError`][] is +thrown. A zero-length Buffer will be created if a `size` less than or equal to +0 is specified. + +The underlying memory for `Buffer` instances created in this way is *not +initialized*. The contents of the newly created `Buffer` are unknown and +*may contain sensitive data*. Use [`buf.fill(0)`][] to initialize such +`Buffer` instances to zeroes. + +```js +const buf = Buffer.allocUnsafe(5); +console.log(buf); + // + // (octets will be different, every time) +buf.fill(0); +console.log(buf); + // +``` + +A `TypeError` will be thrown if `size` is not a number. + +Note that the `Buffer` module pre-allocates an internal `Buffer` instance of +size `Buffer.poolSize` that is used as a pool for the fast allocation of new +`Buffer` instances created using `Buffer.allocUnsafe(size)` (and the deprecated +`new Buffer(size)` constructor) only when `size` is less than or equal to +`Buffer.poolSize >> 1` (floor of `Buffer.poolSize` divided by two). The default +value of `Buffer.poolSize` is `8192` but can be modified. + +Use of this pre-allocated internal memory pool is a key difference between +calling `Buffer.alloc(size, fill)` vs. `Buffer.allocUnsafe(size).fill(fill)`. +Specifically, `Buffer.alloc(size, fill)` will *never* use the internal Buffer +pool, while `Buffer.allocUnsafe(size).fill(fill)` *will* use the internal +Buffer pool if `size` is less than or equal to half `Buffer.poolSize`. The +difference is subtle but can be important when an application requires the +additional performance that `Buffer.allocUnsafe(size)` provides. + +### Class Method: Buffer.allocUnsafeSlow(size) + + +* `size` {Number} + +Allocates a new *non-zero-filled* and non-pooled `Buffer` of `size` bytes. The +`size` must be less than or equal to the value of +`require('buffer').kMaxLength` (on 64-bit architectures, `kMaxLength` is +`(2^31)-1`). Otherwise, a [`RangeError`][] is thrown. A zero-length Buffer will +be created if a `size` less than or equal to 0 is specified. + +The underlying memory for `Buffer` instances created in this way is *not +initialized*. The contents of the newly created `Buffer` are unknown and +*may contain sensitive data*. Use [`buf.fill(0)`][] to initialize such +`Buffer` instances to zeroes. + +When using `Buffer.allocUnsafe()` to allocate new `Buffer` instances, +allocations under 4KB are, by default, sliced from a single pre-allocated +`Buffer`. This allows applications to avoid the garbage collection overhead of +creating many individually allocated Buffers. This approach improves both +performance and memory usage by eliminating the need to track and cleanup as +many `Persistent` objects. + +However, in the case where a developer may need to retain a small chunk of +memory from a pool for an indeterminate amount of time, it may be appropriate +to create an un-pooled Buffer instance using `Buffer.allocUnsafeSlow()` then +copy out the relevant bits. + +```js +// need to keep around a few small chunks of memory +const store = []; + +socket.on('readable', () => { + const data = socket.read(); + // allocate for retained data + const sb = Buffer.allocUnsafeSlow(10); + // copy the data into the new allocation + data.copy(sb, 0, 0, 10); + store.push(sb); +}); +``` + +Use of `Buffer.allocUnsafeSlow()` should be used only as a last resort *after* +a developer has observed undue memory retention in their applications. + +A `TypeError` will be thrown if `size` is not a number. + +### All the Rest + +The rest of the `Buffer` API is exactly the same as in node.js. +[See the docs](https://nodejs.org/api/buffer.html). + + +## Related links + +- [Node.js issue: Buffer(number) is unsafe](https://github.com/nodejs/node/issues/4660) +- [Node.js Enhancement Proposal: Buffer.from/Buffer.alloc/Buffer.zalloc/Buffer() soft-deprecate](https://github.com/nodejs/node-eps/pull/4) + +## Why is `Buffer` unsafe? + +Today, the node.js `Buffer` constructor is overloaded to handle many different argument +types like `String`, `Array`, `Object`, `TypedArrayView` (`Uint8Array`, etc.), +`ArrayBuffer`, and also `Number`. + +The API is optimized for convenience: you can throw any type at it, and it will try to do +what you want. + +Because the Buffer constructor is so powerful, you often see code like this: + +```js +// Convert UTF-8 strings to hex +function toHex (str) { + return new Buffer(str).toString('hex') +} +``` + +***But what happens if `toHex` is called with a `Number` argument?*** + +### Remote Memory Disclosure + +If an attacker can make your program call the `Buffer` constructor with a `Number` +argument, then they can make it allocate uninitialized memory from the node.js process. +This could potentially disclose TLS private keys, user data, or database passwords. + +When the `Buffer` constructor is passed a `Number` argument, it returns an +**UNINITIALIZED** block of memory of the specified `size`. When you create a `Buffer` like +this, you **MUST** overwrite the contents before returning it to the user. + +From the [node.js docs](https://nodejs.org/api/buffer.html#buffer_new_buffer_size): + +> `new Buffer(size)` +> +> - `size` Number +> +> The underlying memory for `Buffer` instances created in this way is not initialized. +> **The contents of a newly created `Buffer` are unknown and could contain sensitive +> data.** Use `buf.fill(0)` to initialize a Buffer to zeroes. + +(Emphasis our own.) + +Whenever the programmer intended to create an uninitialized `Buffer` you often see code +like this: + +```js +var buf = new Buffer(16) + +// Immediately overwrite the uninitialized buffer with data from another buffer +for (var i = 0; i < buf.length; i++) { + buf[i] = otherBuf[i] +} +``` + + +### Would this ever be a problem in real code? + +Yes. It's surprisingly common to forget to check the type of your variables in a +dynamically-typed language like JavaScript. + +Usually the consequences of assuming the wrong type is that your program crashes with an +uncaught exception. But the failure mode for forgetting to check the type of arguments to +the `Buffer` constructor is more catastrophic. + +Here's an example of a vulnerable service that takes a JSON payload and converts it to +hex: + +```js +// Take a JSON payload {str: "some string"} and convert it to hex +var server = http.createServer(function (req, res) { + var data = '' + req.setEncoding('utf8') + req.on('data', function (chunk) { + data += chunk + }) + req.on('end', function () { + var body = JSON.parse(data) + res.end(new Buffer(body.str).toString('hex')) + }) +}) + +server.listen(8080) +``` + +In this example, an http client just has to send: + +```json +{ + "str": 1000 +} +``` + +and it will get back 1,000 bytes of uninitialized memory from the server. + +This is a very serious bug. It's similar in severity to the +[the Heartbleed bug](http://heartbleed.com/) that allowed disclosure of OpenSSL process +memory by remote attackers. + + +### Which real-world packages were vulnerable? + +#### [`bittorrent-dht`](https://www.npmjs.com/package/bittorrent-dht) + +[Mathias Buus](https://github.com/mafintosh) and I +([Feross Aboukhadijeh](http://feross.org/)) found this issue in one of our own packages, +[`bittorrent-dht`](https://www.npmjs.com/package/bittorrent-dht). The bug would allow +anyone on the internet to send a series of messages to a user of `bittorrent-dht` and get +them to reveal 20 bytes at a time of uninitialized memory from the node.js process. + +Here's +[the commit](https://github.com/feross/bittorrent-dht/commit/6c7da04025d5633699800a99ec3fbadf70ad35b8) +that fixed it. We released a new fixed version, created a +[Node Security Project disclosure](https://nodesecurity.io/advisories/68), and deprecated all +vulnerable versions on npm so users will get a warning to upgrade to a newer version. + +#### [`ws`](https://www.npmjs.com/package/ws) + +That got us wondering if there were other vulnerable packages. Sure enough, within a short +period of time, we found the same issue in [`ws`](https://www.npmjs.com/package/ws), the +most popular WebSocket implementation in node.js. + +If certain APIs were called with `Number` parameters instead of `String` or `Buffer` as +expected, then uninitialized server memory would be disclosed to the remote peer. + +These were the vulnerable methods: + +```js +socket.send(number) +socket.ping(number) +socket.pong(number) +``` + +Here's a vulnerable socket server with some echo functionality: + +```js +server.on('connection', function (socket) { + socket.on('message', function (message) { + message = JSON.parse(message) + if (message.type === 'echo') { + socket.send(message.data) // send back the user's message + } + }) +}) +``` + +`socket.send(number)` called on the server, will disclose server memory. + +Here's [the release](https://github.com/websockets/ws/releases/tag/1.0.1) where the issue +was fixed, with a more detailed explanation. Props to +[Arnout Kazemier](https://github.com/3rd-Eden) for the quick fix. Here's the +[Node Security Project disclosure](https://nodesecurity.io/advisories/67). + + +### What's the solution? + +It's important that node.js offers a fast way to get memory otherwise performance-critical +applications would needlessly get a lot slower. + +But we need a better way to *signal our intent* as programmers. **When we want +uninitialized memory, we should request it explicitly.** + +Sensitive functionality should not be packed into a developer-friendly API that loosely +accepts many different types. This type of API encourages the lazy practice of passing +variables in without checking the type very carefully. + +#### A new API: `Buffer.allocUnsafe(number)` + +The functionality of creating buffers with uninitialized memory should be part of another +API. We propose `Buffer.allocUnsafe(number)`. This way, it's not part of an API that +frequently gets user input of all sorts of different types passed into it. + +```js +var buf = Buffer.allocUnsafe(16) // careful, uninitialized memory! + +// Immediately overwrite the uninitialized buffer with data from another buffer +for (var i = 0; i < buf.length; i++) { + buf[i] = otherBuf[i] +} +``` + + +### How do we fix node.js core? + +We sent [a PR to node.js core](https://github.com/nodejs/node/pull/4514) (merged as +`semver-major`) which defends against one case: + +```js +var str = 16 +new Buffer(str, 'utf8') +``` + +In this situation, it's implied that the programmer intended the first argument to be a +string, since they passed an encoding as a second argument. Today, node.js will allocate +uninitialized memory in the case of `new Buffer(number, encoding)`, which is probably not +what the programmer intended. + +But this is only a partial solution, since if the programmer does `new Buffer(variable)` +(without an `encoding` parameter) there's no way to know what they intended. If `variable` +is sometimes a number, then uninitialized memory will sometimes be returned. + +### What's the real long-term fix? + +We could deprecate and remove `new Buffer(number)` and use `Buffer.allocUnsafe(number)` when +we need uninitialized memory. But that would break 1000s of packages. + +~~We believe the best solution is to:~~ + +~~1. Change `new Buffer(number)` to return safe, zeroed-out memory~~ + +~~2. Create a new API for creating uninitialized Buffers. We propose: `Buffer.allocUnsafe(number)`~~ + +#### Update + +We now support adding three new APIs: + +- `Buffer.from(value)` - convert from any type to a buffer +- `Buffer.alloc(size)` - create a zero-filled buffer +- `Buffer.allocUnsafe(size)` - create an uninitialized buffer with given size + +This solves the core problem that affected `ws` and `bittorrent-dht` which is +`Buffer(variable)` getting tricked into taking a number argument. + +This way, existing code continues working and the impact on the npm ecosystem will be +minimal. Over time, npm maintainers can migrate performance-critical code to use +`Buffer.allocUnsafe(number)` instead of `new Buffer(number)`. + + +### Conclusion + +We think there's a serious design issue with the `Buffer` API as it exists today. It +promotes insecure software by putting high-risk functionality into a convenient API +with friendly "developer ergonomics". + +This wasn't merely a theoretical exercise because we found the issue in some of the +most popular npm packages. + +Fortunately, there's an easy fix that can be applied today. Use `safe-buffer` in place of +`buffer`. + +```js +var Buffer = require('safe-buffer').Buffer +``` + +Eventually, we hope that node.js core can switch to this new, safer behavior. We believe +the impact on the ecosystem would be minimal since it's not a breaking change. +Well-maintained, popular packages would be updated to use `Buffer.alloc` quickly, while +older, insecure packages would magically become safe from this attack vector. + + +## links + +- [Node.js PR: buffer: throw if both length and enc are passed](https://github.com/nodejs/node/pull/4514) +- [Node Security Project disclosure for `ws`](https://nodesecurity.io/advisories/67) +- [Node Security Project disclosure for`bittorrent-dht`](https://nodesecurity.io/advisories/68) + + +## credit + +The original issues in `bittorrent-dht` +([disclosure](https://nodesecurity.io/advisories/68)) and +`ws` ([disclosure](https://nodesecurity.io/advisories/67)) were discovered by +[Mathias Buus](https://github.com/mafintosh) and +[Feross Aboukhadijeh](http://feross.org/). + +Thanks to [Adam Baldwin](https://github.com/evilpacket) for helping disclose these issues +and for his work running the [Node Security Project](https://nodesecurity.io/). + +Thanks to [John Hiesey](https://github.com/jhiesey) for proofreading this README and +auditing the code. + + +## license + +MIT. Copyright (C) [Feross Aboukhadijeh](http://feross.org) diff --git a/back/node_modules/safe-buffer/index.d.ts b/back/node_modules/safe-buffer/index.d.ts new file mode 100644 index 0000000..e9fed80 --- /dev/null +++ b/back/node_modules/safe-buffer/index.d.ts @@ -0,0 +1,187 @@ +declare module "safe-buffer" { + export class Buffer { + length: number + write(string: string, offset?: number, length?: number, encoding?: string): number; + toString(encoding?: string, start?: number, end?: number): string; + toJSON(): { type: 'Buffer', data: any[] }; + equals(otherBuffer: Buffer): boolean; + compare(otherBuffer: Buffer, targetStart?: number, targetEnd?: number, sourceStart?: number, sourceEnd?: number): number; + copy(targetBuffer: Buffer, targetStart?: number, sourceStart?: number, sourceEnd?: number): number; + slice(start?: number, end?: number): Buffer; + writeUIntLE(value: number, offset: number, byteLength: number, noAssert?: boolean): number; + writeUIntBE(value: number, offset: number, byteLength: number, noAssert?: boolean): number; + writeIntLE(value: number, offset: number, byteLength: number, noAssert?: boolean): number; + writeIntBE(value: number, offset: number, byteLength: number, noAssert?: boolean): number; + readUIntLE(offset: number, byteLength: number, noAssert?: boolean): number; + readUIntBE(offset: number, byteLength: number, noAssert?: boolean): number; + readIntLE(offset: number, byteLength: number, noAssert?: boolean): number; + readIntBE(offset: number, byteLength: number, noAssert?: boolean): number; + readUInt8(offset: number, noAssert?: boolean): number; + readUInt16LE(offset: number, noAssert?: boolean): number; + readUInt16BE(offset: number, noAssert?: boolean): number; + readUInt32LE(offset: number, noAssert?: boolean): number; + readUInt32BE(offset: number, noAssert?: boolean): number; + readInt8(offset: number, noAssert?: boolean): number; + readInt16LE(offset: number, noAssert?: boolean): number; + readInt16BE(offset: number, noAssert?: boolean): number; + readInt32LE(offset: number, noAssert?: boolean): number; + readInt32BE(offset: number, noAssert?: boolean): number; + readFloatLE(offset: number, noAssert?: boolean): number; + readFloatBE(offset: number, noAssert?: boolean): number; + readDoubleLE(offset: number, noAssert?: boolean): number; + readDoubleBE(offset: number, noAssert?: boolean): number; + swap16(): Buffer; + swap32(): Buffer; + swap64(): Buffer; + writeUInt8(value: number, offset: number, noAssert?: boolean): number; + writeUInt16LE(value: number, offset: number, noAssert?: boolean): number; + writeUInt16BE(value: number, offset: number, noAssert?: boolean): number; + writeUInt32LE(value: number, offset: number, noAssert?: boolean): number; + writeUInt32BE(value: number, offset: number, noAssert?: boolean): number; + writeInt8(value: number, offset: number, noAssert?: boolean): number; + writeInt16LE(value: number, offset: number, noAssert?: boolean): number; + writeInt16BE(value: number, offset: number, noAssert?: boolean): number; + writeInt32LE(value: number, offset: number, noAssert?: boolean): number; + writeInt32BE(value: number, offset: number, noAssert?: boolean): number; + writeFloatLE(value: number, offset: number, noAssert?: boolean): number; + writeFloatBE(value: number, offset: number, noAssert?: boolean): number; + writeDoubleLE(value: number, offset: number, noAssert?: boolean): number; + writeDoubleBE(value: number, offset: number, noAssert?: boolean): number; + fill(value: any, offset?: number, end?: number): this; + indexOf(value: string | number | Buffer, byteOffset?: number, encoding?: string): number; + lastIndexOf(value: string | number | Buffer, byteOffset?: number, encoding?: string): number; + includes(value: string | number | Buffer, byteOffset?: number, encoding?: string): boolean; + + /** + * Allocates a new buffer containing the given {str}. + * + * @param str String to store in buffer. + * @param encoding encoding to use, optional. Default is 'utf8' + */ + constructor (str: string, encoding?: string); + /** + * Allocates a new buffer of {size} octets. + * + * @param size count of octets to allocate. + */ + constructor (size: number); + /** + * Allocates a new buffer containing the given {array} of octets. + * + * @param array The octets to store. + */ + constructor (array: Uint8Array); + /** + * Produces a Buffer backed by the same allocated memory as + * the given {ArrayBuffer}. + * + * + * @param arrayBuffer The ArrayBuffer with which to share memory. + */ + constructor (arrayBuffer: ArrayBuffer); + /** + * Allocates a new buffer containing the given {array} of octets. + * + * @param array The octets to store. + */ + constructor (array: any[]); + /** + * Copies the passed {buffer} data onto a new {Buffer} instance. + * + * @param buffer The buffer to copy. + */ + constructor (buffer: Buffer); + prototype: Buffer; + /** + * Allocates a new Buffer using an {array} of octets. + * + * @param array + */ + static from(array: any[]): Buffer; + /** + * When passed a reference to the .buffer property of a TypedArray instance, + * the newly created Buffer will share the same allocated memory as the TypedArray. + * The optional {byteOffset} and {length} arguments specify a memory range + * within the {arrayBuffer} that will be shared by the Buffer. + * + * @param arrayBuffer The .buffer property of a TypedArray or a new ArrayBuffer() + * @param byteOffset + * @param length + */ + static from(arrayBuffer: ArrayBuffer, byteOffset?: number, length?: number): Buffer; + /** + * Copies the passed {buffer} data onto a new Buffer instance. + * + * @param buffer + */ + static from(buffer: Buffer): Buffer; + /** + * Creates a new Buffer containing the given JavaScript string {str}. + * If provided, the {encoding} parameter identifies the character encoding. + * If not provided, {encoding} defaults to 'utf8'. + * + * @param str + */ + static from(str: string, encoding?: string): Buffer; + /** + * Returns true if {obj} is a Buffer + * + * @param obj object to test. + */ + static isBuffer(obj: any): obj is Buffer; + /** + * Returns true if {encoding} is a valid encoding argument. + * Valid string encodings in Node 0.12: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex' + * + * @param encoding string to test. + */ + static isEncoding(encoding: string): boolean; + /** + * Gives the actual byte length of a string. encoding defaults to 'utf8'. + * This is not the same as String.prototype.length since that returns the number of characters in a string. + * + * @param string string to test. + * @param encoding encoding used to evaluate (defaults to 'utf8') + */ + static byteLength(string: string, encoding?: string): number; + /** + * Returns a buffer which is the result of concatenating all the buffers in the list together. + * + * If the list has no items, or if the totalLength is 0, then it returns a zero-length buffer. + * If the list has exactly one item, then the first item of the list is returned. + * If the list has more than one item, then a new Buffer is created. + * + * @param list An array of Buffer objects to concatenate + * @param totalLength Total length of the buffers when concatenated. + * If totalLength is not provided, it is read from the buffers in the list. However, this adds an additional loop to the function, so it is faster to provide the length explicitly. + */ + static concat(list: Buffer[], totalLength?: number): Buffer; + /** + * The same as buf1.compare(buf2). + */ + static compare(buf1: Buffer, buf2: Buffer): number; + /** + * Allocates a new buffer of {size} octets. + * + * @param size count of octets to allocate. + * @param fill if specified, buffer will be initialized by calling buf.fill(fill). + * If parameter is omitted, buffer will be filled with zeros. + * @param encoding encoding used for call to buf.fill while initalizing + */ + static alloc(size: number, fill?: string | Buffer | number, encoding?: string): Buffer; + /** + * Allocates a new buffer of {size} octets, leaving memory not initialized, so the contents + * of the newly created Buffer are unknown and may contain sensitive data. + * + * @param size count of octets to allocate + */ + static allocUnsafe(size: number): Buffer; + /** + * Allocates a new non-pooled buffer of {size} octets, leaving memory not initialized, so the contents + * of the newly created Buffer are unknown and may contain sensitive data. + * + * @param size count of octets to allocate + */ + static allocUnsafeSlow(size: number): Buffer; + } +} \ No newline at end of file diff --git a/back/node_modules/safe-buffer/index.js b/back/node_modules/safe-buffer/index.js new file mode 100644 index 0000000..f8d3ec9 --- /dev/null +++ b/back/node_modules/safe-buffer/index.js @@ -0,0 +1,65 @@ +/*! safe-buffer. MIT License. Feross Aboukhadijeh */ +/* eslint-disable node/no-deprecated-api */ +var buffer = require('buffer') +var Buffer = buffer.Buffer + +// alternative to using Object.keys for old browsers +function copyProps (src, dst) { + for (var key in src) { + dst[key] = src[key] + } +} +if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) { + module.exports = buffer +} else { + // Copy properties from require('buffer') + copyProps(buffer, exports) + exports.Buffer = SafeBuffer +} + +function SafeBuffer (arg, encodingOrOffset, length) { + return Buffer(arg, encodingOrOffset, length) +} + +SafeBuffer.prototype = Object.create(Buffer.prototype) + +// Copy static methods from Buffer +copyProps(Buffer, SafeBuffer) + +SafeBuffer.from = function (arg, encodingOrOffset, length) { + if (typeof arg === 'number') { + throw new TypeError('Argument must not be a number') + } + return Buffer(arg, encodingOrOffset, length) +} + +SafeBuffer.alloc = function (size, fill, encoding) { + if (typeof size !== 'number') { + throw new TypeError('Argument must be a number') + } + var buf = Buffer(size) + if (fill !== undefined) { + if (typeof encoding === 'string') { + buf.fill(fill, encoding) + } else { + buf.fill(fill) + } + } else { + buf.fill(0) + } + return buf +} + +SafeBuffer.allocUnsafe = function (size) { + if (typeof size !== 'number') { + throw new TypeError('Argument must be a number') + } + return Buffer(size) +} + +SafeBuffer.allocUnsafeSlow = function (size) { + if (typeof size !== 'number') { + throw new TypeError('Argument must be a number') + } + return buffer.SlowBuffer(size) +} diff --git a/back/node_modules/safe-buffer/package.json b/back/node_modules/safe-buffer/package.json new file mode 100644 index 0000000..f2869e2 --- /dev/null +++ b/back/node_modules/safe-buffer/package.json @@ -0,0 +1,51 @@ +{ + "name": "safe-buffer", + "description": "Safer Node.js Buffer API", + "version": "5.2.1", + "author": { + "name": "Feross Aboukhadijeh", + "email": "feross@feross.org", + "url": "https://feross.org" + }, + "bugs": { + "url": "https://github.com/feross/safe-buffer/issues" + }, + "devDependencies": { + "standard": "*", + "tape": "^5.0.0" + }, + "homepage": "https://github.com/feross/safe-buffer", + "keywords": [ + "buffer", + "buffer allocate", + "node security", + "safe", + "safe-buffer", + "security", + "uninitialized" + ], + "license": "MIT", + "main": "index.js", + "types": "index.d.ts", + "repository": { + "type": "git", + "url": "git://github.com/feross/safe-buffer.git" + }, + "scripts": { + "test": "standard && tape test/*.js" + }, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] +} diff --git a/node_modules/safer-buffer/LICENSE b/back/node_modules/safer-buffer/LICENSE similarity index 100% rename from node_modules/safer-buffer/LICENSE rename to back/node_modules/safer-buffer/LICENSE diff --git a/node_modules/safer-buffer/Porting-Buffer.md b/back/node_modules/safer-buffer/Porting-Buffer.md similarity index 100% rename from node_modules/safer-buffer/Porting-Buffer.md rename to back/node_modules/safer-buffer/Porting-Buffer.md diff --git a/node_modules/safer-buffer/Readme.md b/back/node_modules/safer-buffer/Readme.md similarity index 100% rename from node_modules/safer-buffer/Readme.md rename to back/node_modules/safer-buffer/Readme.md diff --git a/node_modules/safer-buffer/dangerous.js b/back/node_modules/safer-buffer/dangerous.js similarity index 100% rename from node_modules/safer-buffer/dangerous.js rename to back/node_modules/safer-buffer/dangerous.js diff --git a/node_modules/safer-buffer/package.json b/back/node_modules/safer-buffer/package.json similarity index 100% rename from node_modules/safer-buffer/package.json rename to back/node_modules/safer-buffer/package.json diff --git a/node_modules/safer-buffer/safer.js b/back/node_modules/safer-buffer/safer.js similarity index 100% rename from node_modules/safer-buffer/safer.js rename to back/node_modules/safer-buffer/safer.js diff --git a/node_modules/safer-buffer/tests.js b/back/node_modules/safer-buffer/tests.js similarity index 100% rename from node_modules/safer-buffer/tests.js rename to back/node_modules/safer-buffer/tests.js diff --git a/node_modules/wrappy/LICENSE b/back/node_modules/semver/LICENSE similarity index 100% rename from node_modules/wrappy/LICENSE rename to back/node_modules/semver/LICENSE diff --git a/back/node_modules/semver/README.md b/back/node_modules/semver/README.md new file mode 100644 index 0000000..e9d1bc5 --- /dev/null +++ b/back/node_modules/semver/README.md @@ -0,0 +1,665 @@ +semver(1) -- The semantic versioner for npm +=========================================== + +## Install + +```bash +npm install semver +```` + +## Usage + +As a node module: + +```js +const semver = require('semver') + +semver.valid('1.2.3') // '1.2.3' +semver.valid('a.b.c') // null +semver.clean(' =v1.2.3 ') // '1.2.3' +semver.satisfies('1.2.3', '1.x || >=2.5.0 || 5.0.0 - 7.2.3') // true +semver.gt('1.2.3', '9.8.7') // false +semver.lt('1.2.3', '9.8.7') // true +semver.minVersion('>=1.0.0') // '1.0.0' +semver.valid(semver.coerce('v2')) // '2.0.0' +semver.valid(semver.coerce('42.6.7.9.3-alpha')) // '42.6.7' +``` + +You can also just load the module for the function that you care about if +you'd like to minimize your footprint. + +```js +// load the whole API at once in a single object +const semver = require('semver') + +// or just load the bits you need +// all of them listed here, just pick and choose what you want + +// classes +const SemVer = require('semver/classes/semver') +const Comparator = require('semver/classes/comparator') +const Range = require('semver/classes/range') + +// functions for working with versions +const semverParse = require('semver/functions/parse') +const semverValid = require('semver/functions/valid') +const semverClean = require('semver/functions/clean') +const semverInc = require('semver/functions/inc') +const semverDiff = require('semver/functions/diff') +const semverMajor = require('semver/functions/major') +const semverMinor = require('semver/functions/minor') +const semverPatch = require('semver/functions/patch') +const semverPrerelease = require('semver/functions/prerelease') +const semverCompare = require('semver/functions/compare') +const semverRcompare = require('semver/functions/rcompare') +const semverCompareLoose = require('semver/functions/compare-loose') +const semverCompareBuild = require('semver/functions/compare-build') +const semverSort = require('semver/functions/sort') +const semverRsort = require('semver/functions/rsort') + +// low-level comparators between versions +const semverGt = require('semver/functions/gt') +const semverLt = require('semver/functions/lt') +const semverEq = require('semver/functions/eq') +const semverNeq = require('semver/functions/neq') +const semverGte = require('semver/functions/gte') +const semverLte = require('semver/functions/lte') +const semverCmp = require('semver/functions/cmp') +const semverCoerce = require('semver/functions/coerce') + +// working with ranges +const semverSatisfies = require('semver/functions/satisfies') +const semverMaxSatisfying = require('semver/ranges/max-satisfying') +const semverMinSatisfying = require('semver/ranges/min-satisfying') +const semverToComparators = require('semver/ranges/to-comparators') +const semverMinVersion = require('semver/ranges/min-version') +const semverValidRange = require('semver/ranges/valid') +const semverOutside = require('semver/ranges/outside') +const semverGtr = require('semver/ranges/gtr') +const semverLtr = require('semver/ranges/ltr') +const semverIntersects = require('semver/ranges/intersects') +const semverSimplifyRange = require('semver/ranges/simplify') +const semverRangeSubset = require('semver/ranges/subset') +``` + +As a command-line utility: + +``` +$ semver -h + +A JavaScript implementation of the https://semver.org/ specification +Copyright Isaac Z. Schlueter + +Usage: semver [options] [ [...]] +Prints valid versions sorted by SemVer precedence + +Options: +-r --range + Print versions that match the specified range. + +-i --increment [] + Increment a version by the specified level. Level can + be one of: major, minor, patch, premajor, preminor, + prepatch, prerelease, or release. Default level is 'patch'. + Only one version may be specified. + +--preid + Identifier to be used to prefix premajor, preminor, + prepatch or prerelease version increments. + +-l --loose + Interpret versions and ranges loosely + +-n <0|1|false> + Base number for prerelease identifier (default: 0). + Use false to omit the number altogether. + +-p --include-prerelease + Always include prerelease versions in range matching + +-c --coerce + Coerce a string into SemVer if possible + (does not imply --loose) + +--rtl + Coerce version strings right to left + +--ltr + Coerce version strings left to right (default) + +Program exits successfully if any valid version satisfies +all supplied ranges, and prints all satisfying versions. + +If no satisfying versions are found, then exits failure. + +Versions are printed in ascending order, so supplying +multiple versions to the utility will just sort them. +``` + +## Versions + +A "version" is described by the `v2.0.0` specification found at +. + +A leading `"="` or `"v"` character is stripped off and ignored. +Support for stripping a leading "v" is kept for compatibility with `v1.0.0` of the SemVer +specification but should not be used anymore. + +## Ranges + +A `version range` is a set of `comparators` that specify versions +that satisfy the range. + +A `comparator` is composed of an `operator` and a `version`. The set +of primitive `operators` is: + +* `<` Less than +* `<=` Less than or equal to +* `>` Greater than +* `>=` Greater than or equal to +* `=` Equal. If no operator is specified, then equality is assumed, + so this operator is optional but MAY be included. + +For example, the comparator `>=1.2.7` would match the versions +`1.2.7`, `1.2.8`, `2.5.3`, and `1.3.9`, but not the versions `1.2.6` +or `1.1.0`. The comparator `>1` is equivalent to `>=2.0.0` and +would match the versions `2.0.0` and `3.1.0`, but not the versions +`1.0.1` or `1.1.0`. + +Comparators can be joined by whitespace to form a `comparator set`, +which is satisfied by the **intersection** of all of the comparators +it includes. + +A range is composed of one or more comparator sets, joined by `||`. A +version matches a range if and only if every comparator in at least +one of the `||`-separated comparator sets is satisfied by the version. + +For example, the range `>=1.2.7 <1.3.0` would match the versions +`1.2.7`, `1.2.8`, and `1.2.99`, but not the versions `1.2.6`, `1.3.0`, +or `1.1.0`. + +The range `1.2.7 || >=1.2.9 <2.0.0` would match the versions `1.2.7`, +`1.2.9`, and `1.4.6`, but not the versions `1.2.8` or `2.0.0`. + +### Prerelease Tags + +If a version has a prerelease tag (for example, `1.2.3-alpha.3`) then +it will only be allowed to satisfy comparator sets if at least one +comparator with the same `[major, minor, patch]` tuple also has a +prerelease tag. + +For example, the range `>1.2.3-alpha.3` would be allowed to match the +version `1.2.3-alpha.7`, but it would *not* be satisfied by +`3.4.5-alpha.9`, even though `3.4.5-alpha.9` is technically "greater +than" `1.2.3-alpha.3` according to the SemVer sort rules. The version +range only accepts prerelease tags on the `1.2.3` version. +Version `3.4.5` *would* satisfy the range because it does not have a +prerelease flag, and `3.4.5` is greater than `1.2.3-alpha.7`. + +The purpose of this behavior is twofold. First, prerelease versions +frequently are updated very quickly, and contain many breaking changes +that are (by the author's design) not yet fit for public consumption. +Therefore, by default, they are excluded from range-matching +semantics. + +Second, a user who has opted into using a prerelease version has +indicated the intent to use *that specific* set of +alpha/beta/rc versions. By including a prerelease tag in the range, +the user is indicating that they are aware of the risk. However, it +is still not appropriate to assume that they have opted into taking a +similar risk on the *next* set of prerelease versions. + +Note that this behavior can be suppressed (treating all prerelease +versions as if they were normal versions, for range-matching) +by setting the `includePrerelease` flag on the options +object to any +[functions](https://github.com/npm/node-semver#functions) that do +range matching. + +#### Prerelease Identifiers + +The method `.inc` takes an additional `identifier` string argument that +will append the value of the string as a prerelease identifier: + +```javascript +semver.inc('1.2.3', 'prerelease', 'beta') +// '1.2.4-beta.0' +``` + +command-line example: + +```bash +$ semver 1.2.3 -i prerelease --preid beta +1.2.4-beta.0 +``` + +Which then can be used to increment further: + +```bash +$ semver 1.2.4-beta.0 -i prerelease +1.2.4-beta.1 +``` + +To get out of the prerelease phase, use the `release` option: + +```bash +$ semver 1.2.4-beta.1 -i release +1.2.4 +``` + +#### Prerelease Identifier Base + +The method `.inc` takes an optional parameter 'identifierBase' string +that will let you let your prerelease number as zero-based or one-based. +Set to `false` to omit the prerelease number altogether. +If you do not specify this parameter, it will default to zero-based. + +```javascript +semver.inc('1.2.3', 'prerelease', 'beta', '1') +// '1.2.4-beta.1' +``` + +```javascript +semver.inc('1.2.3', 'prerelease', 'beta', false) +// '1.2.4-beta' +``` + +command-line example: + +```bash +$ semver 1.2.3 -i prerelease --preid beta -n 1 +1.2.4-beta.1 +``` + +```bash +$ semver 1.2.3 -i prerelease --preid beta -n false +1.2.4-beta +``` + +### Advanced Range Syntax + +Advanced range syntax desugars to primitive comparators in +deterministic ways. + +Advanced ranges may be combined in the same way as primitive +comparators using white space or `||`. + +#### Hyphen Ranges `X.Y.Z - A.B.C` + +Specifies an inclusive set. + +* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4` + +If a partial version is provided as the first version in the inclusive +range, then the missing pieces are replaced with zeroes. + +* `1.2 - 2.3.4` := `>=1.2.0 <=2.3.4` + +If a partial version is provided as the second version in the +inclusive range, then all versions that start with the supplied parts +of the tuple are accepted, but nothing that would be greater than the +provided tuple parts. + +* `1.2.3 - 2.3` := `>=1.2.3 <2.4.0-0` +* `1.2.3 - 2` := `>=1.2.3 <3.0.0-0` + +#### X-Ranges `1.2.x` `1.X` `1.2.*` `*` + +Any of `X`, `x`, or `*` may be used to "stand in" for one of the +numeric values in the `[major, minor, patch]` tuple. + +* `*` := `>=0.0.0` (Any non-prerelease version satisfies, unless + `includePrerelease` is specified, in which case any version at all + satisfies) +* `1.x` := `>=1.0.0 <2.0.0-0` (Matching major version) +* `1.2.x` := `>=1.2.0 <1.3.0-0` (Matching major and minor versions) + +A partial version range is treated as an X-Range, so the special +character is in fact optional. + +* `""` (empty string) := `*` := `>=0.0.0` +* `1` := `1.x.x` := `>=1.0.0 <2.0.0-0` +* `1.2` := `1.2.x` := `>=1.2.0 <1.3.0-0` + +#### Tilde Ranges `~1.2.3` `~1.2` `~1` + +Allows patch-level changes if a minor version is specified on the +comparator. Allows minor-level changes if not. + +* `~1.2.3` := `>=1.2.3 <1.(2+1).0` := `>=1.2.3 <1.3.0-0` +* `~1.2` := `>=1.2.0 <1.(2+1).0` := `>=1.2.0 <1.3.0-0` (Same as `1.2.x`) +* `~1` := `>=1.0.0 <(1+1).0.0` := `>=1.0.0 <2.0.0-0` (Same as `1.x`) +* `~0.2.3` := `>=0.2.3 <0.(2+1).0` := `>=0.2.3 <0.3.0-0` +* `~0.2` := `>=0.2.0 <0.(2+1).0` := `>=0.2.0 <0.3.0-0` (Same as `0.2.x`) +* `~0` := `>=0.0.0 <(0+1).0.0` := `>=0.0.0 <1.0.0-0` (Same as `0.x`) +* `~1.2.3-beta.2` := `>=1.2.3-beta.2 <1.3.0-0` Note that prereleases in + the `1.2.3` version will be allowed, if they are greater than or + equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but + `1.2.4-beta.2` would not, because it is a prerelease of a + different `[major, minor, patch]` tuple. + +#### Caret Ranges `^1.2.3` `^0.2.5` `^0.0.4` + +Allows changes that do not modify the left-most non-zero element in the +`[major, minor, patch]` tuple. In other words, this allows patch and +minor updates for versions `1.0.0` and above, patch updates for +versions `0.X >=0.1.0`, and *no* updates for versions `0.0.X`. + +Many authors treat a `0.x` version as if the `x` were the major +"breaking-change" indicator. + +Caret ranges are ideal when an author may make breaking changes +between `0.2.4` and `0.3.0` releases, which is a common practice. +However, it presumes that there will *not* be breaking changes between +`0.2.4` and `0.2.5`. It allows for changes that are presumed to be +additive (but non-breaking), according to commonly observed practices. + +* `^1.2.3` := `>=1.2.3 <2.0.0-0` +* `^0.2.3` := `>=0.2.3 <0.3.0-0` +* `^0.0.3` := `>=0.0.3 <0.0.4-0` +* `^1.2.3-beta.2` := `>=1.2.3-beta.2 <2.0.0-0` Note that prereleases in + the `1.2.3` version will be allowed, if they are greater than or + equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but + `1.2.4-beta.2` would not, because it is a prerelease of a + different `[major, minor, patch]` tuple. +* `^0.0.3-beta` := `>=0.0.3-beta <0.0.4-0` Note that prereleases in the + `0.0.3` version *only* will be allowed, if they are greater than or + equal to `beta`. So, `0.0.3-pr.2` would be allowed. + +When parsing caret ranges, a missing `patch` value desugars to the +number `0`, but will allow flexibility within that value, even if the +major and minor versions are both `0`. + +* `^1.2.x` := `>=1.2.0 <2.0.0-0` +* `^0.0.x` := `>=0.0.0 <0.1.0-0` +* `^0.0` := `>=0.0.0 <0.1.0-0` + +A missing `minor` and `patch` values will desugar to zero, but also +allow flexibility within those values, even if the major version is +zero. + +* `^1.x` := `>=1.0.0 <2.0.0-0` +* `^0.x` := `>=0.0.0 <1.0.0-0` + +### Range Grammar + +Putting all this together, here is a Backus-Naur grammar for ranges, +for the benefit of parser authors: + +```bnf +range-set ::= range ( logical-or range ) * +logical-or ::= ( ' ' ) * '||' ( ' ' ) * +range ::= hyphen | simple ( ' ' simple ) * | '' +hyphen ::= partial ' - ' partial +simple ::= primitive | partial | tilde | caret +primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial +partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )? +xr ::= 'x' | 'X' | '*' | nr +nr ::= '0' | ['1'-'9'] ( ['0'-'9'] ) * +tilde ::= '~' partial +caret ::= '^' partial +qualifier ::= ( '-' pre )? ( '+' build )? +pre ::= parts +build ::= parts +parts ::= part ( '.' part ) * +part ::= nr | [-0-9A-Za-z]+ +``` + +## Functions + +All methods and classes take a final `options` object argument. All +options in this object are `false` by default. The options supported +are: + +- `loose`: Be more forgiving about not-quite-valid semver strings. + (Any resulting output will always be 100% strict compliant, of + course.) For backwards compatibility reasons, if the `options` + argument is a boolean value instead of an object, it is interpreted + to be the `loose` param. +- `includePrerelease`: Set to suppress the [default + behavior](https://github.com/npm/node-semver#prerelease-tags) of + excluding prerelease tagged versions from ranges unless they are + explicitly opted into. + +Strict-mode Comparators and Ranges will be strict about the SemVer +strings that they parse. + +* `valid(v)`: Return the parsed version, or null if it's not valid. +* `inc(v, releaseType, options, identifier, identifierBase)`: + Return the version incremented by the release + type (`major`, `premajor`, `minor`, `preminor`, `patch`, + `prepatch`, `prerelease`, or `release`), or null if it's not valid + * `premajor` in one call will bump the version up to the next major + version and down to a prerelease of that major version. + `preminor`, and `prepatch` work the same way. + * If called from a non-prerelease version, `prerelease` will work the + same as `prepatch`. It increments the patch version and then makes a + prerelease. If the input version is already a prerelease it simply + increments it. + * `release` will remove any prerelease part of the version. + * `identifier` can be used to prefix `premajor`, `preminor`, + `prepatch`, or `prerelease` version increments. `identifierBase` + is the base to be used for the `prerelease` identifier. +* `prerelease(v)`: Returns an array of prerelease components, or null + if none exist. Example: `prerelease('1.2.3-alpha.1') -> ['alpha', 1]` +* `major(v)`: Return the major version number. +* `minor(v)`: Return the minor version number. +* `patch(v)`: Return the patch version number. +* `intersects(r1, r2, loose)`: Return true if the two supplied ranges + or comparators intersect. +* `parse(v)`: Attempt to parse a string as a semantic version, returning either + a `SemVer` object or `null`. + +### Comparison + +* `gt(v1, v2)`: `v1 > v2` +* `gte(v1, v2)`: `v1 >= v2` +* `lt(v1, v2)`: `v1 < v2` +* `lte(v1, v2)`: `v1 <= v2` +* `eq(v1, v2)`: `v1 == v2` This is true if they're logically equivalent, + even if they're not the same string. You already know how to + compare strings. +* `neq(v1, v2)`: `v1 != v2` The opposite of `eq`. +* `cmp(v1, comparator, v2)`: Pass in a comparison string, and it'll call + the corresponding function above. `"==="` and `"!=="` do simple + string comparison, but are included for completeness. Throws if an + invalid comparison string is provided. +* `compare(v1, v2)`: Return `0` if `v1 == v2`, or `1` if `v1` is greater, or `-1` if + `v2` is greater. Sorts in ascending order if passed to `Array.sort()`. +* `rcompare(v1, v2)`: The reverse of `compare`. Sorts an array of versions + in descending order when passed to `Array.sort()`. +* `compareBuild(v1, v2)`: The same as `compare` but considers `build` when two versions + are equal. Sorts in ascending order if passed to `Array.sort()`. +* `compareLoose(v1, v2)`: Short for `compare(v1, v2, { loose: true })`. +* `diff(v1, v2)`: Returns the difference between two versions by the release type + (`major`, `premajor`, `minor`, `preminor`, `patch`, `prepatch`, or `prerelease`), + or null if the versions are the same. + +### Sorting + +* `sort(versions)`: Returns a sorted array of versions based on the `compareBuild` + function. +* `rsort(versions)`: The reverse of `sort`. Returns an array of versions based on + the `compareBuild` function in descending order. + +### Comparators + +* `intersects(comparator)`: Return true if the comparators intersect + +### Ranges + +* `validRange(range)`: Return the valid range or null if it's not valid. +* `satisfies(version, range)`: Return true if the version satisfies the + range. +* `maxSatisfying(versions, range)`: Return the highest version in the list + that satisfies the range, or `null` if none of them do. +* `minSatisfying(versions, range)`: Return the lowest version in the list + that satisfies the range, or `null` if none of them do. +* `minVersion(range)`: Return the lowest version that can match + the given range. +* `gtr(version, range)`: Return `true` if the version is greater than all the + versions possible in the range. +* `ltr(version, range)`: Return `true` if the version is less than all the + versions possible in the range. +* `outside(version, range, hilo)`: Return true if the version is outside + the bounds of the range in either the high or low direction. The + `hilo` argument must be either the string `'>'` or `'<'`. (This is + the function called by `gtr` and `ltr`.) +* `intersects(range)`: Return true if any of the range comparators intersect. +* `simplifyRange(versions, range)`: Return a "simplified" range that + matches the same items in the `versions` list as the range specified. Note + that it does *not* guarantee that it would match the same versions in all + cases, only for the set of versions provided. This is useful when + generating ranges by joining together multiple versions with `||` + programmatically, to provide the user with something a bit more + ergonomic. If the provided range is shorter in string-length than the + generated range, then that is returned. +* `subset(subRange, superRange)`: Return `true` if the `subRange` range is + entirely contained by the `superRange` range. + +Note that, since ranges may be non-contiguous, a version might not be +greater than a range, less than a range, *or* satisfy a range! For +example, the range `1.2 <1.2.9 || >2.0.0` would have a hole from `1.2.9` +until `2.0.0`, so version `1.2.10` would not be greater than the +range (because `2.0.1` satisfies, which is higher), nor less than the +range (since `1.2.8` satisfies, which is lower), and it also does not +satisfy the range. + +If you want to know if a version satisfies or does not satisfy a +range, use the `satisfies(version, range)` function. + +### Coercion + +* `coerce(version, options)`: Coerces a string to semver if possible + +This aims to provide a very forgiving translation of a non-semver string to +semver. It looks for the first digit in a string and consumes all +remaining characters which satisfy at least a partial semver (e.g., `1`, +`1.2`, `1.2.3`) up to the max permitted length (256 characters). Longer +versions are simply truncated (`4.6.3.9.2-alpha2` becomes `4.6.3`). All +surrounding text is simply ignored (`v3.4 replaces v3.3.1` becomes +`3.4.0`). Only text which lacks digits will fail coercion (`version one` +is not valid). The maximum length for any semver component considered for +coercion is 16 characters; longer components will be ignored +(`10000000000000000.4.7.4` becomes `4.7.4`). The maximum value for any +semver component is `Number.MAX_SAFE_INTEGER || (2**53 - 1)`; higher value +components are invalid (`9999999999999999.4.7.4` is likely invalid). + +If the `options.rtl` flag is set, then `coerce` will return the right-most +coercible tuple that does not share an ending index with a longer coercible +tuple. For example, `1.2.3.4` will return `2.3.4` in rtl mode, not +`4.0.0`. `1.2.3/4` will return `4.0.0`, because the `4` is not a part of +any other overlapping SemVer tuple. + +If the `options.includePrerelease` flag is set, then the `coerce` result will contain +prerelease and build parts of a version. For example, `1.2.3.4-rc.1+rev.2` +will preserve prerelease `rc.1` and build `rev.2` in the result. + +### Clean + +* `clean(version)`: Clean a string to be a valid semver if possible + +This will return a cleaned and trimmed semver version. If the provided +version is not valid a null will be returned. This does not work for +ranges. + +ex. +* `s.clean(' = v 2.1.5foo')`: `null` +* `s.clean(' = v 2.1.5foo', { loose: true })`: `'2.1.5-foo'` +* `s.clean(' = v 2.1.5-foo')`: `null` +* `s.clean(' = v 2.1.5-foo', { loose: true })`: `'2.1.5-foo'` +* `s.clean('=v2.1.5')`: `'2.1.5'` +* `s.clean(' =v2.1.5')`: `'2.1.5'` +* `s.clean(' 2.1.5 ')`: `'2.1.5'` +* `s.clean('~1.0.0')`: `null` + +## Constants + +As a convenience, helper constants are exported to provide information about what `node-semver` supports: + +### `RELEASE_TYPES` + +- major +- premajor +- minor +- preminor +- patch +- prepatch +- prerelease + +``` +const semver = require('semver'); + +if (semver.RELEASE_TYPES.includes(arbitraryUserInput)) { + console.log('This is a valid release type!'); +} else { + console.warn('This is NOT a valid release type!'); +} +``` + +### `SEMVER_SPEC_VERSION` + +2.0.0 + +``` +const semver = require('semver'); + +console.log('We are currently using the semver specification version:', semver.SEMVER_SPEC_VERSION); +``` + +## Exported Modules + + + +You may pull in just the part of this semver utility that you need if you +are sensitive to packing and tree-shaking concerns. The main +`require('semver')` export uses getter functions to lazily load the parts +of the API that are used. + +The following modules are available: + +* `require('semver')` +* `require('semver/classes')` +* `require('semver/classes/comparator')` +* `require('semver/classes/range')` +* `require('semver/classes/semver')` +* `require('semver/functions/clean')` +* `require('semver/functions/cmp')` +* `require('semver/functions/coerce')` +* `require('semver/functions/compare')` +* `require('semver/functions/compare-build')` +* `require('semver/functions/compare-loose')` +* `require('semver/functions/diff')` +* `require('semver/functions/eq')` +* `require('semver/functions/gt')` +* `require('semver/functions/gte')` +* `require('semver/functions/inc')` +* `require('semver/functions/lt')` +* `require('semver/functions/lte')` +* `require('semver/functions/major')` +* `require('semver/functions/minor')` +* `require('semver/functions/neq')` +* `require('semver/functions/parse')` +* `require('semver/functions/patch')` +* `require('semver/functions/prerelease')` +* `require('semver/functions/rcompare')` +* `require('semver/functions/rsort')` +* `require('semver/functions/satisfies')` +* `require('semver/functions/sort')` +* `require('semver/functions/valid')` +* `require('semver/ranges/gtr')` +* `require('semver/ranges/intersects')` +* `require('semver/ranges/ltr')` +* `require('semver/ranges/max-satisfying')` +* `require('semver/ranges/min-satisfying')` +* `require('semver/ranges/min-version')` +* `require('semver/ranges/outside')` +* `require('semver/ranges/simplify')` +* `require('semver/ranges/subset')` +* `require('semver/ranges/to-comparators')` +* `require('semver/ranges/valid')` + diff --git a/back/node_modules/semver/bin/semver.js b/back/node_modules/semver/bin/semver.js new file mode 100644 index 0000000..d62bfc0 --- /dev/null +++ b/back/node_modules/semver/bin/semver.js @@ -0,0 +1,191 @@ +#!/usr/bin/env node +// Standalone semver comparison program. +// Exits successfully and prints matching version(s) if +// any supplied version is valid and passes all tests. + +'use strict' + +const argv = process.argv.slice(2) + +let versions = [] + +const range = [] + +let inc = null + +const version = require('../package.json').version + +let loose = false + +let includePrerelease = false + +let coerce = false + +let rtl = false + +let identifier + +let identifierBase + +const semver = require('../') +const parseOptions = require('../internal/parse-options') + +let reverse = false + +let options = {} + +const main = () => { + if (!argv.length) { + return help() + } + while (argv.length) { + let a = argv.shift() + const indexOfEqualSign = a.indexOf('=') + if (indexOfEqualSign !== -1) { + const value = a.slice(indexOfEqualSign + 1) + a = a.slice(0, indexOfEqualSign) + argv.unshift(value) + } + switch (a) { + case '-rv': case '-rev': case '--rev': case '--reverse': + reverse = true + break + case '-l': case '--loose': + loose = true + break + case '-p': case '--include-prerelease': + includePrerelease = true + break + case '-v': case '--version': + versions.push(argv.shift()) + break + case '-i': case '--inc': case '--increment': + switch (argv[0]) { + case 'major': case 'minor': case 'patch': case 'prerelease': + case 'premajor': case 'preminor': case 'prepatch': + case 'release': + inc = argv.shift() + break + default: + inc = 'patch' + break + } + break + case '--preid': + identifier = argv.shift() + break + case '-r': case '--range': + range.push(argv.shift()) + break + case '-n': + identifierBase = argv.shift() + if (identifierBase === 'false') { + identifierBase = false + } + break + case '-c': case '--coerce': + coerce = true + break + case '--rtl': + rtl = true + break + case '--ltr': + rtl = false + break + case '-h': case '--help': case '-?': + return help() + default: + versions.push(a) + break + } + } + + options = parseOptions({ loose, includePrerelease, rtl }) + + versions = versions.map((v) => { + return coerce ? (semver.coerce(v, options) || { version: v }).version : v + }).filter((v) => { + return semver.valid(v, options) + }) + if (!versions.length) { + return fail() + } + if (inc && (versions.length !== 1 || range.length)) { + return failInc() + } + + for (let i = 0, l = range.length; i < l; i++) { + versions = versions.filter((v) => { + return semver.satisfies(v, range[i], options) + }) + if (!versions.length) { + return fail() + } + } + versions + .sort((a, b) => semver[reverse ? 'rcompare' : 'compare'](a, b, options)) + .map(v => semver.clean(v, options)) + .map(v => inc ? semver.inc(v, inc, options, identifier, identifierBase) : v) + .forEach(v => console.log(v)) +} + +const failInc = () => { + console.error('--inc can only be used on a single version with no range') + fail() +} + +const fail = () => process.exit(1) + +const help = () => console.log( +`SemVer ${version} + +A JavaScript implementation of the https://semver.org/ specification +Copyright Isaac Z. Schlueter + +Usage: semver [options] [ [...]] +Prints valid versions sorted by SemVer precedence + +Options: +-r --range + Print versions that match the specified range. + +-i --increment [] + Increment a version by the specified level. Level can + be one of: major, minor, patch, premajor, preminor, + prepatch, prerelease, or release. Default level is 'patch'. + Only one version may be specified. + +--preid + Identifier to be used to prefix premajor, preminor, + prepatch or prerelease version increments. + +-l --loose + Interpret versions and ranges loosely + +-p --include-prerelease + Always include prerelease versions in range matching + +-c --coerce + Coerce a string into SemVer if possible + (does not imply --loose) + +--rtl + Coerce version strings right to left + +--ltr + Coerce version strings left to right (default) + +-n + Base number to be used for the prerelease identifier. + Can be either 0 or 1, or false to omit the number altogether. + Defaults to 0. + +Program exits successfully if any valid version satisfies +all supplied ranges, and prints all satisfying versions. + +If no satisfying versions are found, then exits failure. + +Versions are printed in ascending order, so supplying +multiple versions to the utility will just sort them.`) + +main() diff --git a/back/node_modules/semver/classes/comparator.js b/back/node_modules/semver/classes/comparator.js new file mode 100644 index 0000000..647c1f0 --- /dev/null +++ b/back/node_modules/semver/classes/comparator.js @@ -0,0 +1,143 @@ +'use strict' + +const ANY = Symbol('SemVer ANY') +// hoisted class for cyclic dependency +class Comparator { + static get ANY () { + return ANY + } + + constructor (comp, options) { + options = parseOptions(options) + + if (comp instanceof Comparator) { + if (comp.loose === !!options.loose) { + return comp + } else { + comp = comp.value + } + } + + comp = comp.trim().split(/\s+/).join(' ') + debug('comparator', comp, options) + this.options = options + this.loose = !!options.loose + this.parse(comp) + + if (this.semver === ANY) { + this.value = '' + } else { + this.value = this.operator + this.semver.version + } + + debug('comp', this) + } + + parse (comp) { + const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR] + const m = comp.match(r) + + if (!m) { + throw new TypeError(`Invalid comparator: ${comp}`) + } + + this.operator = m[1] !== undefined ? m[1] : '' + if (this.operator === '=') { + this.operator = '' + } + + // if it literally is just '>' or '' then allow anything. + if (!m[2]) { + this.semver = ANY + } else { + this.semver = new SemVer(m[2], this.options.loose) + } + } + + toString () { + return this.value + } + + test (version) { + debug('Comparator.test', version, this.options.loose) + + if (this.semver === ANY || version === ANY) { + return true + } + + if (typeof version === 'string') { + try { + version = new SemVer(version, this.options) + } catch (er) { + return false + } + } + + return cmp(version, this.operator, this.semver, this.options) + } + + intersects (comp, options) { + if (!(comp instanceof Comparator)) { + throw new TypeError('a Comparator is required') + } + + if (this.operator === '') { + if (this.value === '') { + return true + } + return new Range(comp.value, options).test(this.value) + } else if (comp.operator === '') { + if (comp.value === '') { + return true + } + return new Range(this.value, options).test(comp.semver) + } + + options = parseOptions(options) + + // Special cases where nothing can possibly be lower + if (options.includePrerelease && + (this.value === '<0.0.0-0' || comp.value === '<0.0.0-0')) { + return false + } + if (!options.includePrerelease && + (this.value.startsWith('<0.0.0') || comp.value.startsWith('<0.0.0'))) { + return false + } + + // Same direction increasing (> or >=) + if (this.operator.startsWith('>') && comp.operator.startsWith('>')) { + return true + } + // Same direction decreasing (< or <=) + if (this.operator.startsWith('<') && comp.operator.startsWith('<')) { + return true + } + // same SemVer and both sides are inclusive (<= or >=) + if ( + (this.semver.version === comp.semver.version) && + this.operator.includes('=') && comp.operator.includes('=')) { + return true + } + // opposite directions less than + if (cmp(this.semver, '<', comp.semver, options) && + this.operator.startsWith('>') && comp.operator.startsWith('<')) { + return true + } + // opposite directions greater than + if (cmp(this.semver, '>', comp.semver, options) && + this.operator.startsWith('<') && comp.operator.startsWith('>')) { + return true + } + return false + } +} + +module.exports = Comparator + +const parseOptions = require('../internal/parse-options') +const { safeRe: re, t } = require('../internal/re') +const cmp = require('../functions/cmp') +const debug = require('../internal/debug') +const SemVer = require('./semver') +const Range = require('./range') diff --git a/back/node_modules/semver/classes/index.js b/back/node_modules/semver/classes/index.js new file mode 100644 index 0000000..91c24ec --- /dev/null +++ b/back/node_modules/semver/classes/index.js @@ -0,0 +1,7 @@ +'use strict' + +module.exports = { + SemVer: require('./semver.js'), + Range: require('./range.js'), + Comparator: require('./comparator.js'), +} diff --git a/back/node_modules/semver/classes/range.js b/back/node_modules/semver/classes/range.js new file mode 100644 index 0000000..94629ce --- /dev/null +++ b/back/node_modules/semver/classes/range.js @@ -0,0 +1,557 @@ +'use strict' + +const SPACE_CHARACTERS = /\s+/g + +// hoisted class for cyclic dependency +class Range { + constructor (range, options) { + options = parseOptions(options) + + if (range instanceof Range) { + if ( + range.loose === !!options.loose && + range.includePrerelease === !!options.includePrerelease + ) { + return range + } else { + return new Range(range.raw, options) + } + } + + if (range instanceof Comparator) { + // just put it in the set and return + this.raw = range.value + this.set = [[range]] + this.formatted = undefined + return this + } + + this.options = options + this.loose = !!options.loose + this.includePrerelease = !!options.includePrerelease + + // First reduce all whitespace as much as possible so we do not have to rely + // on potentially slow regexes like \s*. This is then stored and used for + // future error messages as well. + this.raw = range.trim().replace(SPACE_CHARACTERS, ' ') + + // First, split on || + this.set = this.raw + .split('||') + // map the range to a 2d array of comparators + .map(r => this.parseRange(r.trim())) + // throw out any comparator lists that are empty + // this generally means that it was not a valid range, which is allowed + // in loose mode, but will still throw if the WHOLE range is invalid. + .filter(c => c.length) + + if (!this.set.length) { + throw new TypeError(`Invalid SemVer Range: ${this.raw}`) + } + + // if we have any that are not the null set, throw out null sets. + if (this.set.length > 1) { + // keep the first one, in case they're all null sets + const first = this.set[0] + this.set = this.set.filter(c => !isNullSet(c[0])) + if (this.set.length === 0) { + this.set = [first] + } else if (this.set.length > 1) { + // if we have any that are *, then the range is just * + for (const c of this.set) { + if (c.length === 1 && isAny(c[0])) { + this.set = [c] + break + } + } + } + } + + this.formatted = undefined + } + + get range () { + if (this.formatted === undefined) { + this.formatted = '' + for (let i = 0; i < this.set.length; i++) { + if (i > 0) { + this.formatted += '||' + } + const comps = this.set[i] + for (let k = 0; k < comps.length; k++) { + if (k > 0) { + this.formatted += ' ' + } + this.formatted += comps[k].toString().trim() + } + } + } + return this.formatted + } + + format () { + return this.range + } + + toString () { + return this.range + } + + parseRange (range) { + // memoize range parsing for performance. + // this is a very hot path, and fully deterministic. + const memoOpts = + (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | + (this.options.loose && FLAG_LOOSE) + const memoKey = memoOpts + ':' + range + const cached = cache.get(memoKey) + if (cached) { + return cached + } + + const loose = this.options.loose + // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4` + const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE] + range = range.replace(hr, hyphenReplace(this.options.includePrerelease)) + debug('hyphen replace', range) + + // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5` + range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace) + debug('comparator trim', range) + + // `~ 1.2.3` => `~1.2.3` + range = range.replace(re[t.TILDETRIM], tildeTrimReplace) + debug('tilde trim', range) + + // `^ 1.2.3` => `^1.2.3` + range = range.replace(re[t.CARETTRIM], caretTrimReplace) + debug('caret trim', range) + + // At this point, the range is completely trimmed and + // ready to be split into comparators. + + let rangeList = range + .split(' ') + .map(comp => parseComparator(comp, this.options)) + .join(' ') + .split(/\s+/) + // >=0.0.0 is equivalent to * + .map(comp => replaceGTE0(comp, this.options)) + + if (loose) { + // in loose mode, throw out any that are not valid comparators + rangeList = rangeList.filter(comp => { + debug('loose invalid filter', comp, this.options) + return !!comp.match(re[t.COMPARATORLOOSE]) + }) + } + debug('range list', rangeList) + + // if any comparators are the null set, then replace with JUST null set + // if more than one comparator, remove any * comparators + // also, don't include the same comparator more than once + const rangeMap = new Map() + const comparators = rangeList.map(comp => new Comparator(comp, this.options)) + for (const comp of comparators) { + if (isNullSet(comp)) { + return [comp] + } + rangeMap.set(comp.value, comp) + } + if (rangeMap.size > 1 && rangeMap.has('')) { + rangeMap.delete('') + } + + const result = [...rangeMap.values()] + cache.set(memoKey, result) + return result + } + + intersects (range, options) { + if (!(range instanceof Range)) { + throw new TypeError('a Range is required') + } + + return this.set.some((thisComparators) => { + return ( + isSatisfiable(thisComparators, options) && + range.set.some((rangeComparators) => { + return ( + isSatisfiable(rangeComparators, options) && + thisComparators.every((thisComparator) => { + return rangeComparators.every((rangeComparator) => { + return thisComparator.intersects(rangeComparator, options) + }) + }) + ) + }) + ) + }) + } + + // if ANY of the sets match ALL of its comparators, then pass + test (version) { + if (!version) { + return false + } + + if (typeof version === 'string') { + try { + version = new SemVer(version, this.options) + } catch (er) { + return false + } + } + + for (let i = 0; i < this.set.length; i++) { + if (testSet(this.set[i], version, this.options)) { + return true + } + } + return false + } +} + +module.exports = Range + +const LRU = require('../internal/lrucache') +const cache = new LRU() + +const parseOptions = require('../internal/parse-options') +const Comparator = require('./comparator') +const debug = require('../internal/debug') +const SemVer = require('./semver') +const { + safeRe: re, + t, + comparatorTrimReplace, + tildeTrimReplace, + caretTrimReplace, +} = require('../internal/re') +const { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require('../internal/constants') + +const isNullSet = c => c.value === '<0.0.0-0' +const isAny = c => c.value === '' + +// take a set of comparators and determine whether there +// exists a version which can satisfy it +const isSatisfiable = (comparators, options) => { + let result = true + const remainingComparators = comparators.slice() + let testComparator = remainingComparators.pop() + + while (result && remainingComparators.length) { + result = remainingComparators.every((otherComparator) => { + return testComparator.intersects(otherComparator, options) + }) + + testComparator = remainingComparators.pop() + } + + return result +} + +// comprised of xranges, tildes, stars, and gtlt's at this point. +// already replaced the hyphen ranges +// turn into a set of JUST comparators. +const parseComparator = (comp, options) => { + comp = comp.replace(re[t.BUILD], '') + debug('comp', comp, options) + comp = replaceCarets(comp, options) + debug('caret', comp) + comp = replaceTildes(comp, options) + debug('tildes', comp) + comp = replaceXRanges(comp, options) + debug('xrange', comp) + comp = replaceStars(comp, options) + debug('stars', comp) + return comp +} + +const isX = id => !id || id.toLowerCase() === 'x' || id === '*' + +// ~, ~> --> * (any, kinda silly) +// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0 +// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0 +// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0 +// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0 +// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0 +// ~0.0.1 --> >=0.0.1 <0.1.0-0 +const replaceTildes = (comp, options) => { + return comp + .trim() + .split(/\s+/) + .map((c) => replaceTilde(c, options)) + .join(' ') +} + +const replaceTilde = (comp, options) => { + const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE] + return comp.replace(r, (_, M, m, p, pr) => { + debug('tilde', comp, _, M, m, p, pr) + let ret + + if (isX(M)) { + ret = '' + } else if (isX(m)) { + ret = `>=${M}.0.0 <${+M + 1}.0.0-0` + } else if (isX(p)) { + // ~1.2 == >=1.2.0 <1.3.0-0 + ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0` + } else if (pr) { + debug('replaceTilde pr', pr) + ret = `>=${M}.${m}.${p}-${pr + } <${M}.${+m + 1}.0-0` + } else { + // ~1.2.3 == >=1.2.3 <1.3.0-0 + ret = `>=${M}.${m}.${p + } <${M}.${+m + 1}.0-0` + } + + debug('tilde return', ret) + return ret + }) +} + +// ^ --> * (any, kinda silly) +// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0 +// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0 +// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0 +// ^1.2.3 --> >=1.2.3 <2.0.0-0 +// ^1.2.0 --> >=1.2.0 <2.0.0-0 +// ^0.0.1 --> >=0.0.1 <0.0.2-0 +// ^0.1.0 --> >=0.1.0 <0.2.0-0 +const replaceCarets = (comp, options) => { + return comp + .trim() + .split(/\s+/) + .map((c) => replaceCaret(c, options)) + .join(' ') +} + +const replaceCaret = (comp, options) => { + debug('caret', comp, options) + const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET] + const z = options.includePrerelease ? '-0' : '' + return comp.replace(r, (_, M, m, p, pr) => { + debug('caret', comp, _, M, m, p, pr) + let ret + + if (isX(M)) { + ret = '' + } else if (isX(m)) { + ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0` + } else if (isX(p)) { + if (M === '0') { + ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0` + } else { + ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0` + } + } else if (pr) { + debug('replaceCaret pr', pr) + if (M === '0') { + if (m === '0') { + ret = `>=${M}.${m}.${p}-${pr + } <${M}.${m}.${+p + 1}-0` + } else { + ret = `>=${M}.${m}.${p}-${pr + } <${M}.${+m + 1}.0-0` + } + } else { + ret = `>=${M}.${m}.${p}-${pr + } <${+M + 1}.0.0-0` + } + } else { + debug('no pr') + if (M === '0') { + if (m === '0') { + ret = `>=${M}.${m}.${p + }${z} <${M}.${m}.${+p + 1}-0` + } else { + ret = `>=${M}.${m}.${p + }${z} <${M}.${+m + 1}.0-0` + } + } else { + ret = `>=${M}.${m}.${p + } <${+M + 1}.0.0-0` + } + } + + debug('caret return', ret) + return ret + }) +} + +const replaceXRanges = (comp, options) => { + debug('replaceXRanges', comp, options) + return comp + .split(/\s+/) + .map((c) => replaceXRange(c, options)) + .join(' ') +} + +const replaceXRange = (comp, options) => { + comp = comp.trim() + const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE] + return comp.replace(r, (ret, gtlt, M, m, p, pr) => { + debug('xRange', comp, ret, gtlt, M, m, p, pr) + const xM = isX(M) + const xm = xM || isX(m) + const xp = xm || isX(p) + const anyX = xp + + if (gtlt === '=' && anyX) { + gtlt = '' + } + + // if we're including prereleases in the match, then we need + // to fix this to -0, the lowest possible prerelease value + pr = options.includePrerelease ? '-0' : '' + + if (xM) { + if (gtlt === '>' || gtlt === '<') { + // nothing is allowed + ret = '<0.0.0-0' + } else { + // nothing is forbidden + ret = '*' + } + } else if (gtlt && anyX) { + // we know patch is an x, because we have any x at all. + // replace X with 0 + if (xm) { + m = 0 + } + p = 0 + + if (gtlt === '>') { + // >1 => >=2.0.0 + // >1.2 => >=1.3.0 + gtlt = '>=' + if (xm) { + M = +M + 1 + m = 0 + p = 0 + } else { + m = +m + 1 + p = 0 + } + } else if (gtlt === '<=') { + // <=0.7.x is actually <0.8.0, since any 0.7.x should + // pass. Similarly, <=7.x is actually <8.0.0, etc. + gtlt = '<' + if (xm) { + M = +M + 1 + } else { + m = +m + 1 + } + } + + if (gtlt === '<') { + pr = '-0' + } + + ret = `${gtlt + M}.${m}.${p}${pr}` + } else if (xm) { + ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0` + } else if (xp) { + ret = `>=${M}.${m}.0${pr + } <${M}.${+m + 1}.0-0` + } + + debug('xRange return', ret) + + return ret + }) +} + +// Because * is AND-ed with everything else in the comparator, +// and '' means "any version", just remove the *s entirely. +const replaceStars = (comp, options) => { + debug('replaceStars', comp, options) + // Looseness is ignored here. star is always as loose as it gets! + return comp + .trim() + .replace(re[t.STAR], '') +} + +const replaceGTE0 = (comp, options) => { + debug('replaceGTE0', comp, options) + return comp + .trim() + .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '') +} + +// This function is passed to string.replace(re[t.HYPHENRANGE]) +// M, m, patch, prerelease, build +// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5 +// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do +// 1.2 - 3.4 => >=1.2.0 <3.5.0-0 +// TODO build? +const hyphenReplace = incPr => ($0, + from, fM, fm, fp, fpr, fb, + to, tM, tm, tp, tpr) => { + if (isX(fM)) { + from = '' + } else if (isX(fm)) { + from = `>=${fM}.0.0${incPr ? '-0' : ''}` + } else if (isX(fp)) { + from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}` + } else if (fpr) { + from = `>=${from}` + } else { + from = `>=${from}${incPr ? '-0' : ''}` + } + + if (isX(tM)) { + to = '' + } else if (isX(tm)) { + to = `<${+tM + 1}.0.0-0` + } else if (isX(tp)) { + to = `<${tM}.${+tm + 1}.0-0` + } else if (tpr) { + to = `<=${tM}.${tm}.${tp}-${tpr}` + } else if (incPr) { + to = `<${tM}.${tm}.${+tp + 1}-0` + } else { + to = `<=${to}` + } + + return `${from} ${to}`.trim() +} + +const testSet = (set, version, options) => { + for (let i = 0; i < set.length; i++) { + if (!set[i].test(version)) { + return false + } + } + + if (version.prerelease.length && !options.includePrerelease) { + // Find the set of versions that are allowed to have prereleases + // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0 + // That should allow `1.2.3-pr.2` to pass. + // However, `1.2.4-alpha.notready` should NOT be allowed, + // even though it's within the range set by the comparators. + for (let i = 0; i < set.length; i++) { + debug(set[i].semver) + if (set[i].semver === Comparator.ANY) { + continue + } + + if (set[i].semver.prerelease.length > 0) { + const allowed = set[i].semver + if (allowed.major === version.major && + allowed.minor === version.minor && + allowed.patch === version.patch) { + return true + } + } + } + + // Version has a -pre, but it's not one of the ones we like. + return false + } + + return true +} diff --git a/back/node_modules/semver/classes/semver.js b/back/node_modules/semver/classes/semver.js new file mode 100644 index 0000000..92254be --- /dev/null +++ b/back/node_modules/semver/classes/semver.js @@ -0,0 +1,333 @@ +'use strict' + +const debug = require('../internal/debug') +const { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants') +const { safeRe: re, t } = require('../internal/re') + +const parseOptions = require('../internal/parse-options') +const { compareIdentifiers } = require('../internal/identifiers') +class SemVer { + constructor (version, options) { + options = parseOptions(options) + + if (version instanceof SemVer) { + if (version.loose === !!options.loose && + version.includePrerelease === !!options.includePrerelease) { + return version + } else { + version = version.version + } + } else if (typeof version !== 'string') { + throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`) + } + + if (version.length > MAX_LENGTH) { + throw new TypeError( + `version is longer than ${MAX_LENGTH} characters` + ) + } + + debug('SemVer', version, options) + this.options = options + this.loose = !!options.loose + // this isn't actually relevant for versions, but keep it so that we + // don't run into trouble passing this.options around. + this.includePrerelease = !!options.includePrerelease + + const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]) + + if (!m) { + throw new TypeError(`Invalid Version: ${version}`) + } + + this.raw = version + + // these are actually numbers + this.major = +m[1] + this.minor = +m[2] + this.patch = +m[3] + + if (this.major > MAX_SAFE_INTEGER || this.major < 0) { + throw new TypeError('Invalid major version') + } + + if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { + throw new TypeError('Invalid minor version') + } + + if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { + throw new TypeError('Invalid patch version') + } + + // numberify any prerelease numeric ids + if (!m[4]) { + this.prerelease = [] + } else { + this.prerelease = m[4].split('.').map((id) => { + if (/^[0-9]+$/.test(id)) { + const num = +id + if (num >= 0 && num < MAX_SAFE_INTEGER) { + return num + } + } + return id + }) + } + + this.build = m[5] ? m[5].split('.') : [] + this.format() + } + + format () { + this.version = `${this.major}.${this.minor}.${this.patch}` + if (this.prerelease.length) { + this.version += `-${this.prerelease.join('.')}` + } + return this.version + } + + toString () { + return this.version + } + + compare (other) { + debug('SemVer.compare', this.version, this.options, other) + if (!(other instanceof SemVer)) { + if (typeof other === 'string' && other === this.version) { + return 0 + } + other = new SemVer(other, this.options) + } + + if (other.version === this.version) { + return 0 + } + + return this.compareMain(other) || this.comparePre(other) + } + + compareMain (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + if (this.major < other.major) { + return -1 + } + if (this.major > other.major) { + return 1 + } + if (this.minor < other.minor) { + return -1 + } + if (this.minor > other.minor) { + return 1 + } + if (this.patch < other.patch) { + return -1 + } + if (this.patch > other.patch) { + return 1 + } + return 0 + } + + comparePre (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + // NOT having a prerelease is > having one + if (this.prerelease.length && !other.prerelease.length) { + return -1 + } else if (!this.prerelease.length && other.prerelease.length) { + return 1 + } else if (!this.prerelease.length && !other.prerelease.length) { + return 0 + } + + let i = 0 + do { + const a = this.prerelease[i] + const b = other.prerelease[i] + debug('prerelease compare', i, a, b) + if (a === undefined && b === undefined) { + return 0 + } else if (b === undefined) { + return 1 + } else if (a === undefined) { + return -1 + } else if (a === b) { + continue + } else { + return compareIdentifiers(a, b) + } + } while (++i) + } + + compareBuild (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + let i = 0 + do { + const a = this.build[i] + const b = other.build[i] + debug('build compare', i, a, b) + if (a === undefined && b === undefined) { + return 0 + } else if (b === undefined) { + return 1 + } else if (a === undefined) { + return -1 + } else if (a === b) { + continue + } else { + return compareIdentifiers(a, b) + } + } while (++i) + } + + // preminor will bump the version up to the next minor release, and immediately + // down to pre-release. premajor and prepatch work the same way. + inc (release, identifier, identifierBase) { + if (release.startsWith('pre')) { + if (!identifier && identifierBase === false) { + throw new Error('invalid increment argument: identifier is empty') + } + // Avoid an invalid semver results + if (identifier) { + const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]) + if (!match || match[1] !== identifier) { + throw new Error(`invalid identifier: ${identifier}`) + } + } + } + + switch (release) { + case 'premajor': + this.prerelease.length = 0 + this.patch = 0 + this.minor = 0 + this.major++ + this.inc('pre', identifier, identifierBase) + break + case 'preminor': + this.prerelease.length = 0 + this.patch = 0 + this.minor++ + this.inc('pre', identifier, identifierBase) + break + case 'prepatch': + // If this is already a prerelease, it will bump to the next version + // drop any prereleases that might already exist, since they are not + // relevant at this point. + this.prerelease.length = 0 + this.inc('patch', identifier, identifierBase) + this.inc('pre', identifier, identifierBase) + break + // If the input is a non-prerelease version, this acts the same as + // prepatch. + case 'prerelease': + if (this.prerelease.length === 0) { + this.inc('patch', identifier, identifierBase) + } + this.inc('pre', identifier, identifierBase) + break + case 'release': + if (this.prerelease.length === 0) { + throw new Error(`version ${this.raw} is not a prerelease`) + } + this.prerelease.length = 0 + break + + case 'major': + // If this is a pre-major version, bump up to the same major version. + // Otherwise increment major. + // 1.0.0-5 bumps to 1.0.0 + // 1.1.0 bumps to 2.0.0 + if ( + this.minor !== 0 || + this.patch !== 0 || + this.prerelease.length === 0 + ) { + this.major++ + } + this.minor = 0 + this.patch = 0 + this.prerelease = [] + break + case 'minor': + // If this is a pre-minor version, bump up to the same minor version. + // Otherwise increment minor. + // 1.2.0-5 bumps to 1.2.0 + // 1.2.1 bumps to 1.3.0 + if (this.patch !== 0 || this.prerelease.length === 0) { + this.minor++ + } + this.patch = 0 + this.prerelease = [] + break + case 'patch': + // If this is not a pre-release version, it will increment the patch. + // If it is a pre-release it will bump up to the same patch version. + // 1.2.0-5 patches to 1.2.0 + // 1.2.0 patches to 1.2.1 + if (this.prerelease.length === 0) { + this.patch++ + } + this.prerelease = [] + break + // This probably shouldn't be used publicly. + // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction. + case 'pre': { + const base = Number(identifierBase) ? 1 : 0 + + if (this.prerelease.length === 0) { + this.prerelease = [base] + } else { + let i = this.prerelease.length + while (--i >= 0) { + if (typeof this.prerelease[i] === 'number') { + this.prerelease[i]++ + i = -2 + } + } + if (i === -1) { + // didn't increment anything + if (identifier === this.prerelease.join('.') && identifierBase === false) { + throw new Error('invalid increment argument: identifier already exists') + } + this.prerelease.push(base) + } + } + if (identifier) { + // 1.2.0-beta.1 bumps to 1.2.0-beta.2, + // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0 + let prerelease = [identifier, base] + if (identifierBase === false) { + prerelease = [identifier] + } + if (compareIdentifiers(this.prerelease[0], identifier) === 0) { + if (isNaN(this.prerelease[1])) { + this.prerelease = prerelease + } + } else { + this.prerelease = prerelease + } + } + break + } + default: + throw new Error(`invalid increment argument: ${release}`) + } + this.raw = this.format() + if (this.build.length) { + this.raw += `+${this.build.join('.')}` + } + return this + } +} + +module.exports = SemVer diff --git a/back/node_modules/semver/functions/clean.js b/back/node_modules/semver/functions/clean.js new file mode 100644 index 0000000..79703d6 --- /dev/null +++ b/back/node_modules/semver/functions/clean.js @@ -0,0 +1,8 @@ +'use strict' + +const parse = require('./parse') +const clean = (version, options) => { + const s = parse(version.trim().replace(/^[=v]+/, ''), options) + return s ? s.version : null +} +module.exports = clean diff --git a/back/node_modules/semver/functions/cmp.js b/back/node_modules/semver/functions/cmp.js new file mode 100644 index 0000000..77487dc --- /dev/null +++ b/back/node_modules/semver/functions/cmp.js @@ -0,0 +1,54 @@ +'use strict' + +const eq = require('./eq') +const neq = require('./neq') +const gt = require('./gt') +const gte = require('./gte') +const lt = require('./lt') +const lte = require('./lte') + +const cmp = (a, op, b, loose) => { + switch (op) { + case '===': + if (typeof a === 'object') { + a = a.version + } + if (typeof b === 'object') { + b = b.version + } + return a === b + + case '!==': + if (typeof a === 'object') { + a = a.version + } + if (typeof b === 'object') { + b = b.version + } + return a !== b + + case '': + case '=': + case '==': + return eq(a, b, loose) + + case '!=': + return neq(a, b, loose) + + case '>': + return gt(a, b, loose) + + case '>=': + return gte(a, b, loose) + + case '<': + return lt(a, b, loose) + + case '<=': + return lte(a, b, loose) + + default: + throw new TypeError(`Invalid operator: ${op}`) + } +} +module.exports = cmp diff --git a/back/node_modules/semver/functions/coerce.js b/back/node_modules/semver/functions/coerce.js new file mode 100644 index 0000000..cfe0275 --- /dev/null +++ b/back/node_modules/semver/functions/coerce.js @@ -0,0 +1,62 @@ +'use strict' + +const SemVer = require('../classes/semver') +const parse = require('./parse') +const { safeRe: re, t } = require('../internal/re') + +const coerce = (version, options) => { + if (version instanceof SemVer) { + return version + } + + if (typeof version === 'number') { + version = String(version) + } + + if (typeof version !== 'string') { + return null + } + + options = options || {} + + let match = null + if (!options.rtl) { + match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]) + } else { + // Find the right-most coercible string that does not share + // a terminus with a more left-ward coercible string. + // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4' + // With includePrerelease option set, '1.2.3.4-rc' wants to coerce '2.3.4-rc', not '2.3.4' + // + // Walk through the string checking with a /g regexp + // Manually set the index so as to pick up overlapping matches. + // Stop when we get a match that ends at the string end, since no + // coercible string can be more right-ward without the same terminus. + const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL] + let next + while ((next = coerceRtlRegex.exec(version)) && + (!match || match.index + match[0].length !== version.length) + ) { + if (!match || + next.index + next[0].length !== match.index + match[0].length) { + match = next + } + coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length + } + // leave it in a clean state + coerceRtlRegex.lastIndex = -1 + } + + if (match === null) { + return null + } + + const major = match[2] + const minor = match[3] || '0' + const patch = match[4] || '0' + const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : '' + const build = options.includePrerelease && match[6] ? `+${match[6]}` : '' + + return parse(`${major}.${minor}.${patch}${prerelease}${build}`, options) +} +module.exports = coerce diff --git a/back/node_modules/semver/functions/compare-build.js b/back/node_modules/semver/functions/compare-build.js new file mode 100644 index 0000000..99157cf --- /dev/null +++ b/back/node_modules/semver/functions/compare-build.js @@ -0,0 +1,9 @@ +'use strict' + +const SemVer = require('../classes/semver') +const compareBuild = (a, b, loose) => { + const versionA = new SemVer(a, loose) + const versionB = new SemVer(b, loose) + return versionA.compare(versionB) || versionA.compareBuild(versionB) +} +module.exports = compareBuild diff --git a/back/node_modules/semver/functions/compare-loose.js b/back/node_modules/semver/functions/compare-loose.js new file mode 100644 index 0000000..7531634 --- /dev/null +++ b/back/node_modules/semver/functions/compare-loose.js @@ -0,0 +1,5 @@ +'use strict' + +const compare = require('./compare') +const compareLoose = (a, b) => compare(a, b, true) +module.exports = compareLoose diff --git a/back/node_modules/semver/functions/compare.js b/back/node_modules/semver/functions/compare.js new file mode 100644 index 0000000..63d8090 --- /dev/null +++ b/back/node_modules/semver/functions/compare.js @@ -0,0 +1,7 @@ +'use strict' + +const SemVer = require('../classes/semver') +const compare = (a, b, loose) => + new SemVer(a, loose).compare(new SemVer(b, loose)) + +module.exports = compare diff --git a/back/node_modules/semver/functions/diff.js b/back/node_modules/semver/functions/diff.js new file mode 100644 index 0000000..c99ab51 --- /dev/null +++ b/back/node_modules/semver/functions/diff.js @@ -0,0 +1,60 @@ +'use strict' + +const parse = require('./parse.js') + +const diff = (version1, version2) => { + const v1 = parse(version1, null, true) + const v2 = parse(version2, null, true) + const comparison = v1.compare(v2) + + if (comparison === 0) { + return null + } + + const v1Higher = comparison > 0 + const highVersion = v1Higher ? v1 : v2 + const lowVersion = v1Higher ? v2 : v1 + const highHasPre = !!highVersion.prerelease.length + const lowHasPre = !!lowVersion.prerelease.length + + if (lowHasPre && !highHasPre) { + // Going from prerelease -> no prerelease requires some special casing + + // If the low version has only a major, then it will always be a major + // Some examples: + // 1.0.0-1 -> 1.0.0 + // 1.0.0-1 -> 1.1.1 + // 1.0.0-1 -> 2.0.0 + if (!lowVersion.patch && !lowVersion.minor) { + return 'major' + } + + // If the main part has no difference + if (lowVersion.compareMain(highVersion) === 0) { + if (lowVersion.minor && !lowVersion.patch) { + return 'minor' + } + return 'patch' + } + } + + // add the `pre` prefix if we are going to a prerelease version + const prefix = highHasPre ? 'pre' : '' + + if (v1.major !== v2.major) { + return prefix + 'major' + } + + if (v1.minor !== v2.minor) { + return prefix + 'minor' + } + + if (v1.patch !== v2.patch) { + return prefix + 'patch' + } + + // high and low are prereleases + return 'prerelease' +} + +module.exports = diff diff --git a/back/node_modules/semver/functions/eq.js b/back/node_modules/semver/functions/eq.js new file mode 100644 index 0000000..5f0eead --- /dev/null +++ b/back/node_modules/semver/functions/eq.js @@ -0,0 +1,5 @@ +'use strict' + +const compare = require('./compare') +const eq = (a, b, loose) => compare(a, b, loose) === 0 +module.exports = eq diff --git a/back/node_modules/semver/functions/gt.js b/back/node_modules/semver/functions/gt.js new file mode 100644 index 0000000..84a57dd --- /dev/null +++ b/back/node_modules/semver/functions/gt.js @@ -0,0 +1,5 @@ +'use strict' + +const compare = require('./compare') +const gt = (a, b, loose) => compare(a, b, loose) > 0 +module.exports = gt diff --git a/back/node_modules/semver/functions/gte.js b/back/node_modules/semver/functions/gte.js new file mode 100644 index 0000000..7c52bdf --- /dev/null +++ b/back/node_modules/semver/functions/gte.js @@ -0,0 +1,5 @@ +'use strict' + +const compare = require('./compare') +const gte = (a, b, loose) => compare(a, b, loose) >= 0 +module.exports = gte diff --git a/back/node_modules/semver/functions/inc.js b/back/node_modules/semver/functions/inc.js new file mode 100644 index 0000000..ff999e9 --- /dev/null +++ b/back/node_modules/semver/functions/inc.js @@ -0,0 +1,21 @@ +'use strict' + +const SemVer = require('../classes/semver') + +const inc = (version, release, options, identifier, identifierBase) => { + if (typeof (options) === 'string') { + identifierBase = identifier + identifier = options + options = undefined + } + + try { + return new SemVer( + version instanceof SemVer ? version.version : version, + options + ).inc(release, identifier, identifierBase).version + } catch (er) { + return null + } +} +module.exports = inc diff --git a/back/node_modules/semver/functions/lt.js b/back/node_modules/semver/functions/lt.js new file mode 100644 index 0000000..2fb32a0 --- /dev/null +++ b/back/node_modules/semver/functions/lt.js @@ -0,0 +1,5 @@ +'use strict' + +const compare = require('./compare') +const lt = (a, b, loose) => compare(a, b, loose) < 0 +module.exports = lt diff --git a/back/node_modules/semver/functions/lte.js b/back/node_modules/semver/functions/lte.js new file mode 100644 index 0000000..da9ee8f --- /dev/null +++ b/back/node_modules/semver/functions/lte.js @@ -0,0 +1,5 @@ +'use strict' + +const compare = require('./compare') +const lte = (a, b, loose) => compare(a, b, loose) <= 0 +module.exports = lte diff --git a/back/node_modules/semver/functions/major.js b/back/node_modules/semver/functions/major.js new file mode 100644 index 0000000..e6d08dc --- /dev/null +++ b/back/node_modules/semver/functions/major.js @@ -0,0 +1,5 @@ +'use strict' + +const SemVer = require('../classes/semver') +const major = (a, loose) => new SemVer(a, loose).major +module.exports = major diff --git a/back/node_modules/semver/functions/minor.js b/back/node_modules/semver/functions/minor.js new file mode 100644 index 0000000..9e70ffd --- /dev/null +++ b/back/node_modules/semver/functions/minor.js @@ -0,0 +1,5 @@ +'use strict' + +const SemVer = require('../classes/semver') +const minor = (a, loose) => new SemVer(a, loose).minor +module.exports = minor diff --git a/back/node_modules/semver/functions/neq.js b/back/node_modules/semver/functions/neq.js new file mode 100644 index 0000000..84326b7 --- /dev/null +++ b/back/node_modules/semver/functions/neq.js @@ -0,0 +1,5 @@ +'use strict' + +const compare = require('./compare') +const neq = (a, b, loose) => compare(a, b, loose) !== 0 +module.exports = neq diff --git a/back/node_modules/semver/functions/parse.js b/back/node_modules/semver/functions/parse.js new file mode 100644 index 0000000..d544d33 --- /dev/null +++ b/back/node_modules/semver/functions/parse.js @@ -0,0 +1,18 @@ +'use strict' + +const SemVer = require('../classes/semver') +const parse = (version, options, throwErrors = false) => { + if (version instanceof SemVer) { + return version + } + try { + return new SemVer(version, options) + } catch (er) { + if (!throwErrors) { + return null + } + throw er + } +} + +module.exports = parse diff --git a/back/node_modules/semver/functions/patch.js b/back/node_modules/semver/functions/patch.js new file mode 100644 index 0000000..7675162 --- /dev/null +++ b/back/node_modules/semver/functions/patch.js @@ -0,0 +1,5 @@ +'use strict' + +const SemVer = require('../classes/semver') +const patch = (a, loose) => new SemVer(a, loose).patch +module.exports = patch diff --git a/back/node_modules/semver/functions/prerelease.js b/back/node_modules/semver/functions/prerelease.js new file mode 100644 index 0000000..b8fe1db --- /dev/null +++ b/back/node_modules/semver/functions/prerelease.js @@ -0,0 +1,8 @@ +'use strict' + +const parse = require('./parse') +const prerelease = (version, options) => { + const parsed = parse(version, options) + return (parsed && parsed.prerelease.length) ? parsed.prerelease : null +} +module.exports = prerelease diff --git a/back/node_modules/semver/functions/rcompare.js b/back/node_modules/semver/functions/rcompare.js new file mode 100644 index 0000000..8e1c222 --- /dev/null +++ b/back/node_modules/semver/functions/rcompare.js @@ -0,0 +1,5 @@ +'use strict' + +const compare = require('./compare') +const rcompare = (a, b, loose) => compare(b, a, loose) +module.exports = rcompare diff --git a/back/node_modules/semver/functions/rsort.js b/back/node_modules/semver/functions/rsort.js new file mode 100644 index 0000000..5d3d200 --- /dev/null +++ b/back/node_modules/semver/functions/rsort.js @@ -0,0 +1,5 @@ +'use strict' + +const compareBuild = require('./compare-build') +const rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose)) +module.exports = rsort diff --git a/back/node_modules/semver/functions/satisfies.js b/back/node_modules/semver/functions/satisfies.js new file mode 100644 index 0000000..a0264a2 --- /dev/null +++ b/back/node_modules/semver/functions/satisfies.js @@ -0,0 +1,12 @@ +'use strict' + +const Range = require('../classes/range') +const satisfies = (version, range, options) => { + try { + range = new Range(range, options) + } catch (er) { + return false + } + return range.test(version) +} +module.exports = satisfies diff --git a/back/node_modules/semver/functions/sort.js b/back/node_modules/semver/functions/sort.js new file mode 100644 index 0000000..edb24b1 --- /dev/null +++ b/back/node_modules/semver/functions/sort.js @@ -0,0 +1,5 @@ +'use strict' + +const compareBuild = require('./compare-build') +const sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose)) +module.exports = sort diff --git a/back/node_modules/semver/functions/valid.js b/back/node_modules/semver/functions/valid.js new file mode 100644 index 0000000..0db67ed --- /dev/null +++ b/back/node_modules/semver/functions/valid.js @@ -0,0 +1,8 @@ +'use strict' + +const parse = require('./parse') +const valid = (version, options) => { + const v = parse(version, options) + return v ? v.version : null +} +module.exports = valid diff --git a/back/node_modules/semver/index.js b/back/node_modules/semver/index.js new file mode 100644 index 0000000..285662a --- /dev/null +++ b/back/node_modules/semver/index.js @@ -0,0 +1,91 @@ +'use strict' + +// just pre-load all the stuff that index.js lazily exports +const internalRe = require('./internal/re') +const constants = require('./internal/constants') +const SemVer = require('./classes/semver') +const identifiers = require('./internal/identifiers') +const parse = require('./functions/parse') +const valid = require('./functions/valid') +const clean = require('./functions/clean') +const inc = require('./functions/inc') +const diff = require('./functions/diff') +const major = require('./functions/major') +const minor = require('./functions/minor') +const patch = require('./functions/patch') +const prerelease = require('./functions/prerelease') +const compare = require('./functions/compare') +const rcompare = require('./functions/rcompare') +const compareLoose = require('./functions/compare-loose') +const compareBuild = require('./functions/compare-build') +const sort = require('./functions/sort') +const rsort = require('./functions/rsort') +const gt = require('./functions/gt') +const lt = require('./functions/lt') +const eq = require('./functions/eq') +const neq = require('./functions/neq') +const gte = require('./functions/gte') +const lte = require('./functions/lte') +const cmp = require('./functions/cmp') +const coerce = require('./functions/coerce') +const Comparator = require('./classes/comparator') +const Range = require('./classes/range') +const satisfies = require('./functions/satisfies') +const toComparators = require('./ranges/to-comparators') +const maxSatisfying = require('./ranges/max-satisfying') +const minSatisfying = require('./ranges/min-satisfying') +const minVersion = require('./ranges/min-version') +const validRange = require('./ranges/valid') +const outside = require('./ranges/outside') +const gtr = require('./ranges/gtr') +const ltr = require('./ranges/ltr') +const intersects = require('./ranges/intersects') +const simplifyRange = require('./ranges/simplify') +const subset = require('./ranges/subset') +module.exports = { + parse, + valid, + clean, + inc, + diff, + major, + minor, + patch, + prerelease, + compare, + rcompare, + compareLoose, + compareBuild, + sort, + rsort, + gt, + lt, + eq, + neq, + gte, + lte, + cmp, + coerce, + Comparator, + Range, + satisfies, + toComparators, + maxSatisfying, + minSatisfying, + minVersion, + validRange, + outside, + gtr, + ltr, + intersects, + simplifyRange, + subset, + SemVer, + re: internalRe.re, + src: internalRe.src, + tokens: internalRe.t, + SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION, + RELEASE_TYPES: constants.RELEASE_TYPES, + compareIdentifiers: identifiers.compareIdentifiers, + rcompareIdentifiers: identifiers.rcompareIdentifiers, +} diff --git a/back/node_modules/semver/internal/constants.js b/back/node_modules/semver/internal/constants.js new file mode 100644 index 0000000..6d1db91 --- /dev/null +++ b/back/node_modules/semver/internal/constants.js @@ -0,0 +1,37 @@ +'use strict' + +// Note: this is the semver.org version of the spec that it implements +// Not necessarily the package version of this code. +const SEMVER_SPEC_VERSION = '2.0.0' + +const MAX_LENGTH = 256 +const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || +/* istanbul ignore next */ 9007199254740991 + +// Max safe segment length for coercion. +const MAX_SAFE_COMPONENT_LENGTH = 16 + +// Max safe length for a build identifier. The max length minus 6 characters for +// the shortest version with a build 0.0.0+BUILD. +const MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6 + +const RELEASE_TYPES = [ + 'major', + 'premajor', + 'minor', + 'preminor', + 'patch', + 'prepatch', + 'prerelease', +] + +module.exports = { + MAX_LENGTH, + MAX_SAFE_COMPONENT_LENGTH, + MAX_SAFE_BUILD_LENGTH, + MAX_SAFE_INTEGER, + RELEASE_TYPES, + SEMVER_SPEC_VERSION, + FLAG_INCLUDE_PRERELEASE: 0b001, + FLAG_LOOSE: 0b010, +} diff --git a/back/node_modules/semver/internal/debug.js b/back/node_modules/semver/internal/debug.js new file mode 100644 index 0000000..20d1e9d --- /dev/null +++ b/back/node_modules/semver/internal/debug.js @@ -0,0 +1,11 @@ +'use strict' + +const debug = ( + typeof process === 'object' && + process.env && + process.env.NODE_DEBUG && + /\bsemver\b/i.test(process.env.NODE_DEBUG) +) ? (...args) => console.error('SEMVER', ...args) + : () => {} + +module.exports = debug diff --git a/back/node_modules/semver/internal/identifiers.js b/back/node_modules/semver/internal/identifiers.js new file mode 100644 index 0000000..d053472 --- /dev/null +++ b/back/node_modules/semver/internal/identifiers.js @@ -0,0 +1,29 @@ +'use strict' + +const numeric = /^[0-9]+$/ +const compareIdentifiers = (a, b) => { + if (typeof a === 'number' && typeof b === 'number') { + return a === b ? 0 : a < b ? -1 : 1 + } + + const anum = numeric.test(a) + const bnum = numeric.test(b) + + if (anum && bnum) { + a = +a + b = +b + } + + return a === b ? 0 + : (anum && !bnum) ? -1 + : (bnum && !anum) ? 1 + : a < b ? -1 + : 1 +} + +const rcompareIdentifiers = (a, b) => compareIdentifiers(b, a) + +module.exports = { + compareIdentifiers, + rcompareIdentifiers, +} diff --git a/back/node_modules/semver/internal/lrucache.js b/back/node_modules/semver/internal/lrucache.js new file mode 100644 index 0000000..b8bf526 --- /dev/null +++ b/back/node_modules/semver/internal/lrucache.js @@ -0,0 +1,42 @@ +'use strict' + +class LRUCache { + constructor () { + this.max = 1000 + this.map = new Map() + } + + get (key) { + const value = this.map.get(key) + if (value === undefined) { + return undefined + } else { + // Remove the key from the map and add it to the end + this.map.delete(key) + this.map.set(key, value) + return value + } + } + + delete (key) { + return this.map.delete(key) + } + + set (key, value) { + const deleted = this.delete(key) + + if (!deleted && value !== undefined) { + // If cache is full, delete the least recently used item + if (this.map.size >= this.max) { + const firstKey = this.map.keys().next().value + this.delete(firstKey) + } + + this.map.set(key, value) + } + + return this + } +} + +module.exports = LRUCache diff --git a/back/node_modules/semver/internal/parse-options.js b/back/node_modules/semver/internal/parse-options.js new file mode 100644 index 0000000..5295454 --- /dev/null +++ b/back/node_modules/semver/internal/parse-options.js @@ -0,0 +1,17 @@ +'use strict' + +// parse out just the options we care about +const looseOption = Object.freeze({ loose: true }) +const emptyOpts = Object.freeze({ }) +const parseOptions = options => { + if (!options) { + return emptyOpts + } + + if (typeof options !== 'object') { + return looseOption + } + + return options +} +module.exports = parseOptions diff --git a/back/node_modules/semver/internal/re.js b/back/node_modules/semver/internal/re.js new file mode 100644 index 0000000..639fca8 --- /dev/null +++ b/back/node_modules/semver/internal/re.js @@ -0,0 +1,223 @@ +'use strict' + +const { + MAX_SAFE_COMPONENT_LENGTH, + MAX_SAFE_BUILD_LENGTH, + MAX_LENGTH, +} = require('./constants') +const debug = require('./debug') +exports = module.exports = {} + +// The actual regexps go on exports.re +const re = exports.re = [] +const safeRe = exports.safeRe = [] +const src = exports.src = [] +const safeSrc = exports.safeSrc = [] +const t = exports.t = {} +let R = 0 + +const LETTERDASHNUMBER = '[a-zA-Z0-9-]' + +// Replace some greedy regex tokens to prevent regex dos issues. These regex are +// used internally via the safeRe object since all inputs in this library get +// normalized first to trim and collapse all extra whitespace. The original +// regexes are exported for userland consumption and lower level usage. A +// future breaking change could export the safer regex only with a note that +// all input should have extra whitespace removed. +const safeRegexReplacements = [ + ['\\s', 1], + ['\\d', MAX_LENGTH], + [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH], +] + +const makeSafeRegex = (value) => { + for (const [token, max] of safeRegexReplacements) { + value = value + .split(`${token}*`).join(`${token}{0,${max}}`) + .split(`${token}+`).join(`${token}{1,${max}}`) + } + return value +} + +const createToken = (name, value, isGlobal) => { + const safe = makeSafeRegex(value) + const index = R++ + debug(name, index, value) + t[name] = index + src[index] = value + safeSrc[index] = safe + re[index] = new RegExp(value, isGlobal ? 'g' : undefined) + safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined) +} + +// The following Regular Expressions can be used for tokenizing, +// validating, and parsing SemVer version strings. + +// ## Numeric Identifier +// A single `0`, or a non-zero digit followed by zero or more digits. + +createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*') +createToken('NUMERICIDENTIFIERLOOSE', '\\d+') + +// ## Non-numeric Identifier +// Zero or more digits, followed by a letter or hyphen, and then zero or +// more letters, digits, or hyphens. + +createToken('NONNUMERICIDENTIFIER', `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`) + +// ## Main Version +// Three dot-separated numeric identifiers. + +createToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\.` + + `(${src[t.NUMERICIDENTIFIER]})\\.` + + `(${src[t.NUMERICIDENTIFIER]})`) + +createToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + + `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + + `(${src[t.NUMERICIDENTIFIERLOOSE]})`) + +// ## Pre-release Version Identifier +// A numeric identifier, or a non-numeric identifier. +// Non-numeric identifiers include numeric identifiers but can be longer. +// Therefore non-numeric identifiers must go first. + +createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NONNUMERICIDENTIFIER] +}|${src[t.NUMERICIDENTIFIER]})`) + +createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NONNUMERICIDENTIFIER] +}|${src[t.NUMERICIDENTIFIERLOOSE]})`) + +// ## Pre-release Version +// Hyphen, followed by one or more dot-separated pre-release version +// identifiers. + +createToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER] +}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`) + +createToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE] +}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`) + +// ## Build Metadata Identifier +// Any combination of digits, letters, or hyphens. + +createToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`) + +// ## Build Metadata +// Plus sign, followed by one or more period-separated build metadata +// identifiers. + +createToken('BUILD', `(?:\\+(${src[t.BUILDIDENTIFIER] +}(?:\\.${src[t.BUILDIDENTIFIER]})*))`) + +// ## Full Version String +// A main version, followed optionally by a pre-release version and +// build metadata. + +// Note that the only major, minor, patch, and pre-release sections of +// the version string are capturing groups. The build metadata is not a +// capturing group, because it should not ever be used in version +// comparison. + +createToken('FULLPLAIN', `v?${src[t.MAINVERSION] +}${src[t.PRERELEASE]}?${ + src[t.BUILD]}?`) + +createToken('FULL', `^${src[t.FULLPLAIN]}$`) + +// like full, but allows v1.2.3 and =1.2.3, which people do sometimes. +// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty +// common in the npm registry. +createToken('LOOSEPLAIN', `[v=\\s]*${src[t.MAINVERSIONLOOSE] +}${src[t.PRERELEASELOOSE]}?${ + src[t.BUILD]}?`) + +createToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`) + +createToken('GTLT', '((?:<|>)?=?)') + +// Something like "2.*" or "1.2.x". +// Note that "x.x" is a valid xRange identifer, meaning "any version" +// Only the first item is strictly required. +createToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`) +createToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`) + +createToken('XRANGEPLAIN', `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + + `(?:${src[t.PRERELEASE]})?${ + src[t.BUILD]}?` + + `)?)?`) + +createToken('XRANGEPLAINLOOSE', `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + + `(?:${src[t.PRERELEASELOOSE]})?${ + src[t.BUILD]}?` + + `)?)?`) + +createToken('XRANGE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`) +createToken('XRANGELOOSE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`) + +// Coercion. +// Extract anything that could conceivably be a part of a valid semver +createToken('COERCEPLAIN', `${'(^|[^\\d])' + + '(\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` + + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` + + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`) +createToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\d])`) +createToken('COERCEFULL', src[t.COERCEPLAIN] + + `(?:${src[t.PRERELEASE]})?` + + `(?:${src[t.BUILD]})?` + + `(?:$|[^\\d])`) +createToken('COERCERTL', src[t.COERCE], true) +createToken('COERCERTLFULL', src[t.COERCEFULL], true) + +// Tilde ranges. +// Meaning is "reasonably at or greater than" +createToken('LONETILDE', '(?:~>?)') + +createToken('TILDETRIM', `(\\s*)${src[t.LONETILDE]}\\s+`, true) +exports.tildeTrimReplace = '$1~' + +createToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`) +createToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`) + +// Caret ranges. +// Meaning is "at least and backwards compatible with" +createToken('LONECARET', '(?:\\^)') + +createToken('CARETTRIM', `(\\s*)${src[t.LONECARET]}\\s+`, true) +exports.caretTrimReplace = '$1^' + +createToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`) +createToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`) + +// A simple gt/lt/eq thing, or just "" to indicate "any version" +createToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`) +createToken('COMPARATOR', `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`) + +// An expression to strip any whitespace between the gtlt and the thing +// it modifies, so that `> 1.2.3` ==> `>1.2.3` +createToken('COMPARATORTRIM', `(\\s*)${src[t.GTLT] +}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true) +exports.comparatorTrimReplace = '$1$2$3' + +// Something like `1.2.3 - 1.2.4` +// Note that these all use the loose form, because they'll be +// checked against either the strict or loose comparator form +// later. +createToken('HYPHENRANGE', `^\\s*(${src[t.XRANGEPLAIN]})` + + `\\s+-\\s+` + + `(${src[t.XRANGEPLAIN]})` + + `\\s*$`) + +createToken('HYPHENRANGELOOSE', `^\\s*(${src[t.XRANGEPLAINLOOSE]})` + + `\\s+-\\s+` + + `(${src[t.XRANGEPLAINLOOSE]})` + + `\\s*$`) + +// Star ranges basically just allow anything at all. +createToken('STAR', '(<|>)?=?\\s*\\*') +// >=0.0.0 is like a star +createToken('GTE0', '^\\s*>=\\s*0\\.0\\.0\\s*$') +createToken('GTE0PRE', '^\\s*>=\\s*0\\.0\\.0-0\\s*$') diff --git a/back/node_modules/semver/package.json b/back/node_modules/semver/package.json new file mode 100644 index 0000000..a84de91 --- /dev/null +++ b/back/node_modules/semver/package.json @@ -0,0 +1,78 @@ +{ + "name": "semver", + "version": "7.7.4", + "description": "The semantic version parser used by npm.", + "main": "index.js", + "scripts": { + "test": "tap", + "snap": "tap", + "lint": "npm run eslint", + "postlint": "template-oss-check", + "lintfix": "npm run eslint -- --fix", + "posttest": "npm run lint", + "template-oss-apply": "template-oss-apply --force", + "eslint": "eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\"" + }, + "devDependencies": { + "@npmcli/eslint-config": "^6.0.0", + "@npmcli/template-oss": "4.29.0", + "benchmark": "^2.1.4", + "tap": "^16.0.0" + }, + "license": "ISC", + "repository": { + "type": "git", + "url": "git+https://github.com/npm/node-semver.git" + }, + "bin": { + "semver": "bin/semver.js" + }, + "files": [ + "bin/", + "lib/", + "classes/", + "functions/", + "internal/", + "ranges/", + "index.js", + "preload.js", + "range.bnf" + ], + "tap": { + "timeout": 30, + "coverage-map": "map.js", + "nyc-arg": [ + "--exclude", + "tap-snapshots/**" + ] + }, + "engines": { + "node": ">=10" + }, + "author": "GitHub Inc.", + "templateOSS": { + "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", + "version": "4.29.0", + "engines": ">=10", + "distPaths": [ + "classes/", + "functions/", + "internal/", + "ranges/", + "index.js", + "preload.js", + "range.bnf" + ], + "allowPaths": [ + "/classes/", + "/functions/", + "/internal/", + "/ranges/", + "/index.js", + "/preload.js", + "/range.bnf", + "/benchmarks" + ], + "publish": "true" + } +} diff --git a/back/node_modules/semver/preload.js b/back/node_modules/semver/preload.js new file mode 100644 index 0000000..e6c47b9 --- /dev/null +++ b/back/node_modules/semver/preload.js @@ -0,0 +1,4 @@ +'use strict' + +// XXX remove in v8 or beyond +module.exports = require('./index.js') diff --git a/back/node_modules/semver/range.bnf b/back/node_modules/semver/range.bnf new file mode 100644 index 0000000..d4c6ae0 --- /dev/null +++ b/back/node_modules/semver/range.bnf @@ -0,0 +1,16 @@ +range-set ::= range ( logical-or range ) * +logical-or ::= ( ' ' ) * '||' ( ' ' ) * +range ::= hyphen | simple ( ' ' simple ) * | '' +hyphen ::= partial ' - ' partial +simple ::= primitive | partial | tilde | caret +primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial +partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )? +xr ::= 'x' | 'X' | '*' | nr +nr ::= '0' | [1-9] ( [0-9] ) * +tilde ::= '~' partial +caret ::= '^' partial +qualifier ::= ( '-' pre )? ( '+' build )? +pre ::= parts +build ::= parts +parts ::= part ( '.' part ) * +part ::= nr | [-0-9A-Za-z]+ diff --git a/back/node_modules/semver/ranges/gtr.js b/back/node_modules/semver/ranges/gtr.js new file mode 100644 index 0000000..0e7601f --- /dev/null +++ b/back/node_modules/semver/ranges/gtr.js @@ -0,0 +1,6 @@ +'use strict' + +// Determine if version is greater than all the versions possible in the range. +const outside = require('./outside') +const gtr = (version, range, options) => outside(version, range, '>', options) +module.exports = gtr diff --git a/back/node_modules/semver/ranges/intersects.js b/back/node_modules/semver/ranges/intersects.js new file mode 100644 index 0000000..917be7e --- /dev/null +++ b/back/node_modules/semver/ranges/intersects.js @@ -0,0 +1,9 @@ +'use strict' + +const Range = require('../classes/range') +const intersects = (r1, r2, options) => { + r1 = new Range(r1, options) + r2 = new Range(r2, options) + return r1.intersects(r2, options) +} +module.exports = intersects diff --git a/back/node_modules/semver/ranges/ltr.js b/back/node_modules/semver/ranges/ltr.js new file mode 100644 index 0000000..aa5e568 --- /dev/null +++ b/back/node_modules/semver/ranges/ltr.js @@ -0,0 +1,6 @@ +'use strict' + +const outside = require('./outside') +// Determine if version is less than all the versions possible in the range +const ltr = (version, range, options) => outside(version, range, '<', options) +module.exports = ltr diff --git a/back/node_modules/semver/ranges/max-satisfying.js b/back/node_modules/semver/ranges/max-satisfying.js new file mode 100644 index 0000000..01fe5ae --- /dev/null +++ b/back/node_modules/semver/ranges/max-satisfying.js @@ -0,0 +1,27 @@ +'use strict' + +const SemVer = require('../classes/semver') +const Range = require('../classes/range') + +const maxSatisfying = (versions, range, options) => { + let max = null + let maxSV = null + let rangeObj = null + try { + rangeObj = new Range(range, options) + } catch (er) { + return null + } + versions.forEach((v) => { + if (rangeObj.test(v)) { + // satisfies(v, range, options) + if (!max || maxSV.compare(v) === -1) { + // compare(max, v, true) + max = v + maxSV = new SemVer(max, options) + } + } + }) + return max +} +module.exports = maxSatisfying diff --git a/back/node_modules/semver/ranges/min-satisfying.js b/back/node_modules/semver/ranges/min-satisfying.js new file mode 100644 index 0000000..af89c8e --- /dev/null +++ b/back/node_modules/semver/ranges/min-satisfying.js @@ -0,0 +1,26 @@ +'use strict' + +const SemVer = require('../classes/semver') +const Range = require('../classes/range') +const minSatisfying = (versions, range, options) => { + let min = null + let minSV = null + let rangeObj = null + try { + rangeObj = new Range(range, options) + } catch (er) { + return null + } + versions.forEach((v) => { + if (rangeObj.test(v)) { + // satisfies(v, range, options) + if (!min || minSV.compare(v) === 1) { + // compare(min, v, true) + min = v + minSV = new SemVer(min, options) + } + } + }) + return min +} +module.exports = minSatisfying diff --git a/back/node_modules/semver/ranges/min-version.js b/back/node_modules/semver/ranges/min-version.js new file mode 100644 index 0000000..09a65aa --- /dev/null +++ b/back/node_modules/semver/ranges/min-version.js @@ -0,0 +1,63 @@ +'use strict' + +const SemVer = require('../classes/semver') +const Range = require('../classes/range') +const gt = require('../functions/gt') + +const minVersion = (range, loose) => { + range = new Range(range, loose) + + let minver = new SemVer('0.0.0') + if (range.test(minver)) { + return minver + } + + minver = new SemVer('0.0.0-0') + if (range.test(minver)) { + return minver + } + + minver = null + for (let i = 0; i < range.set.length; ++i) { + const comparators = range.set[i] + + let setMin = null + comparators.forEach((comparator) => { + // Clone to avoid manipulating the comparator's semver object. + const compver = new SemVer(comparator.semver.version) + switch (comparator.operator) { + case '>': + if (compver.prerelease.length === 0) { + compver.patch++ + } else { + compver.prerelease.push(0) + } + compver.raw = compver.format() + /* fallthrough */ + case '': + case '>=': + if (!setMin || gt(compver, setMin)) { + setMin = compver + } + break + case '<': + case '<=': + /* Ignore maximum versions */ + break + /* istanbul ignore next */ + default: + throw new Error(`Unexpected operation: ${comparator.operator}`) + } + }) + if (setMin && (!minver || gt(minver, setMin))) { + minver = setMin + } + } + + if (minver && range.test(minver)) { + return minver + } + + return null +} +module.exports = minVersion diff --git a/back/node_modules/semver/ranges/outside.js b/back/node_modules/semver/ranges/outside.js new file mode 100644 index 0000000..ca74421 --- /dev/null +++ b/back/node_modules/semver/ranges/outside.js @@ -0,0 +1,82 @@ +'use strict' + +const SemVer = require('../classes/semver') +const Comparator = require('../classes/comparator') +const { ANY } = Comparator +const Range = require('../classes/range') +const satisfies = require('../functions/satisfies') +const gt = require('../functions/gt') +const lt = require('../functions/lt') +const lte = require('../functions/lte') +const gte = require('../functions/gte') + +const outside = (version, range, hilo, options) => { + version = new SemVer(version, options) + range = new Range(range, options) + + let gtfn, ltefn, ltfn, comp, ecomp + switch (hilo) { + case '>': + gtfn = gt + ltefn = lte + ltfn = lt + comp = '>' + ecomp = '>=' + break + case '<': + gtfn = lt + ltefn = gte + ltfn = gt + comp = '<' + ecomp = '<=' + break + default: + throw new TypeError('Must provide a hilo val of "<" or ">"') + } + + // If it satisfies the range it is not outside + if (satisfies(version, range, options)) { + return false + } + + // From now on, variable terms are as if we're in "gtr" mode. + // but note that everything is flipped for the "ltr" function. + + for (let i = 0; i < range.set.length; ++i) { + const comparators = range.set[i] + + let high = null + let low = null + + comparators.forEach((comparator) => { + if (comparator.semver === ANY) { + comparator = new Comparator('>=0.0.0') + } + high = high || comparator + low = low || comparator + if (gtfn(comparator.semver, high.semver, options)) { + high = comparator + } else if (ltfn(comparator.semver, low.semver, options)) { + low = comparator + } + }) + + // If the edge version comparator has a operator then our version + // isn't outside it + if (high.operator === comp || high.operator === ecomp) { + return false + } + + // If the lowest version comparator has an operator and our version + // is less than it then it isn't higher than the range + if ((!low.operator || low.operator === comp) && + ltefn(version, low.semver)) { + return false + } else if (low.operator === ecomp && ltfn(version, low.semver)) { + return false + } + } + return true +} + +module.exports = outside diff --git a/back/node_modules/semver/ranges/simplify.js b/back/node_modules/semver/ranges/simplify.js new file mode 100644 index 0000000..262732e --- /dev/null +++ b/back/node_modules/semver/ranges/simplify.js @@ -0,0 +1,49 @@ +'use strict' + +// given a set of versions and a range, create a "simplified" range +// that includes the same versions that the original range does +// If the original range is shorter than the simplified one, return that. +const satisfies = require('../functions/satisfies.js') +const compare = require('../functions/compare.js') +module.exports = (versions, range, options) => { + const set = [] + let first = null + let prev = null + const v = versions.sort((a, b) => compare(a, b, options)) + for (const version of v) { + const included = satisfies(version, range, options) + if (included) { + prev = version + if (!first) { + first = version + } + } else { + if (prev) { + set.push([first, prev]) + } + prev = null + first = null + } + } + if (first) { + set.push([first, null]) + } + + const ranges = [] + for (const [min, max] of set) { + if (min === max) { + ranges.push(min) + } else if (!max && min === v[0]) { + ranges.push('*') + } else if (!max) { + ranges.push(`>=${min}`) + } else if (min === v[0]) { + ranges.push(`<=${max}`) + } else { + ranges.push(`${min} - ${max}`) + } + } + const simplified = ranges.join(' || ') + const original = typeof range.raw === 'string' ? range.raw : String(range) + return simplified.length < original.length ? simplified : range +} diff --git a/back/node_modules/semver/ranges/subset.js b/back/node_modules/semver/ranges/subset.js new file mode 100644 index 0000000..99f4321 --- /dev/null +++ b/back/node_modules/semver/ranges/subset.js @@ -0,0 +1,249 @@ +'use strict' + +const Range = require('../classes/range.js') +const Comparator = require('../classes/comparator.js') +const { ANY } = Comparator +const satisfies = require('../functions/satisfies.js') +const compare = require('../functions/compare.js') + +// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff: +// - Every simple range `r1, r2, ...` is a null set, OR +// - Every simple range `r1, r2, ...` which is not a null set is a subset of +// some `R1, R2, ...` +// +// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff: +// - If c is only the ANY comparator +// - If C is only the ANY comparator, return true +// - Else if in prerelease mode, return false +// - else replace c with `[>=0.0.0]` +// - If C is only the ANY comparator +// - if in prerelease mode, return true +// - else replace C with `[>=0.0.0]` +// - Let EQ be the set of = comparators in c +// - If EQ is more than one, return true (null set) +// - Let GT be the highest > or >= comparator in c +// - Let LT be the lowest < or <= comparator in c +// - If GT and LT, and GT.semver > LT.semver, return true (null set) +// - If any C is a = range, and GT or LT are set, return false +// - If EQ +// - If GT, and EQ does not satisfy GT, return true (null set) +// - If LT, and EQ does not satisfy LT, return true (null set) +// - If EQ satisfies every C, return true +// - Else return false +// - If GT +// - If GT.semver is lower than any > or >= comp in C, return false +// - If GT is >=, and GT.semver does not satisfy every C, return false +// - If GT.semver has a prerelease, and not in prerelease mode +// - If no C has a prerelease and the GT.semver tuple, return false +// - If LT +// - If LT.semver is greater than any < or <= comp in C, return false +// - If LT is <=, and LT.semver does not satisfy every C, return false +// - If LT.semver has a prerelease, and not in prerelease mode +// - If no C has a prerelease and the LT.semver tuple, return false +// - Else return true + +const subset = (sub, dom, options = {}) => { + if (sub === dom) { + return true + } + + sub = new Range(sub, options) + dom = new Range(dom, options) + let sawNonNull = false + + OUTER: for (const simpleSub of sub.set) { + for (const simpleDom of dom.set) { + const isSub = simpleSubset(simpleSub, simpleDom, options) + sawNonNull = sawNonNull || isSub !== null + if (isSub) { + continue OUTER + } + } + // the null set is a subset of everything, but null simple ranges in + // a complex range should be ignored. so if we saw a non-null range, + // then we know this isn't a subset, but if EVERY simple range was null, + // then it is a subset. + if (sawNonNull) { + return false + } + } + return true +} + +const minimumVersionWithPreRelease = [new Comparator('>=0.0.0-0')] +const minimumVersion = [new Comparator('>=0.0.0')] + +const simpleSubset = (sub, dom, options) => { + if (sub === dom) { + return true + } + + if (sub.length === 1 && sub[0].semver === ANY) { + if (dom.length === 1 && dom[0].semver === ANY) { + return true + } else if (options.includePrerelease) { + sub = minimumVersionWithPreRelease + } else { + sub = minimumVersion + } + } + + if (dom.length === 1 && dom[0].semver === ANY) { + if (options.includePrerelease) { + return true + } else { + dom = minimumVersion + } + } + + const eqSet = new Set() + let gt, lt + for (const c of sub) { + if (c.operator === '>' || c.operator === '>=') { + gt = higherGT(gt, c, options) + } else if (c.operator === '<' || c.operator === '<=') { + lt = lowerLT(lt, c, options) + } else { + eqSet.add(c.semver) + } + } + + if (eqSet.size > 1) { + return null + } + + let gtltComp + if (gt && lt) { + gtltComp = compare(gt.semver, lt.semver, options) + if (gtltComp > 0) { + return null + } else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) { + return null + } + } + + // will iterate one or zero times + for (const eq of eqSet) { + if (gt && !satisfies(eq, String(gt), options)) { + return null + } + + if (lt && !satisfies(eq, String(lt), options)) { + return null + } + + for (const c of dom) { + if (!satisfies(eq, String(c), options)) { + return false + } + } + + return true + } + + let higher, lower + let hasDomLT, hasDomGT + // if the subset has a prerelease, we need a comparator in the superset + // with the same tuple and a prerelease, or it's not a subset + let needDomLTPre = lt && + !options.includePrerelease && + lt.semver.prerelease.length ? lt.semver : false + let needDomGTPre = gt && + !options.includePrerelease && + gt.semver.prerelease.length ? gt.semver : false + // exception: <1.2.3-0 is the same as <1.2.3 + if (needDomLTPre && needDomLTPre.prerelease.length === 1 && + lt.operator === '<' && needDomLTPre.prerelease[0] === 0) { + needDomLTPre = false + } + + for (const c of dom) { + hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>=' + hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<=' + if (gt) { + if (needDomGTPre) { + if (c.semver.prerelease && c.semver.prerelease.length && + c.semver.major === needDomGTPre.major && + c.semver.minor === needDomGTPre.minor && + c.semver.patch === needDomGTPre.patch) { + needDomGTPre = false + } + } + if (c.operator === '>' || c.operator === '>=') { + higher = higherGT(gt, c, options) + if (higher === c && higher !== gt) { + return false + } + } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options)) { + return false + } + } + if (lt) { + if (needDomLTPre) { + if (c.semver.prerelease && c.semver.prerelease.length && + c.semver.major === needDomLTPre.major && + c.semver.minor === needDomLTPre.minor && + c.semver.patch === needDomLTPre.patch) { + needDomLTPre = false + } + } + if (c.operator === '<' || c.operator === '<=') { + lower = lowerLT(lt, c, options) + if (lower === c && lower !== lt) { + return false + } + } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options)) { + return false + } + } + if (!c.operator && (lt || gt) && gtltComp !== 0) { + return false + } + } + + // if there was a < or >, and nothing in the dom, then must be false + // UNLESS it was limited by another range in the other direction. + // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0 + if (gt && hasDomLT && !lt && gtltComp !== 0) { + return false + } + + if (lt && hasDomGT && !gt && gtltComp !== 0) { + return false + } + + // we needed a prerelease range in a specific tuple, but didn't get one + // then this isn't a subset. eg >=1.2.3-pre is not a subset of >=1.0.0, + // because it includes prereleases in the 1.2.3 tuple + if (needDomGTPre || needDomLTPre) { + return false + } + + return true +} + +// >=1.2.3 is lower than >1.2.3 +const higherGT = (a, b, options) => { + if (!a) { + return b + } + const comp = compare(a.semver, b.semver, options) + return comp > 0 ? a + : comp < 0 ? b + : b.operator === '>' && a.operator === '>=' ? b + : a +} + +// <=1.2.3 is higher than <1.2.3 +const lowerLT = (a, b, options) => { + if (!a) { + return b + } + const comp = compare(a.semver, b.semver, options) + return comp < 0 ? a + : comp > 0 ? b + : b.operator === '<' && a.operator === '<=' ? b + : a +} + +module.exports = subset diff --git a/back/node_modules/semver/ranges/to-comparators.js b/back/node_modules/semver/ranges/to-comparators.js new file mode 100644 index 0000000..5be2519 --- /dev/null +++ b/back/node_modules/semver/ranges/to-comparators.js @@ -0,0 +1,10 @@ +'use strict' + +const Range = require('../classes/range') + +// Mostly just for testing and legacy API reasons +const toComparators = (range, options) => + new Range(range, options).set + .map(comp => comp.map(c => c.value).join(' ').trim().split(' ')) + +module.exports = toComparators diff --git a/back/node_modules/semver/ranges/valid.js b/back/node_modules/semver/ranges/valid.js new file mode 100644 index 0000000..cc6b0e9 --- /dev/null +++ b/back/node_modules/semver/ranges/valid.js @@ -0,0 +1,13 @@ +'use strict' + +const Range = require('../classes/range') +const validRange = (range, options) => { + try { + // Return '*' instead of '' so that truthiness works. + // This will throw if it's invalid anyway + return new Range(range, options).range || '*' + } catch (er) { + return null + } +} +module.exports = validRange diff --git a/node_modules/send/LICENSE b/back/node_modules/send/LICENSE similarity index 100% rename from node_modules/send/LICENSE rename to back/node_modules/send/LICENSE diff --git a/node_modules/send/README.md b/back/node_modules/send/README.md similarity index 100% rename from node_modules/send/README.md rename to back/node_modules/send/README.md diff --git a/node_modules/send/index.js b/back/node_modules/send/index.js similarity index 100% rename from node_modules/send/index.js rename to back/node_modules/send/index.js diff --git a/node_modules/send/package.json b/back/node_modules/send/package.json similarity index 100% rename from node_modules/send/package.json rename to back/node_modules/send/package.json diff --git a/node_modules/serve-static/LICENSE b/back/node_modules/serve-static/LICENSE similarity index 100% rename from node_modules/serve-static/LICENSE rename to back/node_modules/serve-static/LICENSE diff --git a/node_modules/serve-static/README.md b/back/node_modules/serve-static/README.md similarity index 100% rename from node_modules/serve-static/README.md rename to back/node_modules/serve-static/README.md diff --git a/node_modules/serve-static/index.js b/back/node_modules/serve-static/index.js similarity index 100% rename from node_modules/serve-static/index.js rename to back/node_modules/serve-static/index.js diff --git a/node_modules/serve-static/package.json b/back/node_modules/serve-static/package.json similarity index 100% rename from node_modules/serve-static/package.json rename to back/node_modules/serve-static/package.json diff --git a/node_modules/setprototypeof/LICENSE b/back/node_modules/setprototypeof/LICENSE similarity index 100% rename from node_modules/setprototypeof/LICENSE rename to back/node_modules/setprototypeof/LICENSE diff --git a/node_modules/setprototypeof/README.md b/back/node_modules/setprototypeof/README.md similarity index 100% rename from node_modules/setprototypeof/README.md rename to back/node_modules/setprototypeof/README.md diff --git a/node_modules/setprototypeof/index.d.ts b/back/node_modules/setprototypeof/index.d.ts similarity index 100% rename from node_modules/setprototypeof/index.d.ts rename to back/node_modules/setprototypeof/index.d.ts diff --git a/node_modules/setprototypeof/index.js b/back/node_modules/setprototypeof/index.js similarity index 100% rename from node_modules/setprototypeof/index.js rename to back/node_modules/setprototypeof/index.js diff --git a/node_modules/setprototypeof/package.json b/back/node_modules/setprototypeof/package.json similarity index 100% rename from node_modules/setprototypeof/package.json rename to back/node_modules/setprototypeof/package.json diff --git a/node_modules/setprototypeof/test/index.js b/back/node_modules/setprototypeof/test/index.js similarity index 100% rename from node_modules/setprototypeof/test/index.js rename to back/node_modules/setprototypeof/test/index.js diff --git a/node_modules/side-channel-list/.editorconfig b/back/node_modules/side-channel-list/.editorconfig similarity index 100% rename from node_modules/side-channel-list/.editorconfig rename to back/node_modules/side-channel-list/.editorconfig diff --git a/node_modules/side-channel-list/.eslintrc b/back/node_modules/side-channel-list/.eslintrc similarity index 100% rename from node_modules/side-channel-list/.eslintrc rename to back/node_modules/side-channel-list/.eslintrc diff --git a/node_modules/side-channel-list/.github/FUNDING.yml b/back/node_modules/side-channel-list/.github/FUNDING.yml similarity index 100% rename from node_modules/side-channel-list/.github/FUNDING.yml rename to back/node_modules/side-channel-list/.github/FUNDING.yml diff --git a/node_modules/side-channel-list/.nycrc b/back/node_modules/side-channel-list/.nycrc similarity index 100% rename from node_modules/side-channel-list/.nycrc rename to back/node_modules/side-channel-list/.nycrc diff --git a/node_modules/side-channel-list/CHANGELOG.md b/back/node_modules/side-channel-list/CHANGELOG.md similarity index 100% rename from node_modules/side-channel-list/CHANGELOG.md rename to back/node_modules/side-channel-list/CHANGELOG.md diff --git a/node_modules/side-channel-list/LICENSE b/back/node_modules/side-channel-list/LICENSE similarity index 100% rename from node_modules/side-channel-list/LICENSE rename to back/node_modules/side-channel-list/LICENSE diff --git a/node_modules/side-channel-list/README.md b/back/node_modules/side-channel-list/README.md similarity index 100% rename from node_modules/side-channel-list/README.md rename to back/node_modules/side-channel-list/README.md diff --git a/node_modules/side-channel-list/index.d.ts b/back/node_modules/side-channel-list/index.d.ts similarity index 100% rename from node_modules/side-channel-list/index.d.ts rename to back/node_modules/side-channel-list/index.d.ts diff --git a/node_modules/side-channel-list/index.js b/back/node_modules/side-channel-list/index.js similarity index 100% rename from node_modules/side-channel-list/index.js rename to back/node_modules/side-channel-list/index.js diff --git a/node_modules/side-channel-list/list.d.ts b/back/node_modules/side-channel-list/list.d.ts similarity index 100% rename from node_modules/side-channel-list/list.d.ts rename to back/node_modules/side-channel-list/list.d.ts diff --git a/node_modules/side-channel-list/package.json b/back/node_modules/side-channel-list/package.json similarity index 100% rename from node_modules/side-channel-list/package.json rename to back/node_modules/side-channel-list/package.json diff --git a/node_modules/side-channel-list/test/index.js b/back/node_modules/side-channel-list/test/index.js similarity index 100% rename from node_modules/side-channel-list/test/index.js rename to back/node_modules/side-channel-list/test/index.js diff --git a/node_modules/side-channel-list/tsconfig.json b/back/node_modules/side-channel-list/tsconfig.json similarity index 100% rename from node_modules/side-channel-list/tsconfig.json rename to back/node_modules/side-channel-list/tsconfig.json diff --git a/node_modules/side-channel-map/.editorconfig b/back/node_modules/side-channel-map/.editorconfig similarity index 100% rename from node_modules/side-channel-map/.editorconfig rename to back/node_modules/side-channel-map/.editorconfig diff --git a/node_modules/side-channel-map/.eslintrc b/back/node_modules/side-channel-map/.eslintrc similarity index 100% rename from node_modules/side-channel-map/.eslintrc rename to back/node_modules/side-channel-map/.eslintrc diff --git a/node_modules/side-channel-map/.github/FUNDING.yml b/back/node_modules/side-channel-map/.github/FUNDING.yml similarity index 100% rename from node_modules/side-channel-map/.github/FUNDING.yml rename to back/node_modules/side-channel-map/.github/FUNDING.yml diff --git a/node_modules/side-channel-map/.nycrc b/back/node_modules/side-channel-map/.nycrc similarity index 100% rename from node_modules/side-channel-map/.nycrc rename to back/node_modules/side-channel-map/.nycrc diff --git a/node_modules/side-channel-map/CHANGELOG.md b/back/node_modules/side-channel-map/CHANGELOG.md similarity index 100% rename from node_modules/side-channel-map/CHANGELOG.md rename to back/node_modules/side-channel-map/CHANGELOG.md diff --git a/node_modules/side-channel-map/LICENSE b/back/node_modules/side-channel-map/LICENSE similarity index 100% rename from node_modules/side-channel-map/LICENSE rename to back/node_modules/side-channel-map/LICENSE diff --git a/node_modules/side-channel-map/README.md b/back/node_modules/side-channel-map/README.md similarity index 100% rename from node_modules/side-channel-map/README.md rename to back/node_modules/side-channel-map/README.md diff --git a/node_modules/side-channel-map/index.d.ts b/back/node_modules/side-channel-map/index.d.ts similarity index 100% rename from node_modules/side-channel-map/index.d.ts rename to back/node_modules/side-channel-map/index.d.ts diff --git a/node_modules/side-channel-map/index.js b/back/node_modules/side-channel-map/index.js similarity index 100% rename from node_modules/side-channel-map/index.js rename to back/node_modules/side-channel-map/index.js diff --git a/node_modules/side-channel-map/package.json b/back/node_modules/side-channel-map/package.json similarity index 100% rename from node_modules/side-channel-map/package.json rename to back/node_modules/side-channel-map/package.json diff --git a/node_modules/side-channel-map/test/index.js b/back/node_modules/side-channel-map/test/index.js similarity index 100% rename from node_modules/side-channel-map/test/index.js rename to back/node_modules/side-channel-map/test/index.js diff --git a/node_modules/side-channel-map/tsconfig.json b/back/node_modules/side-channel-map/tsconfig.json similarity index 100% rename from node_modules/side-channel-map/tsconfig.json rename to back/node_modules/side-channel-map/tsconfig.json diff --git a/node_modules/side-channel-weakmap/.editorconfig b/back/node_modules/side-channel-weakmap/.editorconfig similarity index 100% rename from node_modules/side-channel-weakmap/.editorconfig rename to back/node_modules/side-channel-weakmap/.editorconfig diff --git a/node_modules/side-channel-weakmap/.eslintrc b/back/node_modules/side-channel-weakmap/.eslintrc similarity index 100% rename from node_modules/side-channel-weakmap/.eslintrc rename to back/node_modules/side-channel-weakmap/.eslintrc diff --git a/node_modules/side-channel-weakmap/.github/FUNDING.yml b/back/node_modules/side-channel-weakmap/.github/FUNDING.yml similarity index 100% rename from node_modules/side-channel-weakmap/.github/FUNDING.yml rename to back/node_modules/side-channel-weakmap/.github/FUNDING.yml diff --git a/node_modules/side-channel-weakmap/.nycrc b/back/node_modules/side-channel-weakmap/.nycrc similarity index 100% rename from node_modules/side-channel-weakmap/.nycrc rename to back/node_modules/side-channel-weakmap/.nycrc diff --git a/node_modules/side-channel-weakmap/CHANGELOG.md b/back/node_modules/side-channel-weakmap/CHANGELOG.md similarity index 100% rename from node_modules/side-channel-weakmap/CHANGELOG.md rename to back/node_modules/side-channel-weakmap/CHANGELOG.md diff --git a/node_modules/side-channel-weakmap/LICENSE b/back/node_modules/side-channel-weakmap/LICENSE similarity index 100% rename from node_modules/side-channel-weakmap/LICENSE rename to back/node_modules/side-channel-weakmap/LICENSE diff --git a/node_modules/side-channel-weakmap/README.md b/back/node_modules/side-channel-weakmap/README.md similarity index 100% rename from node_modules/side-channel-weakmap/README.md rename to back/node_modules/side-channel-weakmap/README.md diff --git a/node_modules/side-channel-weakmap/index.d.ts b/back/node_modules/side-channel-weakmap/index.d.ts similarity index 100% rename from node_modules/side-channel-weakmap/index.d.ts rename to back/node_modules/side-channel-weakmap/index.d.ts diff --git a/node_modules/side-channel-weakmap/index.js b/back/node_modules/side-channel-weakmap/index.js similarity index 100% rename from node_modules/side-channel-weakmap/index.js rename to back/node_modules/side-channel-weakmap/index.js diff --git a/node_modules/side-channel-weakmap/package.json b/back/node_modules/side-channel-weakmap/package.json similarity index 100% rename from node_modules/side-channel-weakmap/package.json rename to back/node_modules/side-channel-weakmap/package.json diff --git a/node_modules/side-channel-weakmap/test/index.js b/back/node_modules/side-channel-weakmap/test/index.js similarity index 100% rename from node_modules/side-channel-weakmap/test/index.js rename to back/node_modules/side-channel-weakmap/test/index.js diff --git a/node_modules/side-channel-weakmap/tsconfig.json b/back/node_modules/side-channel-weakmap/tsconfig.json similarity index 100% rename from node_modules/side-channel-weakmap/tsconfig.json rename to back/node_modules/side-channel-weakmap/tsconfig.json diff --git a/node_modules/side-channel/.editorconfig b/back/node_modules/side-channel/.editorconfig similarity index 100% rename from node_modules/side-channel/.editorconfig rename to back/node_modules/side-channel/.editorconfig diff --git a/node_modules/side-channel/.eslintrc b/back/node_modules/side-channel/.eslintrc similarity index 100% rename from node_modules/side-channel/.eslintrc rename to back/node_modules/side-channel/.eslintrc diff --git a/node_modules/side-channel/.github/FUNDING.yml b/back/node_modules/side-channel/.github/FUNDING.yml similarity index 100% rename from node_modules/side-channel/.github/FUNDING.yml rename to back/node_modules/side-channel/.github/FUNDING.yml diff --git a/node_modules/side-channel/.nycrc b/back/node_modules/side-channel/.nycrc similarity index 100% rename from node_modules/side-channel/.nycrc rename to back/node_modules/side-channel/.nycrc diff --git a/node_modules/side-channel/CHANGELOG.md b/back/node_modules/side-channel/CHANGELOG.md similarity index 100% rename from node_modules/side-channel/CHANGELOG.md rename to back/node_modules/side-channel/CHANGELOG.md diff --git a/node_modules/side-channel/LICENSE b/back/node_modules/side-channel/LICENSE similarity index 100% rename from node_modules/side-channel/LICENSE rename to back/node_modules/side-channel/LICENSE diff --git a/node_modules/side-channel/README.md b/back/node_modules/side-channel/README.md similarity index 100% rename from node_modules/side-channel/README.md rename to back/node_modules/side-channel/README.md diff --git a/node_modules/side-channel/index.d.ts b/back/node_modules/side-channel/index.d.ts similarity index 100% rename from node_modules/side-channel/index.d.ts rename to back/node_modules/side-channel/index.d.ts diff --git a/node_modules/side-channel/index.js b/back/node_modules/side-channel/index.js similarity index 100% rename from node_modules/side-channel/index.js rename to back/node_modules/side-channel/index.js diff --git a/node_modules/side-channel/package.json b/back/node_modules/side-channel/package.json similarity index 100% rename from node_modules/side-channel/package.json rename to back/node_modules/side-channel/package.json diff --git a/node_modules/side-channel/test/index.js b/back/node_modules/side-channel/test/index.js similarity index 100% rename from node_modules/side-channel/test/index.js rename to back/node_modules/side-channel/test/index.js diff --git a/node_modules/side-channel/tsconfig.json b/back/node_modules/side-channel/tsconfig.json similarity index 100% rename from node_modules/side-channel/tsconfig.json rename to back/node_modules/side-channel/tsconfig.json diff --git a/node_modules/statuses/HISTORY.md b/back/node_modules/statuses/HISTORY.md similarity index 100% rename from node_modules/statuses/HISTORY.md rename to back/node_modules/statuses/HISTORY.md diff --git a/node_modules/statuses/LICENSE b/back/node_modules/statuses/LICENSE similarity index 100% rename from node_modules/statuses/LICENSE rename to back/node_modules/statuses/LICENSE diff --git a/node_modules/statuses/README.md b/back/node_modules/statuses/README.md similarity index 100% rename from node_modules/statuses/README.md rename to back/node_modules/statuses/README.md diff --git a/node_modules/statuses/codes.json b/back/node_modules/statuses/codes.json similarity index 100% rename from node_modules/statuses/codes.json rename to back/node_modules/statuses/codes.json diff --git a/node_modules/statuses/index.js b/back/node_modules/statuses/index.js similarity index 100% rename from node_modules/statuses/index.js rename to back/node_modules/statuses/index.js diff --git a/node_modules/statuses/package.json b/back/node_modules/statuses/package.json similarity index 100% rename from node_modules/statuses/package.json rename to back/node_modules/statuses/package.json diff --git a/node_modules/toidentifier/HISTORY.md b/back/node_modules/toidentifier/HISTORY.md similarity index 100% rename from node_modules/toidentifier/HISTORY.md rename to back/node_modules/toidentifier/HISTORY.md diff --git a/node_modules/toidentifier/LICENSE b/back/node_modules/toidentifier/LICENSE similarity index 100% rename from node_modules/toidentifier/LICENSE rename to back/node_modules/toidentifier/LICENSE diff --git a/node_modules/toidentifier/README.md b/back/node_modules/toidentifier/README.md similarity index 100% rename from node_modules/toidentifier/README.md rename to back/node_modules/toidentifier/README.md diff --git a/node_modules/toidentifier/index.js b/back/node_modules/toidentifier/index.js similarity index 100% rename from node_modules/toidentifier/index.js rename to back/node_modules/toidentifier/index.js diff --git a/node_modules/toidentifier/package.json b/back/node_modules/toidentifier/package.json similarity index 100% rename from node_modules/toidentifier/package.json rename to back/node_modules/toidentifier/package.json diff --git a/node_modules/type-is/HISTORY.md b/back/node_modules/type-is/HISTORY.md similarity index 100% rename from node_modules/type-is/HISTORY.md rename to back/node_modules/type-is/HISTORY.md diff --git a/node_modules/type-is/LICENSE b/back/node_modules/type-is/LICENSE similarity index 100% rename from node_modules/type-is/LICENSE rename to back/node_modules/type-is/LICENSE diff --git a/node_modules/type-is/README.md b/back/node_modules/type-is/README.md similarity index 100% rename from node_modules/type-is/README.md rename to back/node_modules/type-is/README.md diff --git a/node_modules/type-is/index.js b/back/node_modules/type-is/index.js similarity index 100% rename from node_modules/type-is/index.js rename to back/node_modules/type-is/index.js diff --git a/node_modules/type-is/package.json b/back/node_modules/type-is/package.json similarity index 100% rename from node_modules/type-is/package.json rename to back/node_modules/type-is/package.json diff --git a/node_modules/unpipe/HISTORY.md b/back/node_modules/unpipe/HISTORY.md similarity index 100% rename from node_modules/unpipe/HISTORY.md rename to back/node_modules/unpipe/HISTORY.md diff --git a/node_modules/unpipe/LICENSE b/back/node_modules/unpipe/LICENSE similarity index 100% rename from node_modules/unpipe/LICENSE rename to back/node_modules/unpipe/LICENSE diff --git a/node_modules/unpipe/README.md b/back/node_modules/unpipe/README.md similarity index 100% rename from node_modules/unpipe/README.md rename to back/node_modules/unpipe/README.md diff --git a/node_modules/unpipe/index.js b/back/node_modules/unpipe/index.js similarity index 100% rename from node_modules/unpipe/index.js rename to back/node_modules/unpipe/index.js diff --git a/node_modules/unpipe/package.json b/back/node_modules/unpipe/package.json similarity index 100% rename from node_modules/unpipe/package.json rename to back/node_modules/unpipe/package.json diff --git a/node_modules/vary/HISTORY.md b/back/node_modules/vary/HISTORY.md similarity index 100% rename from node_modules/vary/HISTORY.md rename to back/node_modules/vary/HISTORY.md diff --git a/node_modules/vary/LICENSE b/back/node_modules/vary/LICENSE similarity index 100% rename from node_modules/vary/LICENSE rename to back/node_modules/vary/LICENSE diff --git a/node_modules/vary/README.md b/back/node_modules/vary/README.md similarity index 100% rename from node_modules/vary/README.md rename to back/node_modules/vary/README.md diff --git a/node_modules/vary/index.js b/back/node_modules/vary/index.js similarity index 100% rename from node_modules/vary/index.js rename to back/node_modules/vary/index.js diff --git a/node_modules/vary/package.json b/back/node_modules/vary/package.json similarity index 100% rename from node_modules/vary/package.json rename to back/node_modules/vary/package.json diff --git a/back/node_modules/wrappy/LICENSE b/back/node_modules/wrappy/LICENSE new file mode 100644 index 0000000..19129e3 --- /dev/null +++ b/back/node_modules/wrappy/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/node_modules/wrappy/README.md b/back/node_modules/wrappy/README.md similarity index 100% rename from node_modules/wrappy/README.md rename to back/node_modules/wrappy/README.md diff --git a/node_modules/wrappy/package.json b/back/node_modules/wrappy/package.json similarity index 100% rename from node_modules/wrappy/package.json rename to back/node_modules/wrappy/package.json diff --git a/node_modules/wrappy/wrappy.js b/back/node_modules/wrappy/wrappy.js similarity index 100% rename from node_modules/wrappy/wrappy.js rename to back/node_modules/wrappy/wrappy.js diff --git a/package-lock.json b/back/package-lock.json similarity index 76% rename from package-lock.json rename to back/package-lock.json index fb48745..19cfa3e 100644 --- a/package-lock.json +++ b/back/package-lock.json @@ -9,7 +9,77 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "express": "^5.2.1" + "express": "^5.2.1", + "jsonwebtoken": "^9.0.3", + "redis": "^5.11.0" + } + }, + "node_modules/@redis/bloom": { + "version": "5.11.0", + "resolved": "https://registry.npmmirror.com/@redis/bloom/-/bloom-5.11.0.tgz", + "integrity": "sha512-KYiVilAhAFN3057afUb/tfYJpsEyTkQB+tQcn5gVVA7DgcNOAj8lLxe4j8ov8BF6I9C1Fe/kwlbuAICcTMX8Lw==", + "license": "MIT", + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@redis/client": "^5.11.0" + } + }, + "node_modules/@redis/client": { + "version": "5.11.0", + "resolved": "https://registry.npmmirror.com/@redis/client/-/client-5.11.0.tgz", + "integrity": "sha512-GHoprlNQD51Xq2Ztd94HHV94MdFZQ3CVrpA04Fz8MVoHM0B7SlbmPEVIjwTbcv58z8QyjnrOuikS0rWF03k5dQ==", + "license": "MIT", + "dependencies": { + "cluster-key-slot": "1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@node-rs/xxhash": "^1.1.0" + }, + "peerDependenciesMeta": { + "@node-rs/xxhash": { + "optional": true + } + } + }, + "node_modules/@redis/json": { + "version": "5.11.0", + "resolved": "https://registry.npmmirror.com/@redis/json/-/json-5.11.0.tgz", + "integrity": "sha512-1iAy9kAtcD0quB21RbPTbUqqy+T2Uu2JxucwE+B4A+VaDbIRvpZR6DMqV8Iqaws2YxJYB3GC5JVNzPYio2ErUg==", + "license": "MIT", + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@redis/client": "^5.11.0" + } + }, + "node_modules/@redis/search": { + "version": "5.11.0", + "resolved": "https://registry.npmmirror.com/@redis/search/-/search-5.11.0.tgz", + "integrity": "sha512-g1l7f3Rnyk/xI99oGHIgWHSKFl45Re5YTIcO8j/JE8olz389yUFyz2+A6nqVy/Zi031VgPDWscbbgOk8hlhZ3g==", + "license": "MIT", + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@redis/client": "^5.11.0" + } + }, + "node_modules/@redis/time-series": { + "version": "5.11.0", + "resolved": "https://registry.npmmirror.com/@redis/time-series/-/time-series-5.11.0.tgz", + "integrity": "sha512-TWFeOcU4xkj0DkndnOyhtxvX1KWD+78UHT3XX3x3XRBUGWeQrKo3jqzDsZwxbggUgf9yLJr/akFHXru66X5UQA==", + "license": "MIT", + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@redis/client": "^5.11.0" } }, "node_modules/accepts": { @@ -49,6 +119,12 @@ "url": "https://opencollective.com/express" } }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "license": "BSD-3-Clause" + }, "node_modules/bytes": { "version": "3.1.2", "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz", @@ -87,6 +163,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/cluster-key-slot": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz", + "integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/content-disposition": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/content-disposition/-/content-disposition-1.0.1.tgz", @@ -167,6 +252,15 @@ "node": ">= 0.4" } }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmmirror.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz", @@ -448,6 +542,91 @@ "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", "license": "MIT" }, + "node_modules/jsonwebtoken": { + "version": "9.0.3", + "resolved": "https://registry.npmmirror.com/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz", + "integrity": "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==", + "license": "MIT", + "dependencies": { + "jws": "^4.0.1", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jwa": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/jwa/-/jwa-2.0.1.tgz", + "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==", + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "^1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/jws/-/jws-4.0.1.tgz", + "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==", + "license": "MIT", + "dependencies": { + "jwa": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", + "license": "MIT" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "license": "MIT" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", + "license": "MIT" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "license": "MIT" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "license": "MIT" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "license": "MIT" + }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz", @@ -622,6 +801,22 @@ "node": ">= 0.10" } }, + "node_modules/redis": { + "version": "5.11.0", + "resolved": "https://registry.npmmirror.com/redis/-/redis-5.11.0.tgz", + "integrity": "sha512-YwXjATVDT+AuxcyfOwZn046aml9jMlQPvU1VXIlLDVAExe0u93aTfPYSeRgG4p9Q/Jlkj+LXJ1XEoFV+j2JKcQ==", + "license": "MIT", + "dependencies": { + "@redis/bloom": "5.11.0", + "@redis/client": "5.11.0", + "@redis/json": "5.11.0", + "@redis/search": "5.11.0", + "@redis/time-series": "5.11.0" + }, + "engines": { + "node": ">= 18" + } + }, "node_modules/router": { "version": "2.2.0", "resolved": "https://registry.npmmirror.com/router/-/router-2.2.0.tgz", @@ -638,12 +833,44 @@ "node": ">= 18" } }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "license": "MIT" }, + "node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/send": { "version": "1.2.1", "resolved": "https://registry.npmmirror.com/send/-/send-1.2.1.tgz", diff --git a/package.json b/back/package.json similarity index 77% rename from package.json rename to back/package.json index 4592c36..fbc687c 100644 --- a/package.json +++ b/back/package.json @@ -10,6 +10,8 @@ "author": "", "license": "ISC", "dependencies": { - "express": "^5.2.1" + "express": "^5.2.1", + "jsonwebtoken": "^9.0.3", + "redis": "^5.11.0" } }