@@ -54,8 +54,10 @@ module Node.FS.Sync
54
54
, fdWriteString
55
55
, fdAppend
56
56
, fdClose
57
- , cp
58
- , cp'
57
+ , cpFile
58
+ , cpFile'
59
+ , cpDir
60
+ , cpDir'
59
61
, fchmod
60
62
, fchown
61
63
, fdatasync
@@ -96,7 +98,7 @@ import Node.FS.Constants (AccessMode, CopyMode, FileFlags, defaultAccessMode, de
96
98
import Node.FS.Dir (Dir )
97
99
import Node.FS.Dirent (Dirent , DirentNameTypeBuffer , DirentNameTypeString )
98
100
import Node.FS.Internal.Utils (datetimeToUnixEpochTimeInSeconds )
99
- import Node.FS.Options (AppendFileBufferOptions, AppendFileOptionsInternal, AppendFileStringOptions, CpOptions, CpOptionsInternal, FdReadOptions, FdReadOptionsInternal, FdWriteOptions, FdWriteOptionsInternal, GlobDirentOptions, GlobFilePathOptions, GlobOptionsInternal, MkdirOptions, MkdirOptionsInternal, OpendirOptions, OpendirOptionsInternal, ReadFileBufferOptions, ReadFileOptionsInternal, ReadFileStringOptions, ReaddirBufferOptions, ReaddirDirentBufferOptions, ReaddirDirentOptions, ReaddirFilePathOptions, ReaddirOptionsInternal, RealpathOptions, RealpathOptionsInternal, RmOptions, RmdirOptions, WriteFileBufferOptions, WriteFileOptionsInternal, WriteFileStringOptions, appendFileBufferOptionsDefault, appendFileBufferOptionsToInternal, appendFileStringOptionsDefault, appendFileStringOptionsToInternal, cpOptionsDefault, cpOptionsToCpOptionsInternal, fdReadOptionsToInternal, fdWriteOptionsToInternal, globDirentOptionsDefault, globDirentOptionsToInternal, globFilePathOptionsDefault, globFilePathOptionsToInternal, mkdirOptionsDefault, mkdirOptionsToInternal, opendirOptionsDefault, opendirOptionsToInternal, readFileBufferOptionsDefault, readFileBufferOptionsToInternal, readFileStringOptionsDefault, readFileStringOptionsToInternal, readdirBufferOptionsDefault, readdirBufferOptionsToInternal, readdirDirentBufferOptionsDefault, readdirDirentBufferOptionsToInternal, readdirDirentOptionsDefault, readdirDirentOptionsToInternal, readdirFilePathOptionsDefault, readdirFilePathOptionsToInternal, realpathOptionsDefault, realpathOptionsToInternal, rmOptionsDefault, rmdirOptionsDefault, writeFileBufferOptionsDefault, writeFileBufferOptionsToInternal, writeFileStringOptionsDefault, writeFileStringOptionsToInternal)
101
+ import Node.FS.Options (AppendFileBufferOptions, AppendFileOptionsInternal, AppendFileStringOptions, CpDirOptions, CpFileOptions, CpOptionsInternal, FdReadOptions, FdReadOptionsInternal, FdWriteOptions, FdWriteOptionsInternal, GlobDirentOptions, GlobFilePathOptions, GlobOptionsInternal, MkdirOptions, MkdirOptionsInternal, OpendirOptions, OpendirOptionsInternal, ReadFileBufferOptions, ReadFileOptionsInternal, ReadFileStringOptions, ReaddirBufferOptions, ReaddirDirentBufferOptions, ReaddirDirentOptions, ReaddirFilePathOptions, ReaddirOptionsInternal, RealpathOptions, RealpathOptionsInternal, RmOptions, RmdirOptions, WriteFileBufferOptions, WriteFileOptionsInternal, WriteFileStringOptions, appendFileBufferOptionsDefault, appendFileBufferOptionsToInternal, appendFileStringOptionsDefault, appendFileStringOptionsToInternal, cpDirOptionsDefault, cpDirOptionsToCpOptionsInternal, cpFileOptionsDefault, cpFileOptionsToCpOptionsInternal, fdReadOptionsToInternal, fdWriteOptionsToInternal, globDirentOptionsDefault, globDirentOptionsToInternal, globFilePathOptionsDefault, globFilePathOptionsToInternal, mkdirOptionsDefault, mkdirOptionsToInternal, opendirOptionsDefault, opendirOptionsToInternal, readFileBufferOptionsDefault, readFileBufferOptionsToInternal, readFileStringOptionsDefault, readFileStringOptionsToInternal, readdirBufferOptionsDefault, readdirBufferOptionsToInternal, readdirDirentBufferOptionsDefault, readdirDirentBufferOptionsToInternal, readdirDirentOptionsDefault, readdirDirentOptionsToInternal, readdirFilePathOptionsDefault, readdirFilePathOptionsToInternal, realpathOptionsDefault, realpathOptionsToInternal, rmOptionsDefault, rmdirOptionsDefault, writeFileBufferOptionsDefault, writeFileBufferOptionsToInternal, writeFileStringOptionsDefault, writeFileStringOptionsToInternal)
100
102
import Node.FS.Perms (Perms , permsToString )
101
103
import Node.FS.Stats (Stats )
102
104
import Node.FS.Types (BufferLength , BufferOffset , ByteCount , FileDescriptor , FileMode , FilePosition , SymlinkType , EncodingString , symlinkTypeToNode )
@@ -537,13 +539,23 @@ fdAppend fd buff = do
537
539
fdClose :: FileDescriptor -> Effect Unit
538
540
fdClose fd = runEffectFn1 closeSyncImpl fd
539
541
540
- -- | Copy a file synchronously. See the [Node Documentation](https://nodejs.org/api/fs.html#fs_fspromises_copyfile_src_dest_mode)
542
+ -- | Copy a file synchronously using a `cp` command.
543
+ -- | See the [Node Documentation](https://nodejs.org/api/fs.html#fscpsyncsrc-dest-options)
541
544
-- | for details.
542
- cp :: FilePath -> FilePath -> Effect Unit
543
- cp src dest = cp ' src dest cpOptionsDefault
545
+ cpFile :: FilePath -> FilePath -> Effect Unit
546
+ cpFile src dest = cpFile ' src dest cpFileOptionsDefault
544
547
545
- cp' :: FilePath -> FilePath -> CpOptions -> Effect Unit
546
- cp' src dest opts = runEffectFn3 cpSyncImpl src dest (cpOptionsToCpOptionsInternal opts)
548
+ cpFile' :: FilePath -> FilePath -> CpFileOptions -> Effect Unit
549
+ cpFile' src dest opts = runEffectFn3 cpSyncImpl src dest (cpFileOptionsToCpOptionsInternal opts)
550
+
551
+ -- | Copy a directory synchronously using a `cp` command with option `recursive = true`.
552
+ -- | See the [Node Documentation](https://nodejs.org/api/fs.html#fscpsyncsrc-dest-options)
553
+ -- | for details.
554
+ cpDir :: FilePath -> FilePath -> Effect Unit
555
+ cpDir src dest = cpDir' src dest cpDirOptionsDefault
556
+
557
+ cpDir' :: FilePath -> FilePath -> CpDirOptions -> Effect Unit
558
+ cpDir' src dest opts = runEffectFn3 cpSyncImpl src dest (cpDirOptionsToCpOptionsInternal opts)
547
559
548
560
-- | Change permissions on a file descriptor. See the [Node Documentation](https://nodejs.org/api/fs.html#fs_fs_fchmod_fd_mode_callback)
549
561
-- | for details.
0 commit comments