Skip to content

Commit 63b2ee4

Browse files
authoredMay 31, 2022
fix: Add back Pipeline#length (#1585)
Closes #1584
1 parent fe21620 commit 63b2ee4

File tree

4 files changed

+20
-5
lines changed

4 files changed

+20
-5
lines changed
 

‎bin/template.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ export interface ResultTypes<Result, Context> {
1111
pipeline: ChainableCommander;
1212
}
1313

14-
export interface ChainableCommander
15-
extends RedisCommander<{ type: "pipeline" }> {}
14+
export interface ChainableCommander extends RedisCommander<{ type: "pipeline" }> {
15+
length: number;
16+
}
1617

1718
export type ClientContext = { type: keyof ResultTypes<unknown, unknown> };
1819
export type Result<T, Context extends ClientContext> =

‎lib/Pipeline.ts

+4
Original file line numberDiff line numberDiff line change
@@ -392,3 +392,7 @@ Pipeline.prototype.exec = function (callback: Callback): Promise<Array<any>> {
392392
return _this.promise;
393393
}
394394
};
395+
396+
interface Pipeline {
397+
length: number;
398+
}

‎lib/utils/RedisCommander.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ export interface ResultTypes<Result, Context> {
1111
pipeline: ChainableCommander;
1212
}
1313

14-
export interface ChainableCommander
15-
extends RedisCommander<{ type: "pipeline" }> {}
14+
export interface ChainableCommander extends RedisCommander<{ type: "pipeline" }> {
15+
length: number;
16+
}
1617

1718
export type ClientContext = { type: keyof ResultTypes<unknown, unknown> };
1819
export type Result<T, Context extends ClientContext> =

‎test/typing/pipeline.test-d.ts

+10-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { expectType } from "tsd";
2-
import Redis from "../../built";
2+
import Redis, { Pipeline } from "../../built";
33

44
const redis = new Redis();
55

@@ -24,3 +24,12 @@ expectType<RETURN_TYPE>(
2424
])
2525
.exec()
2626
);
27+
28+
expectType<number>(
29+
redis.pipeline([
30+
["set", Buffer.from("foo"), "bar"],
31+
["incrby", "foo", 42],
32+
]).length
33+
);
34+
35+
expectType<number>(({} as unknown as Pipeline).length);

0 commit comments

Comments
 (0)
Please sign in to comment.