Skip to content

Commit e7185c4

Browse files
Millylambdalisue
authored andcommitted
fix[isTupleOf]: rename predElse to predRest
1 parent 873097f commit e7185c4

File tree

3 files changed

+25
-25
lines changed

3 files changed

+25
-25
lines changed

is/__snapshots__/tuple_of_test.ts.snap

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,17 @@ snapshot[`isTupleOf<T> > returns properly named predicate function 3`] = `
2222
])"
2323
`;
2424
25-
snapshot[`isTupleOf<T, E> > returns properly named predicate function 1`] = `
25+
snapshot[`isTupleOf<T, R> > returns properly named predicate function 1`] = `
2626
"isTupleOf([
2727
isNumber,
2828
isString,
2929
isBoolean
3030
], isArray)"
3131
`;
3232
33-
snapshot[`isTupleOf<T, E> > returns properly named predicate function 2`] = `"isTupleOf([(anonymous)], isArrayOf(isString))"`;
33+
snapshot[`isTupleOf<T, R> > returns properly named predicate function 2`] = `"isTupleOf([(anonymous)], isArrayOf(isString))"`;
3434
35-
snapshot[`isTupleOf<T, E> > returns properly named predicate function 3`] = `
35+
snapshot[`isTupleOf<T, R> > returns properly named predicate function 3`] = `
3636
"isTupleOf([
3737
isTupleOf([
3838
isTupleOf([

is/tuple_of.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import type { Predicate, PredicateType } from "../type.ts";
33
import { isArray } from "./array.ts";
44

55
/**
6-
* Return a type predicate function that returns `true` if the type of `x` is `TupleOf<T>` or `TupleOf<T, E>`.
6+
* Return a type predicate function that returns `true` if the type of `x` is `TupleOf<T>` or `TupleOf<T, R>`.
77
*
88
* Use {@linkcode isUniformTupleOf} to check if the type of `x` is a tuple of uniform types.
99
*
@@ -19,7 +19,7 @@ import { isArray } from "./array.ts";
1919
* }
2020
* ```
2121
*
22-
* With `predElse`:
22+
* With `predRest` to represent rest elements:
2323
*
2424
* ```ts
2525
* import { is } from "@core/unknownutil";
@@ -56,20 +56,20 @@ export function isTupleOf<
5656

5757
export function isTupleOf<
5858
T extends readonly [Predicate<unknown>, ...Predicate<unknown>[]],
59-
E extends Predicate<unknown[]>,
59+
R extends Predicate<unknown[]>,
6060
>(
6161
predTup: T,
62-
predElse: E,
63-
): Predicate<[...TupleOf<T>, ...PredicateType<E>]>;
62+
predRest: R,
63+
): Predicate<[...TupleOf<T>, ...PredicateType<R>]>;
6464

6565
export function isTupleOf<
6666
T extends readonly [Predicate<unknown>, ...Predicate<unknown>[]],
67-
E extends Predicate<unknown[]>,
67+
R extends Predicate<unknown[]>,
6868
>(
6969
predTup: T,
70-
predElse?: E,
71-
): Predicate<TupleOf<T> | [...TupleOf<T>, ...PredicateType<E>]> {
72-
if (!predElse) {
70+
predRest?: R,
71+
): Predicate<TupleOf<T> | [...TupleOf<T>, ...PredicateType<R>]> {
72+
if (!predRest) {
7373
return rewriteName(
7474
(x: unknown): x is TupleOf<T> => {
7575
if (!isArray(x) || x.length !== predTup.length) {
@@ -82,17 +82,17 @@ export function isTupleOf<
8282
);
8383
} else {
8484
return rewriteName(
85-
(x: unknown): x is [...TupleOf<T>, ...PredicateType<E>] => {
85+
(x: unknown): x is [...TupleOf<T>, ...PredicateType<R>] => {
8686
if (!isArray(x) || x.length < predTup.length) {
8787
return false;
8888
}
8989
const head = x.slice(0, predTup.length);
9090
const tail = x.slice(predTup.length);
91-
return predTup.every((pred, i) => pred(head[i])) && predElse(tail);
91+
return predTup.every((pred, i) => pred(head[i])) && predRest(tail);
9292
},
9393
"isTupleOf",
9494
predTup,
95-
predElse,
95+
predRest,
9696
);
9797
}
9898
}

is/tuple_of_test.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ Deno.test("isTupleOf<T>", async (t) => {
4343
});
4444
});
4545

46-
Deno.test("isTupleOf<T, E>", async (t) => {
46+
Deno.test("isTupleOf<T, R>", async (t) => {
4747
await t.step("returns properly named predicate function", async (t) => {
4848
await assertSnapshot(
4949
t,
@@ -67,27 +67,27 @@ Deno.test("isTupleOf<T, E>", async (t) => {
6767

6868
await t.step("returns true on T tuple", () => {
6969
const predTup = [is.Number, is.String, is.Boolean] as const;
70-
const predElse = is.ArrayOf(is.Number);
71-
assertEquals(isTupleOf(predTup, predElse)([0, "a", true, 0, 1, 2]), true);
70+
const predRest = is.ArrayOf(is.Number);
71+
assertEquals(isTupleOf(predTup, predRest)([0, "a", true, 0, 1, 2]), true);
7272
});
7373

7474
await t.step("returns false on non T tuple", () => {
7575
const predTup = [is.Number, is.String, is.Boolean] as const;
76-
const predElse = is.ArrayOf(is.String);
77-
assertEquals(isTupleOf(predTup, predElse)([0, 1, 2, 0, 1, 2]), false);
78-
assertEquals(isTupleOf(predTup, predElse)([0, "a", 0, 1, 2]), false);
76+
const predRest = is.ArrayOf(is.String);
77+
assertEquals(isTupleOf(predTup, predRest)([0, 1, 2, 0, 1, 2]), false);
78+
assertEquals(isTupleOf(predTup, predRest)([0, "a", 0, 1, 2]), false);
7979
assertEquals(
80-
isTupleOf(predTup, predElse)([0, "a", true, 0, 0, 1, 2]),
80+
isTupleOf(predTup, predRest)([0, "a", true, 0, 0, 1, 2]),
8181
false,
8282
);
83-
assertEquals(isTupleOf(predTup, predElse)([0, "a", true, 0, 1, 2]), false);
83+
assertEquals(isTupleOf(predTup, predRest)([0, "a", true, 0, 1, 2]), false);
8484
});
8585

8686
await t.step("predicated type is correct", () => {
8787
const predTup = [is.Number, is.String, is.Boolean] as const;
88-
const predElse = is.ArrayOf(is.Number);
88+
const predRest = is.ArrayOf(is.Number);
8989
const a: unknown = [0, "a", true, 0, 1, 2];
90-
if (isTupleOf(predTup, predElse)(a)) {
90+
if (isTupleOf(predTup, predRest)(a)) {
9191
assertType<Equal<typeof a, [number, string, boolean, ...number[]]>>(
9292
true,
9393
);

0 commit comments

Comments
 (0)