You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-11 22:42:42 +03:00
add support for date in both EXPIREAT & EXPIRE
This commit is contained in:
@@ -3,11 +3,21 @@ import { TestRedisServers, itWithClient } from '../test-utils';
|
|||||||
import { transformArguments } from './EXPIREAT';
|
import { transformArguments } from './EXPIREAT';
|
||||||
|
|
||||||
describe('EXPIREAT', () => {
|
describe('EXPIREAT', () => {
|
||||||
it('transformArguments', () => {
|
describe('transformArguments', () => {
|
||||||
assert.deepEqual(
|
it('number', () => {
|
||||||
transformArguments('key', 1),
|
assert.deepEqual(
|
||||||
['EXPIRE', 'key', '1']
|
transformArguments('key', 1),
|
||||||
);
|
['EXPIREAT', 'key', '1']
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('date', () => {
|
||||||
|
const d = new Date();
|
||||||
|
assert.deepEqual(
|
||||||
|
transformArguments('key', d),
|
||||||
|
['EXPIREAT', 'key', Math.floor(d.getTime() / 1000).toString()]
|
||||||
|
);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
itWithClient(TestRedisServers.OPEN, 'client.expireAt', async client => {
|
itWithClient(TestRedisServers.OPEN, 'client.expireAt', async client => {
|
||||||
|
@@ -1,10 +1,11 @@
|
|||||||
|
import { time } from 'console';
|
||||||
import { transformReplyBoolean } from './generic-transformers';
|
import { transformReplyBoolean } from './generic-transformers';
|
||||||
|
|
||||||
export function transformArguments(key: string, timestamp: Date | number): Array<string> {
|
export function transformArguments(key: string, timestamp: number | Date): Array<string> {
|
||||||
return [
|
return [
|
||||||
'EXPIREAT',
|
'EXPIREAT',
|
||||||
key,
|
key,
|
||||||
(timestamp instanceof Date ? timestamp.getTime() : timestamp).toString()
|
(typeof timestamp === 'number' ? timestamp : Math.floor(timestamp.getTime() / 1000)).toString()
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -3,11 +3,21 @@ import { TestRedisServers, itWithClient } from '../test-utils';
|
|||||||
import { transformArguments } from './PEXPIREAT';
|
import { transformArguments } from './PEXPIREAT';
|
||||||
|
|
||||||
describe('PEXPIREAT', () => {
|
describe('PEXPIREAT', () => {
|
||||||
it('transformArguments', () => {
|
describe('transformArguments', () => {
|
||||||
assert.deepEqual(
|
it('number', () => {
|
||||||
transformArguments('key', 1),
|
assert.deepEqual(
|
||||||
['PEXPIREAT', 'key', '1']
|
transformArguments('key', 1),
|
||||||
);
|
['PEXPIREAT', 'key', '1']
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('date', () => {
|
||||||
|
const d = new Date();
|
||||||
|
assert.deepEqual(
|
||||||
|
transformArguments('key', d),
|
||||||
|
['PEXPIREAT', 'key', d.getTime().toString()]
|
||||||
|
);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
itWithClient(TestRedisServers.OPEN, 'client.pExpireAt', async client => {
|
itWithClient(TestRedisServers.OPEN, 'client.pExpireAt', async client => {
|
||||||
|
@@ -2,8 +2,12 @@ import { transformReplyBoolean } from './generic-transformers';
|
|||||||
|
|
||||||
export const FIRST_KEY_INDEX = 1;
|
export const FIRST_KEY_INDEX = 1;
|
||||||
|
|
||||||
export function transformArguments(key: string, millisecondsTimestamp: number): Array<string> {
|
export function transformArguments(key: string, millisecondsTimestamp: number | Date): Array<string> {
|
||||||
return ['PEXPIREAT', key, millisecondsTimestamp.toString()];
|
return [
|
||||||
|
'PEXPIREAT',
|
||||||
|
key,
|
||||||
|
(typeof millisecondsTimestamp === 'number' ? millisecondsTimestamp : millisecondsTimestamp.getTime()).toString()
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
export const transformReply = transformReplyBoolean;
|
export const transformReply = transformReplyBoolean;
|
||||||
|
Reference in New Issue
Block a user