Skip to content

Commit 243dfc5

Browse files
authored
Merge pull request #124 from jsr-core/nit-fix
2 parents d0f6737 + 456e2b9 commit 243dfc5

File tree

4 files changed

+19
-17
lines changed

4 files changed

+19
-17
lines changed

_annotation.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import type { Predicate } from "./type.ts";
22

3-
export type Fn = (...args: unknown[]) => unknown;
3+
// deno-lint-ignore no-explicit-any
4+
export type Fn = (...args: any[]) => unknown;
45

56
export function annotate<F extends Fn, N extends string, V>(
67
fn: F,

_funcutil.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ import { inspect } from "./_inspect.ts";
33
/**
44
* Rewrite the function name.
55
*/
6-
export function rewriteName<F extends (...args: unknown[]) => unknown>(
6+
// deno-lint-ignore no-explicit-any
7+
export function rewriteName<F extends (...args: any[]) => unknown>(
78
fn: F,
89
name: string,
910
...args: unknown[]

is/array_of.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ export function isArrayOf<T>(
2323
pred: Predicate<T>,
2424
): Predicate<T[]> {
2525
return rewriteName(
26-
(x: unknown): x is T[] => isArray(x) && x.every(pred),
26+
(x: unknown): x is T[] => isArray(x) && x.every((v) => pred(v)),
2727
"isArrayOf",
2828
pred,
2929
);

is/object_of.ts

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -43,22 +43,22 @@ export function isObjectOf<
4343
...Object.keys(predObj),
4444
...Object.getOwnPropertySymbols(predObj),
4545
].map((k) => [k, predObj[k]]);
46-
return annotate(
47-
rewriteName(
48-
(x: unknown): x is ObjectOf<T> => {
49-
if (
50-
x == null ||
51-
typeof x !== "object" && typeof x !== "function" ||
52-
Array.isArray(x)
53-
) return false;
54-
return preds.every(([k, pred]) => pred((x as T)[k]));
55-
},
56-
"isObjectOf",
57-
predObj,
58-
),
59-
"predObj",
46+
const pred = rewriteName(
47+
(x): x is ObjectOf<T> => {
48+
if (!isObject(x)) return false;
49+
return preds.every(([k, pred]) => pred(x[k]));
50+
},
51+
"isObjectOf",
6052
predObj,
6153
);
54+
return annotate(pred, "predObj", predObj);
55+
}
56+
57+
function isObject(x: unknown): x is Record<PropertyKey, unknown> {
58+
if (x == null) return false;
59+
if (typeof x !== "object" && typeof x !== "function") return false;
60+
if (Array.isArray(x)) return false;
61+
return true;
6262
}
6363

6464
type ObjectOf<T extends Record<PropertyKey, Predicate<unknown>>> = FlatType<

0 commit comments

Comments
 (0)