Chore: async write stream & mkdirp

This commit is contained in:
SukkaW
2024-09-15 14:06:22 +08:00
parent 49787fc664
commit e7cc9e2924
7 changed files with 60 additions and 23 deletions

View File

@@ -23,9 +23,17 @@ interface Write {
): Promise<unknown>
}
export const mkdirp = (dir: string) => {
if (fs.existsSync(dir)) {
return;
}
return fsp.mkdir(dir, { recursive: true });
};
export const writeFile: Write = async (destination: string, input, dir = dirname(destination)) => {
if (!fs.existsSync(dir)) {
await fsp.mkdir(dir, { recursive: true });
const p = mkdirp(dir);
if (p) {
await p;
}
return fsp.writeFile(destination, input, { encoding: 'utf-8' });
};