-first commit
This commit is contained in:
91
node_modules/@redis/client/dist/lib/commander.js
generated
vendored
Normal file
91
node_modules/@redis/client/dist/lib/commander.js
generated
vendored
Normal file
@@ -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
|
||||
Reference in New Issue
Block a user