2019-12-03 18:28:59 +03:00
import * as fs from 'fs'
export function directoryExistsSync ( path : string , required? : boolean ) : boolean {
if ( ! path ) {
throw new Error ( "Arg 'path' must not be empty" )
}
let stats : fs.Stats
try {
stats = fs . statSync ( path )
} catch ( error ) {
2021-10-19 17:52:57 +03:00
if ( ( error as any ) ? . code === 'ENOENT' ) {
2019-12-03 18:28:59 +03:00
if ( ! required ) {
return false
}
throw new Error ( ` Directory ' ${ path } ' does not exist ` )
}
throw new Error (
2024-04-24 19:04:10 +03:00
` Encountered an error when checking whether path ' ${ path } ' exists: ${
( error as any ) ? . message ? ? error
} `
2019-12-03 18:28:59 +03:00
)
}
if ( stats . isDirectory ( ) ) {
return true
} else if ( ! required ) {
return false
}
throw new Error ( ` Directory ' ${ path } ' does not exist ` )
}
export function existsSync ( path : string ) : boolean {
if ( ! path ) {
throw new Error ( "Arg 'path' must not be empty" )
}
try {
fs . statSync ( path )
} catch ( error ) {
2021-10-19 17:52:57 +03:00
if ( ( error as any ) ? . code === 'ENOENT' ) {
2019-12-03 18:28:59 +03:00
return false
}
throw new Error (
2024-04-24 19:04:10 +03:00
` Encountered an error when checking whether path ' ${ path } ' exists: ${
( error as any ) ? . message ? ? error
} `
2019-12-03 18:28:59 +03:00
)
}
return true
}
export function fileExistsSync ( path : string ) : boolean {
if ( ! path ) {
throw new Error ( "Arg 'path' must not be empty" )
}
let stats : fs.Stats
try {
stats = fs . statSync ( path )
} catch ( error ) {
2021-10-19 17:52:57 +03:00
if ( ( error as any ) ? . code === 'ENOENT' ) {
2019-12-03 18:28:59 +03:00
return false
}
throw new Error (
2024-04-24 19:04:10 +03:00
` Encountered an error when checking whether path ' ${ path } ' exists: ${
( error as any ) ? . message ? ? error
} `
2019-12-03 18:28:59 +03:00
)
}
if ( ! stats . isDirectory ( ) ) {
return true
}
return false
}