2022-07-06 10:17:42 +00:00
|
|
|
import { syscall } from "./syscall";
|
|
|
|
|
|
|
|
export type FileMeta = {
|
|
|
|
name: string;
|
|
|
|
lastModified: number;
|
|
|
|
};
|
|
|
|
|
|
|
|
export async function readFile(
|
2022-09-05 14:15:01 +00:00
|
|
|
path: string,
|
|
|
|
encoding: "utf8" | "dataurl" = "utf8"
|
2022-07-06 10:17:42 +00:00
|
|
|
): Promise<{ text: string; meta: FileMeta }> {
|
2022-09-05 14:15:01 +00:00
|
|
|
return syscall("fs.readFile", path, encoding);
|
2022-07-06 10:17:42 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
export async function getFileMeta(path: string): Promise<FileMeta> {
|
|
|
|
return syscall("fs.getFileMeta", path);
|
|
|
|
}
|
|
|
|
|
2022-09-05 14:15:01 +00:00
|
|
|
export async function writeFile(
|
|
|
|
path: string,
|
|
|
|
text: string,
|
|
|
|
encoding: "utf8" | "dataurl" = "utf8"
|
|
|
|
): Promise<FileMeta> {
|
|
|
|
return syscall("fs.writeFile", path, text, encoding);
|
2022-07-06 10:17:42 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
export async function deleteFile(path: string): Promise<void> {
|
|
|
|
return syscall("fs.deleteFile", path);
|
|
|
|
}
|
|
|
|
|
|
|
|
export async function listFiles(
|
|
|
|
dirName: string,
|
|
|
|
recursive = false
|
|
|
|
): Promise<FileMeta[]> {
|
|
|
|
return syscall("fs.listFiles", dirName, recursive);
|
|
|
|
}
|