Skip to content

Commit 53dbd87

Browse files
committed
Update check.ts
1 parent 9321117 commit 53dbd87

File tree

1 file changed

+18
-14
lines changed

1 file changed

+18
-14
lines changed

check.ts

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ import { group } from "./deps.ts";
77
function searchFilesNames({
88
skip,
99
}: // limiter,
10-
{
11-
skip?: RegExp | RegExp[];
12-
// limiter: AsyncCurrentLimiter;
13-
}) {
10+
{
11+
skip?: RegExp | RegExp[];
12+
// limiter: AsyncCurrentLimiter;
13+
}) {
1414
console.log("type check start!");
1515

1616
const entry_iter = walk(".", {
@@ -28,32 +28,36 @@ if (import.meta.main) {
2828

2929
async function parallel_check(
3030
entry_iter: AsyncIterableIterator<WalkEntry>,
31-
limiter: AsyncCurrentLimiter,
31+
limiter: AsyncCurrentLimiter
3232
) {
3333
const files: string[] = [];
3434

3535
for await (const entry of entry_iter) {
3636
files.push(entry.path);
3737
}
3838

39-
const entries = Object.values(
40-
group(files, (_s: any, i: number) => i % 40),
41-
) as string[][];
39+
const entries = split_by_count(files, 30);
4240

4341
await Promise.all(
44-
entries.map((stack) => limiter.run(() => runDenoCheck(stack))),
42+
entries.map((stack) => limiter.run(() => runDenoCheck(stack)))
4543
);
4644
}
45+
export function split_by_count<T>(files: T[], limit: number) {
46+
return Object.values(
47+
group(files, (_s: any, i: number) => i % (files.length / limit))
48+
) as T[][];
49+
}
4750

4851
async function start() {
4952
const limiter = new AsyncLimiterClass(navigator.hardwareConcurrency);
5053
const args = parse(Deno.args);
5154
console.log(args);
52-
const skip = typeof args.skip === "string"
53-
? new RegExp(String(args.skip))
54-
: Array.isArray(args.skip)
55-
? args.skip.map((s) => new RegExp(s))
56-
: undefined;
55+
const skip =
56+
typeof args.skip === "string"
57+
? new RegExp(String(args.skip))
58+
: Array.isArray(args.skip)
59+
? args.skip.map((s) => new RegExp(s))
60+
: undefined;
5761
const entry_iter = searchFilesNames({ skip });
5862
await parallel_check(entry_iter, limiter);
5963
console.log("type check Done!");

0 commit comments

Comments
 (0)