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,13 +3,23 @@ import { TestRedisServers, itWithClient } from '../test-utils';
|
||||
import { transformArguments } from './EXPIREAT';
|
||||
|
||||
describe('EXPIREAT', () => {
|
||||
it('transformArguments', () => {
|
||||
describe('transformArguments', () => {
|
||||
it('number', () => {
|
||||
assert.deepEqual(
|
||||
transformArguments('key', 1),
|
||||
['EXPIRE', '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 => {
|
||||
assert.equal(
|
||||
await client.expireAt('key', 1),
|
||||
|
@@ -1,10 +1,11 @@
|
||||
import { time } from 'console';
|
||||
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 [
|
||||
'EXPIREAT',
|
||||
key,
|
||||
(timestamp instanceof Date ? timestamp.getTime() : timestamp).toString()
|
||||
(typeof timestamp === 'number' ? timestamp : Math.floor(timestamp.getTime() / 1000)).toString()
|
||||
];
|
||||
}
|
||||
|
||||
|
@@ -3,13 +3,23 @@ import { TestRedisServers, itWithClient } from '../test-utils';
|
||||
import { transformArguments } from './PEXPIREAT';
|
||||
|
||||
describe('PEXPIREAT', () => {
|
||||
it('transformArguments', () => {
|
||||
describe('transformArguments', () => {
|
||||
it('number', () => {
|
||||
assert.deepEqual(
|
||||
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 => {
|
||||
assert.equal(
|
||||
await client.pExpireAt('key', 1),
|
||||
|
@@ -2,8 +2,12 @@ import { transformReplyBoolean } from './generic-transformers';
|
||||
|
||||
export const FIRST_KEY_INDEX = 1;
|
||||
|
||||
export function transformArguments(key: string, millisecondsTimestamp: number): Array<string> {
|
||||
return ['PEXPIREAT', key, millisecondsTimestamp.toString()];
|
||||
export function transformArguments(key: string, millisecondsTimestamp: number | Date): Array<string> {
|
||||
return [
|
||||
'PEXPIREAT',
|
||||
key,
|
||||
(typeof millisecondsTimestamp === 'number' ? millisecondsTimestamp : millisecondsTimestamp.getTime()).toString()
|
||||
];
|
||||
}
|
||||
|
||||
export const transformReply = transformReplyBoolean;
|
||||
|
Reference in New Issue
Block a user