You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-06 02:15:48 +03:00
use dockers for tests, use npm workspaces, add rejson & redisearch modules, fix some bugs
This commit is contained in:
36
packages/client/lib/commands/GETEX.ts
Normal file
36
packages/client/lib/commands/GETEX.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
import { RedisCommandArguments } from '.';
|
||||
import { transformEXAT, transformPXAT } from './generic-transformers';
|
||||
|
||||
export const FIRST_KEY_INDEX = 1;
|
||||
|
||||
type GetExModes = {
|
||||
EX: number;
|
||||
} | {
|
||||
PX: number;
|
||||
} | {
|
||||
EXAT: number | Date;
|
||||
} | {
|
||||
PXAT: number | Date;
|
||||
} | {
|
||||
PERSIST: true;
|
||||
};
|
||||
|
||||
export function transformArguments(key: string, mode: GetExModes): RedisCommandArguments {
|
||||
const args = ['GETEX', key];
|
||||
|
||||
if ('EX' in mode) {
|
||||
args.push('EX', mode.EX.toString());
|
||||
} else if ('PX' in mode) {
|
||||
args.push('PX', mode.PX.toString());
|
||||
} else if ('EXAT' in mode) {
|
||||
args.push('EXAT', transformEXAT(mode.EXAT));
|
||||
} else if ('PXAT' in mode) {
|
||||
args.push('PXAT', transformPXAT(mode.PXAT));
|
||||
} else { // PERSIST
|
||||
args.push('PERSIST');
|
||||
}
|
||||
|
||||
return args;
|
||||
}
|
||||
|
||||
export declare function transformReply(): string | null;
|
Reference in New Issue
Block a user