Files
micro-service-api/node_modules/@redis/client/dist/lib/commands/FUNCTION_STATS.js
2025-11-11 12:36:06 +07:00

47 lines
1.4 KiB
JavaScript

"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