UNPKG

@oletizi/audio-tools

Version:

Monorepo for hardware sampler utilities and format parsers

40 lines (37 loc) 1.04 kB
import fs from "fs/promises"; /** * Ensures a directory exists, creating it if necessary. * * @param dir - Path to the directory * @returns Promise resolving to true if directory exists or was created, false on failure * * @example * ```typescript * const success = await mkdir('/path/to/dir'); * if (success) { * console.log('Directory ready'); * } else { * console.error('Failed to create directory'); * } * ``` * * @remarks * - Returns false for empty/null directory paths * - If directory exists, verifies it's actually a directory * - Attempts to create directory if it doesn't exist * - Does not create parent directories (use fs.mkdir with recursive option for that) * - Swallows errors and returns false on failure */ export async function mkdir(dir: string) { if (!dir) return false try { return (await fs.stat(dir)).isDirectory() } catch (e) { try { await fs.mkdir(dir) return true } catch (e) { return false } } }