js-waku/src/test_utils/async_fs.ts
2022-02-11 17:27:15 +11:00

31 lines
611 B
TypeScript

/**
* Various promisify of fs utilities.
*
* @hidden
* @module
*/
import fs, { promises as asyncFs } from "fs";
import { promisify } from "util";
import { delay } from "./delay";
export const existsAsync = (filepath: string): Promise<void> =>
asyncFs.access(filepath, fs.constants.F_OK);
export const openAsync = promisify(fs.open);
export const mkdirAsync = asyncFs.mkdir;
export async function waitForFile(path: string): Promise<void> {
let found = false;
do {
try {
await existsAsync(path);
found = true;
} catch (e) {
await delay(500);
}
} while (!found);
}