Skip to content

Commit 7d43a97

Browse files
authored
add CLIENT KILL maxAge support (v4) (#2761)
1 parent b4df2b2 commit 7d43a97

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

packages/client/lib/commands/CLIENT_KILL.spec.ts

+10
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,16 @@ describe('CLIENT KILL', () => {
6565
);
6666
});
6767

68+
it('MAXAGE', () => {
69+
assert.deepEqual(
70+
transformArguments({
71+
filter: ClientKillFilters.MAXAGE,
72+
maxAge: 10
73+
}),
74+
['CLIENT', 'KILL', 'MAXAGE', '10']
75+
);
76+
});
77+
6878
describe('SKIP_ME', () => {
6979
it('undefined', () => {
7080
assert.deepEqual(

packages/client/lib/commands/CLIENT_KILL.ts

+11-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ export enum ClientKillFilters {
66
ID = 'ID',
77
TYPE = 'TYPE',
88
USER = 'USER',
9-
SKIP_ME = 'SKIPME'
9+
SKIP_ME = 'SKIPME',
10+
MAXAGE = 'MAXAGE'
1011
}
1112

1213
interface KillFilter<T extends ClientKillFilters> {
@@ -37,7 +38,11 @@ type KillSkipMe = ClientKillFilters.SKIP_ME | (KillFilter<ClientKillFilters.SKIP
3738
skipMe: boolean;
3839
});
3940

40-
type KillFilters = KillAddress | KillLocalAddress | KillId | KillType | KillUser | KillSkipMe;
41+
interface KillMaxage extends KillFilter<ClientKillFilters.MAXAGE> {
42+
maxAge: number;
43+
}
44+
45+
type KillFilters = KillAddress | KillLocalAddress | KillId | KillType | KillUser | KillSkipMe | KillMaxage;
4146

4247
export function transformArguments(filters: KillFilters | Array<KillFilters>): RedisCommandArguments {
4348
const args = ['CLIENT', 'KILL'];
@@ -89,6 +94,10 @@ function pushFilter(args: RedisCommandArguments, filter: KillFilters): void {
8994
case ClientKillFilters.SKIP_ME:
9095
args.push(filter.skipMe ? 'yes' : 'no');
9196
break;
97+
98+
case ClientKillFilters.MAXAGE:
99+
args.push(filter.maxAge.toString());
100+
break;
92101
}
93102
}
94103

0 commit comments

Comments
 (0)