summaryrefslogtreecommitdiff
path: root/std/fs/exists.ts
blob: aa6334b43187c295e292d207d00d2c035351b97b (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
32
33
34
35
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
const { lstat, lstatSync, DenoError, ErrorKind } = 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 DenoError) {
        if (err.kind === ErrorKind.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 DenoError) {
      if (err.kind === ErrorKind.NotFound) {
        return false;
      }
    }
    throw err;
  }
}