You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-06 02:15:48 +03:00
add CLIENT KILL maxAge support (v4) (#2761)
This commit is contained in:
@@ -65,6 +65,16 @@ describe('CLIENT KILL', () => {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('MAXAGE', () => {
|
||||||
|
assert.deepEqual(
|
||||||
|
transformArguments({
|
||||||
|
filter: ClientKillFilters.MAXAGE,
|
||||||
|
maxAge: 10
|
||||||
|
}),
|
||||||
|
['CLIENT', 'KILL', 'MAXAGE', '10']
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
describe('SKIP_ME', () => {
|
describe('SKIP_ME', () => {
|
||||||
it('undefined', () => {
|
it('undefined', () => {
|
||||||
assert.deepEqual(
|
assert.deepEqual(
|
||||||
|
@@ -6,7 +6,8 @@ export enum ClientKillFilters {
|
|||||||
ID = 'ID',
|
ID = 'ID',
|
||||||
TYPE = 'TYPE',
|
TYPE = 'TYPE',
|
||||||
USER = 'USER',
|
USER = 'USER',
|
||||||
SKIP_ME = 'SKIPME'
|
SKIP_ME = 'SKIPME',
|
||||||
|
MAXAGE = 'MAXAGE'
|
||||||
}
|
}
|
||||||
|
|
||||||
interface KillFilter<T extends ClientKillFilters> {
|
interface KillFilter<T extends ClientKillFilters> {
|
||||||
@@ -37,7 +38,11 @@ type KillSkipMe = ClientKillFilters.SKIP_ME | (KillFilter<ClientKillFilters.SKIP
|
|||||||
skipMe: boolean;
|
skipMe: boolean;
|
||||||
});
|
});
|
||||||
|
|
||||||
type KillFilters = KillAddress | KillLocalAddress | KillId | KillType | KillUser | KillSkipMe;
|
interface KillMaxage extends KillFilter<ClientKillFilters.MAXAGE> {
|
||||||
|
maxAge: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
type KillFilters = KillAddress | KillLocalAddress | KillId | KillType | KillUser | KillSkipMe | KillMaxage;
|
||||||
|
|
||||||
export function transformArguments(filters: KillFilters | Array<KillFilters>): RedisCommandArguments {
|
export function transformArguments(filters: KillFilters | Array<KillFilters>): RedisCommandArguments {
|
||||||
const args = ['CLIENT', 'KILL'];
|
const args = ['CLIENT', 'KILL'];
|
||||||
@@ -89,6 +94,10 @@ function pushFilter(args: RedisCommandArguments, filter: KillFilters): void {
|
|||||||
case ClientKillFilters.SKIP_ME:
|
case ClientKillFilters.SKIP_ME:
|
||||||
args.push(filter.skipMe ? 'yes' : 'no');
|
args.push(filter.skipMe ? 'yes' : 'no');
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case ClientKillFilters.MAXAGE:
|
||||||
|
args.push(filter.maxAge.toString());
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user