13 lines
382 B
TypeScript
13 lines
382 B
TypeScript
import { readdir } from "fs/promises";
|
|
import { join } from "path";
|
|
|
|
export async function requireDirectory<T>(directory: string): Promise<T[]> {
|
|
const requireFiles = (await readdir(directory)).filter((file) =>
|
|
file.endsWith(".js"),
|
|
);
|
|
return await Promise.all(
|
|
requireFiles.map(
|
|
async (file) => (await import(join(directory, file))).default as T,
|
|
),
|
|
);
|
|
}
|