Skip to content

Commit 4dac22d

Browse files
committed
fix[isTupleOf]: fix return type
1 parent 3505e36 commit 4dac22d

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

is/tuple_of.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ export function isTupleOf<
102102
predTup: T,
103103
predRest: R,
104104
predTrail: L,
105-
): Predicate<[...TupleOf<T>, ...PredicateType<R>, ...TupleOf<T>]>;
105+
): Predicate<[...TupleOf<T>, ...PredicateType<R>, ...TupleOf<L>]>;
106106

107107
export function isTupleOf<
108108
T extends readonly [Predicate<unknown>, ...Predicate<unknown>[]],
@@ -116,7 +116,7 @@ export function isTupleOf<
116116
| TupleOf<T>
117117
| [...TupleOf<T>, ...PredicateType<R>]
118118
| [...PredicateType<R>, ...TupleOf<T>]
119-
| [...TupleOf<T>, ...PredicateType<R>, ...TupleOf<T>]
119+
| [...TupleOf<T>, ...PredicateType<R>, ...TupleOf<L>]
120120
> {
121121
if (typeof predTupOrRest === "function") {
122122
const predRest = predTupOrRest as R;
@@ -163,7 +163,9 @@ export function isTupleOf<
163163
);
164164
} else {
165165
return rewriteName(
166-
(x: unknown): x is [...TupleOf<T>, ...PredicateType<R>] => {
166+
(
167+
x: unknown,
168+
): x is [...TupleOf<T>, ...PredicateType<R>, ...TupleOf<L>] => {
167169
if (!isArray(x) || x.length < (predTup.length + predTrail.length)) {
168170
return false;
169171
}

is/tuple_of_test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -317,13 +317,13 @@ Deno.test("isTupleOf<T, R, L>", async (t) => {
317317
await t.step("predicated type is correct", () => {
318318
const predTup = [is.Number, is.String, is.Boolean] as const;
319319
const predRest = is.ArrayOf(is.Number);
320-
const predTrail = [is.Number, is.String, is.Boolean] as const;
321-
const a: unknown = [0, "a", true, 0, 1, 2, 0, "a", true];
320+
const predTrail = [is.Number, is.Boolean] as const;
321+
const a: unknown = [0, "a", true, 0, 1, 2, 0, true];
322322
if (isTupleOf(predTup, predRest, predTrail)(a)) {
323323
assertType<
324324
Equal<
325325
typeof a,
326-
[number, string, boolean, ...number[], number, string, boolean]
326+
[number, string, boolean, ...number[], number, boolean]
327327
>
328328
>(
329329
true,

0 commit comments

Comments
 (0)