1
0
mirror of https://github.com/redis/node-redis.git synced 2025-12-12 21:21:15 +03:00
Files
node-redis/packages/search/lib/commands/EXPLAINCLI.ts
Bobby I. 20c16e0c2c (docs) add jsdoc comments to command parsers (#2984)
* (docs) bloom: add jsdocs for all commands

* (docs) json: add jsdocs

* (docs) search: add jsdocs for all commands

* (docs) jsdocs for std commands

* (docs) jsdoc comments to time series commands
2025-06-03 14:38:07 +03:00

36 lines
1.1 KiB
TypeScript

import { CommandParser } from '@redis/client/dist/lib/client/parser';
import { RedisArgument, ArrayReply, BlobStringReply, Command } from '@redis/client/dist/lib/RESP/types';
import { DEFAULT_DIALECT } from '../dialect/default';
export interface FtExplainCLIOptions {
DIALECT?: number;
}
export 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: CommandParser,
index: RedisArgument,
query: RedisArgument,
options?: FtExplainCLIOptions
) {
parser.push('FT.EXPLAINCLI', index, query);
if (options?.DIALECT) {
parser.push('DIALECT', options.DIALECT.toString());
} else {
parser.push('DIALECT', DEFAULT_DIALECT);
}
},
transformReply: undefined as unknown as () => ArrayReply<BlobStringReply>
} as const satisfies Command;