@valkey/client
Version:
The source code and documentation for this package are in the main [node-redis](https://github.com/redis/node-redis) repo.
49 lines (48 loc) • 1.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformArguments = void 0;
function transformArguments(mode, options) {
const args = [
"CLIENT",
"TRACKING",
mode ? "ON" : "OFF",
];
if (mode) {
if (options?.REDIRECT) {
args.push("REDIRECT", options.REDIRECT.toString());
}
if (isBroadcast(options)) {
args.push("BCAST");
if (options?.PREFIX) {
if (Array.isArray(options.PREFIX)) {
for (const prefix of options.PREFIX) {
args.push("PREFIX", prefix);
}
}
else {
args.push("PREFIX", options.PREFIX);
}
}
}
else if (isOptIn(options)) {
args.push("OPTIN");
}
else if (isOptOut(options)) {
args.push("OPTOUT");
}
if (options?.NOLOOP) {
args.push("NOLOOP");
}
}
return args;
}
exports.transformArguments = transformArguments;
function isBroadcast(options) {
return options?.BCAST === true;
}
function isOptIn(options) {
return options?.OPTIN === true;
}
function isOptOut(options) {
return options?.OPTOUT === true;
}