summaryrefslogtreecommitdiff
path: root/std/fs/exists.ts
blob: 2cd4151739d5bea3c6594d37c7a186fdb68a7c0c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
const { lstat, lstatSync } = Deno;
/**
 * Test whether or not the given path exists by checking with the file system
 */
export async function exists(filePath: string): Promise<boolean> {
  return lstat(filePath)
    .then((): boolean => true)
    .catch((err: Error): boolean => {
      if (err instanceof Deno.Err.NotFound) {
        return false;
      }

      throw err;
    });
}

/**
 * Test whether or not the given path exists by checking with the file system
 */
export function existsSync(filePath: string): boolean {
  try {
    lstatSync(filePath);
    return true;
  } catch (err) {
    if (err instanceof Deno.Err.NotFound) {
      return false;
    }
    throw err;
  }
}