solidity-docgen
Version:
Documentation generator for Solidity smart contracts.
24 lines (20 loc) • 578 B
text/typescript
import { promises as fs, constants } from 'fs';
import path from 'path';
export async function exists(path: string, mode: number = constants.R_OK): Promise<boolean> {
try {
await fs.access(path, mode);
return true;
} catch {
return false;
}
}
export async function findExists(...paths: string[]): Promise<string | undefined> {
for (const p of paths) {
if (await exists(p)) {
return p;
}
}
}
export async function findIn(f: string, dirs: string[]): Promise<string | undefined> {
return findExists(...dirs.map(d => path.resolve(d, f)));
}