UNPKG

406 BPlain TextView Raw
1import fs from 'node:fs/promises'
2import { errorFromMaybeError } from '../../lib/prelude.js'
3
4export const fileExists = async (path: string) => {
5 return Boolean(
6 await fs.stat(path).catch((_: unknown) => {
7 const error = errorFromMaybeError(_)
8 return `code` in error && typeof error.code === `string` && error.code === `ENOENT`
9 ? null
10 : Promise.reject(error)
11 }),
12 )
13}