diff --git a/CHANGELOG.md b/CHANGELOG.md index 1699208..b0fb986 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,9 +5,9 @@ Notable changes to this project are documented in this file. The format is based ## [Unreleased] Breaking changes: +- Update `mkdir` to take `Boolean` arg for `recursive` option (#53, #55, #58 by @JordanMartinez) New features: -- Add bindings to `mkdir(path, { recursive: true })` via `mkdirRecursive` (#53, #55 by @JordanMartinez) - Update project and deps to PureScript v0.15.0 (#59 by @JordanMartinez, @thomashoneyman, @sigma-andex) Bugfixes: diff --git a/src/Node/FS/Async.purs b/src/Node/FS/Async.purs index d4ff0ff..025ec3f 100644 --- a/src/Node/FS/Async.purs +++ b/src/Node/FS/Async.purs @@ -13,7 +13,6 @@ module Node.FS.Async , unlink , rmdir , mkdir - , mkdirRecursive , mkdir' , readdir , utimes @@ -201,34 +200,16 @@ rmdir file cb = mkEffect $ \_ -> runFn2 mkdir :: FilePath -> Callback Unit -> Effect Unit +mkdir path = mkdir' path { recursive: false, mode: mkPerms all all all } -mkdir path = mkdir' path (mkPerms all all all) - --- | Makes a new directory and any directories that don't exist --- | in the path. Similar to `mkdir -p`. -mkdirRecursive :: FilePath - -> Callback Unit - -> Effect Unit - -mkdirRecursive path = mkdirRecursive' path (mkPerms all all all) - --- | Makes a new directory (and any directories that don't exist --- | in the path) with the specified permissions. -mkdirRecursive' +-- | Makes a new directory with the specified permissions. +mkdir' :: FilePath - -> Perms + -> { recursive :: Boolean, mode :: Perms } -> Callback Unit -> Effect Unit -mkdirRecursive' file perms cb = mkEffect $ \_ -> runFn3 - mkdirImpl file { recursive: true, mode: permsToString perms } (handleCallback cb) - --- | Makes a new directory with the specified permissions. -mkdir' :: FilePath - -> Perms - -> Callback Unit - -> Effect Unit -mkdir' file perms cb = mkEffect $ \_ -> runFn3 - mkdirImpl file { recursive: false, mode: permsToString perms } (handleCallback cb) +mkdir' file { recursive, mode: perms } cb = mkEffect $ \_ -> runFn3 + mkdirImpl file { recursive, mode: permsToString perms } (handleCallback cb) -- | Reads the contents of a directory. readdir :: FilePath diff --git a/src/Node/FS/Sync.purs b/src/Node/FS/Sync.purs index 9c9e40a..66f186a 100644 --- a/src/Node/FS/Sync.purs +++ b/src/Node/FS/Sync.purs @@ -13,8 +13,6 @@ module Node.FS.Sync , rmdir , mkdir , mkdir' - , mkdirRecursive - , mkdirRecursive' , readdir , utimes , readFile @@ -172,33 +170,18 @@ rmdir :: FilePath rmdir file = mkEffect $ \_ -> runFn1 rmdirSyncImpl file --- | Makes a new directory. -mkdirRecursive - :: FilePath - -> Effect Unit -mkdirRecursive = flip mkdirRecursive' $ mkPerms all all all - --- | Makes a new directory with the specified permissions. -mkdirRecursive' - :: FilePath - -> Perms - -> Effect Unit -mkdirRecursive' file perms = mkEffect $ \_ -> runFn2 - mkdirSyncImpl file { recursive: true, mode: permsToString perms } - -- | Makes a new directory. mkdir :: FilePath -> Effect Unit - -mkdir = flip mkdir' $ mkPerms all all all +mkdir path = mkdir' path { recursive: false, mode: mkPerms all all all } -- | Makes a new directory with the specified permissions. -mkdir' :: FilePath - -> Perms - -> Effect Unit - -mkdir' file perms = mkEffect $ \_ -> runFn2 - mkdirSyncImpl file { recursive: false, mode: permsToString perms } +mkdir' + :: FilePath + -> { recursive :: Boolean, mode :: Perms } + -> Effect Unit +mkdir' file { recursive, mode: perms } = mkEffect $ \_ -> runFn2 + mkdirSyncImpl file { recursive, mode: permsToString perms } -- | Reads the contents of a directory. readdir :: FilePath