13 lines
604 B
TypeScript
13 lines
604 B
TypeScript
import { readdirSync } from "fs";
|
|
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 requireFiles.map(file => require(join(directory, file)).default as T);
|
|
}
|
|
|
|
export function requireDirectorySync<T>(directory: string): T[] {
|
|
const requireFiles = readdirSync(directory).filter(file => file.endsWith(".js"));
|
|
return requireFiles.map(file => require(join(directory, file)).default as T).filter(x=>x);
|
|
}
|