You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-06 02:15:48 +03:00
(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
This commit is contained in:
@@ -1,12 +1,18 @@
|
||||
import { CommandParser } from '../client/parser';
|
||||
import { BlobStringReply, NumberReply, ArrayReply, TuplesReply, UnwrapReply, Command } from '../RESP/types';
|
||||
|
||||
/**
|
||||
* Role information returned for a Redis master
|
||||
*/
|
||||
type MasterRole = [
|
||||
role: BlobStringReply<'master'>,
|
||||
replicationOffest: NumberReply,
|
||||
replicas: ArrayReply<TuplesReply<[host: BlobStringReply, port: BlobStringReply, replicationOffest: BlobStringReply]>>
|
||||
];
|
||||
|
||||
/**
|
||||
* Role information returned for a Redis slave
|
||||
*/
|
||||
type SlaveRole = [
|
||||
role: BlobStringReply<'slave'>,
|
||||
masterHost: BlobStringReply,
|
||||
@@ -15,19 +21,37 @@ type SlaveRole = [
|
||||
dataReceived: NumberReply
|
||||
];
|
||||
|
||||
/**
|
||||
* Role information returned for a Redis sentinel
|
||||
*/
|
||||
type SentinelRole = [
|
||||
role: BlobStringReply<'sentinel'>,
|
||||
masterNames: ArrayReply<BlobStringReply>
|
||||
];
|
||||
|
||||
/**
|
||||
* Combined role type for Redis instance role information
|
||||
*/
|
||||
type Role = TuplesReply<MasterRole | SlaveRole | SentinelRole>;
|
||||
|
||||
export default {
|
||||
NOT_KEYED_COMMAND: true,
|
||||
IS_READ_ONLY: true,
|
||||
/**
|
||||
* Constructs the ROLE command
|
||||
*
|
||||
* @param parser - The command parser
|
||||
* @see https://redis.io/commands/role/
|
||||
*/
|
||||
parseCommand(parser: CommandParser) {
|
||||
parser.push('ROLE');
|
||||
},
|
||||
/**
|
||||
* Transforms the ROLE reply into a structured object
|
||||
*
|
||||
* @param reply - The raw reply from Redis
|
||||
* @returns Structured object representing role information
|
||||
*/
|
||||
transformReply(reply: UnwrapReply<Role>) {
|
||||
switch (reply[0] as unknown as UnwrapReply<typeof reply[0]>) {
|
||||
case 'master': {
|
||||
|
Reference in New Issue
Block a user