You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-03 04:01:40 +03:00
* (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
30 lines
990 B
TypeScript
30 lines
990 B
TypeScript
import { CommandParser } from '../client/parser';
|
|
import { RedisArgument, ArrayReply, NumberReply, Command } from '../RESP/types';
|
|
import { BitFieldGetOperation } from './BITFIELD';
|
|
|
|
export type BitFieldRoOperations = Array<
|
|
Omit<BitFieldGetOperation, 'operation'>
|
|
>;
|
|
|
|
export default {
|
|
CACHEABLE: true,
|
|
IS_READ_ONLY: true,
|
|
/**
|
|
* Performs read-only bitfield integer operations on strings
|
|
* @param parser - The Redis command parser
|
|
* @param key - The key holding the string
|
|
* @param operations - Array of GET operations to perform on the bitfield
|
|
*/
|
|
parseCommand(parser: CommandParser, key: RedisArgument, operations: BitFieldRoOperations) {
|
|
parser.push('BITFIELD_RO');
|
|
parser.pushKey(key);
|
|
|
|
for (const operation of operations) {
|
|
parser.push('GET');
|
|
parser.push(operation.encoding);
|
|
parser.push(operation.offset.toString())
|
|
}
|
|
},
|
|
transformReply: undefined as unknown as () => ArrayReply<NumberReply>
|
|
} as const satisfies Command;
|