Не существует функции, специально предназначенной для проверки существования файла или каталога, но функция Deno.stat
, которая возвращает метаданные о пути, может использоваться для этой цели путем проверки потенциальных ошибок на соответствие Deno.ErrorKind.NotFound
.
const exists = async (filename: string): Promise<boolean> => {
try {
await Deno.stat(filename);
// successful, file or directory must exist
return true;
} catch (error) {
if (error && error.kind === Deno.ErrorKind.NotFound) {
// file or directory does not exist
return false;
} else {
// unexpected error, maybe permissions, pass it along
throw error;
}
}
};
exists("test.ts").then(result =>
console.log("does it exist?", result)); // true
exists("not-exist").then(result =>
console.log("does it exist?", result)); // false