@redis/client
Advanced tools
Comparing version 1.5.5 to 1.5.6
@@ -10,4 +10,5 @@ import RedisClient from './lib/client'; | ||
export { defineScript } from './lib/lua-script'; | ||
export * from './lib/errors'; | ||
export { GeoReplyWith } from './lib/commands/generic-transformers'; | ||
export * from './lib/errors'; | ||
export { SetOptions } from "./lib/commands/SET"; | ||
export { SetOptions } from './lib/commands/SET'; | ||
export { RedisFlushModes } from './lib/commands/FLUSHALL'; |
@@ -17,3 +17,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.GeoReplyWith = exports.defineScript = exports.createCluster = exports.commandOptions = exports.createClient = void 0; | ||
exports.RedisFlushModes = exports.GeoReplyWith = exports.defineScript = exports.createCluster = exports.commandOptions = exports.createClient = void 0; | ||
const client_1 = require("./lib/client"); | ||
@@ -26,4 +26,6 @@ const cluster_1 = require("./lib/cluster"); | ||
Object.defineProperty(exports, "defineScript", { enumerable: true, get: function () { return lua_script_1.defineScript; } }); | ||
__exportStar(require("./lib/errors"), exports); | ||
var generic_transformers_1 = require("./lib/commands/generic-transformers"); | ||
Object.defineProperty(exports, "GeoReplyWith", { enumerable: true, get: function () { return generic_transformers_1.GeoReplyWith; } }); | ||
__exportStar(require("./lib/errors"), exports); | ||
var FLUSHALL_1 = require("./lib/commands/FLUSHALL"); | ||
Object.defineProperty(exports, "RedisFlushModes", { enumerable: true, get: function () { return FLUSHALL_1.RedisFlushModes; } }); |
@@ -13,3 +13,3 @@ "use strict"; | ||
}; | ||
var _RedisClient_instances, _RedisClient_options, _RedisClient_socket, _RedisClient_queue, _RedisClient_isolationPool, _RedisClient_v4, _RedisClient_selectedDB, _RedisClient_initiateOptions, _RedisClient_initiateQueue, _RedisClient_initiateSocket, _RedisClient_legacyMode, _RedisClient_legacySendCommand, _RedisClient_defineLegacyCommand, _RedisClient_pingTimer, _RedisClient_setPingTimer, _RedisClient_sendCommand, _RedisClient_pubSubCommand, _RedisClient_tick, _RedisClient_destroyIsolationPool; | ||
var _RedisClient_instances, _RedisClient_options, _RedisClient_socket, _RedisClient_queue, _RedisClient_isolationPool, _RedisClient_v4, _RedisClient_selectedDB, _RedisClient_initiateOptions, _RedisClient_initiateQueue, _RedisClient_initiateSocket, _RedisClient_legacyMode, _RedisClient_legacySendCommand, _RedisClient_defineLegacyCommand, _RedisClient_pingTimer, _RedisClient_setPingTimer, _RedisClient_sendCommand, _RedisClient_pubSubCommand, _RedisClient_tick, _RedisClient_addMultiCommands, _RedisClient_destroyIsolationPool; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -284,5 +284,10 @@ const commands_1 = require("./commands"); | ||
} | ||
const promise = Promise.all(commands.map(({ args }) => { | ||
return __classPrivateFieldGet(this, _RedisClient_queue, "f").addCommand(args, { chainId }); | ||
})); | ||
const promise = chainId ? | ||
// if `chainId` has a value, it's a `MULTI` (and not "pipeline") - need to add the `MULTI` and `EXEC` commands | ||
Promise.all([ | ||
__classPrivateFieldGet(this, _RedisClient_queue, "f").addCommand(['MULTI'], { chainId }), | ||
__classPrivateFieldGet(this, _RedisClient_instances, "m", _RedisClient_addMultiCommands).call(this, commands, chainId), | ||
__classPrivateFieldGet(this, _RedisClient_queue, "f").addCommand(['EXEC'], { chainId }) | ||
]) : | ||
__classPrivateFieldGet(this, _RedisClient_instances, "m", _RedisClient_addMultiCommands).call(this, commands); | ||
__classPrivateFieldGet(this, _RedisClient_instances, "m", _RedisClient_tick).call(this); | ||
@@ -509,2 +514,4 @@ const results = await promise; | ||
} | ||
}, _RedisClient_addMultiCommands = function _RedisClient_addMultiCommands(commands, chainId) { | ||
return Promise.all(commands.map(({ args }) => __classPrivateFieldGet(this, _RedisClient_queue, "f").addCommand(args, { chainId }))); | ||
}, _RedisClient_destroyIsolationPool = async function _RedisClient_destroyIsolationPool() { | ||
@@ -511,0 +518,0 @@ await __classPrivateFieldGet(this, _RedisClient_isolationPool, "f").drain(); |
@@ -81,8 +81,7 @@ "use strict"; | ||
} | ||
const commands = __classPrivateFieldGet(this, _RedisClientMultiCommand_multi, "f").exec(); | ||
if (!commands) | ||
return []; | ||
return __classPrivateFieldGet(this, _RedisClientMultiCommand_multi, "f").handleExecReplies(await __classPrivateFieldGet(this, _RedisClientMultiCommand_executor, "f").call(this, commands, __classPrivateFieldGet(this, _RedisClientMultiCommand_selectedDB, "f"), multi_command_1.default.generateChainId())); | ||
return __classPrivateFieldGet(this, _RedisClientMultiCommand_multi, "f").handleExecReplies(await __classPrivateFieldGet(this, _RedisClientMultiCommand_executor, "f").call(this, __classPrivateFieldGet(this, _RedisClientMultiCommand_multi, "f").queue, __classPrivateFieldGet(this, _RedisClientMultiCommand_selectedDB, "f"), multi_command_1.default.generateChainId())); | ||
} | ||
async execAsPipeline() { | ||
if (__classPrivateFieldGet(this, _RedisClientMultiCommand_multi, "f").queue.length === 0) | ||
return []; | ||
return __classPrivateFieldGet(this, _RedisClientMultiCommand_multi, "f").transformReplies(await __classPrivateFieldGet(this, _RedisClientMultiCommand_executor, "f").call(this, __classPrivateFieldGet(this, _RedisClientMultiCommand_multi, "f").queue, __classPrivateFieldGet(this, _RedisClientMultiCommand_selectedDB, "f"))); | ||
@@ -89,0 +88,0 @@ } |
@@ -209,6 +209,6 @@ "use strict"; | ||
if (length === -1) { | ||
return this.returnArrayReply(null, arraysToKeep); | ||
return this.returnArrayReply(null, arraysToKeep, chunk); | ||
} | ||
else if (length === 0) { | ||
return this.returnArrayReply([], arraysToKeep); | ||
return this.returnArrayReply([], arraysToKeep, chunk); | ||
} | ||
@@ -235,15 +235,18 @@ this.arraysInProcess.push({ | ||
} | ||
returnArrayReply(reply, arraysToKeep) { | ||
returnArrayReply(reply, arraysToKeep, chunk) { | ||
if (this.arraysInProcess.length <= arraysToKeep) | ||
return reply; | ||
return this.pushArrayItem(reply, arraysToKeep); | ||
return this.pushArrayItem(reply, arraysToKeep, chunk); | ||
} | ||
pushArrayItem(item, arraysToKeep) { | ||
pushArrayItem(item, arraysToKeep, chunk) { | ||
const to = this.arraysInProcess[this.arraysInProcess.length - 1]; | ||
to.array[to.pushCounter] = item; | ||
if (++to.pushCounter === to.array.length) { | ||
return this.returnArrayReply(this.arraysInProcess.pop().array, arraysToKeep); | ||
return this.returnArrayReply(this.arraysInProcess.pop().array, arraysToKeep, chunk); | ||
} | ||
else if (chunk && chunk.length > this.cursor) { | ||
return this.parseArray(chunk, arraysToKeep); | ||
} | ||
} | ||
} | ||
exports.default = RESP2Decoder; |
@@ -68,6 +68,3 @@ "use strict"; | ||
} | ||
const commands = __classPrivateFieldGet(this, _RedisClusterMultiCommand_multi, "f").exec(); | ||
if (!commands) | ||
return []; | ||
return __classPrivateFieldGet(this, _RedisClusterMultiCommand_multi, "f").handleExecReplies(await __classPrivateFieldGet(this, _RedisClusterMultiCommand_executor, "f").call(this, commands, __classPrivateFieldGet(this, _RedisClusterMultiCommand_firstKey, "f"), multi_command_1.default.generateChainId())); | ||
return __classPrivateFieldGet(this, _RedisClusterMultiCommand_multi, "f").handleExecReplies(await __classPrivateFieldGet(this, _RedisClusterMultiCommand_executor, "f").call(this, __classPrivateFieldGet(this, _RedisClusterMultiCommand_multi, "f").queue, __classPrivateFieldGet(this, _RedisClusterMultiCommand_firstKey, "f"), multi_command_1.default.generateChainId())); | ||
} | ||
@@ -74,0 +71,0 @@ async execAsPipeline() { |
@@ -13,5 +13,4 @@ import { RedisCommand, RedisCommandArguments, RedisCommandRawReply, RedisFunction, RedisScript } from './commands'; | ||
addScript(script: RedisScript, args: Array<unknown>): RedisCommandArguments; | ||
exec(): undefined | Array<RedisMultiQueuedCommand>; | ||
handleExecReplies(rawReplies: Array<RedisCommandRawReply>): Array<RedisCommandRawReply>; | ||
transformReplies(rawReplies: Array<RedisCommandRawReply>): Array<RedisCommandRawReply>; | ||
} |
@@ -57,12 +57,2 @@ "use strict"; | ||
} | ||
exec() { | ||
if (!this.queue.length) { | ||
return; | ||
} | ||
return [ | ||
{ args: ['MULTI'] }, | ||
...this.queue, | ||
{ args: ['EXEC'] } | ||
]; | ||
} | ||
handleExecReplies(rawReplies) { | ||
@@ -69,0 +59,0 @@ const execReply = rawReplies[rawReplies.length - 1]; |
{ | ||
"name": "@redis/client", | ||
"version": "1.5.5", | ||
"version": "1.5.6", | ||
"license": "MIT", | ||
@@ -24,8 +24,8 @@ "main": "./dist/index.js", | ||
"@redis/test-utils": "*", | ||
"@types/node": "^18.11.18", | ||
"@types/node": "^18.14.1", | ||
"@types/sinon": "^10.0.13", | ||
"@types/yallist": "^4.0.1", | ||
"@typescript-eslint/eslint-plugin": "^5.49.0", | ||
"@typescript-eslint/parser": "^5.49.0", | ||
"eslint": "^8.32.0", | ||
"@typescript-eslint/eslint-plugin": "^5.53.0", | ||
"@typescript-eslint/parser": "^5.53.0", | ||
"eslint": "^8.34.0", | ||
"nyc": "^15.1.0", | ||
@@ -36,4 +36,4 @@ "release-it": "^15.6.0", | ||
"ts-node": "^10.9.1", | ||
"typedoc": "^0.23.24", | ||
"typescript": "^4.9.4" | ||
"typedoc": "^0.23.25", | ||
"typescript": "^4.9.5" | ||
}, | ||
@@ -40,0 +40,0 @@ "engines": { |
585871
13057