Skip to content

Commit 9076213

Browse files
committed
New functions for completeness:
* writeByteStringFileWithOwnerPermissions * writeTextFileWithOwnerPermissions
1 parent 971156d commit 9076213

File tree

2 files changed

+30
-9
lines changed

2 files changed

+30
-9
lines changed

cardano-api/src/Cardano/Api.hs

+3
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,15 @@ module Cardano.Api (
3636
-- ** IO
3737
OutputFile(..),
3838

39+
writeByteStringFileWithOwnerPermissions,
3940
writeByteStringFile,
4041
writeByteStringOutput,
4142

43+
writeLazyByteStringFileWithOwnerPermissions,
4244
writeLazyByteStringFile,
4345
writeLazyByteStringOutput,
4446

47+
writeTextFileWithOwnerPermissions,
4548
writeTextFile,
4649
writeTextOutput,
4750

cardano-api/src/Cardano/Api/IO.hs

+27-9
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,18 @@
77
module Cardano.Api.IO
88
( OutputFile(..)
99

10+
, writeByteStringFileWithOwnerPermissions
1011
, writeByteStringFile
1112
, writeByteStringOutput
1213

14+
, writeLazyByteStringFileWithOwnerPermissions
1315
, writeLazyByteStringFile
1416
, writeLazyByteStringOutput
1517

18+
, writeTextFileWithOwnerPermissions
1619
, writeTextFile
1720
, writeTextOutput
1821

19-
, writeLazyByteStringFileWithOwnerPermissions
2022
) where
2123

2224
#if !defined(mingw32_HOST_OS)
@@ -108,6 +110,14 @@ writeByteStringFile :: MonadIO m => FilePath -> ByteString -> m (Either (FileErr
108110
writeByteStringFile fp bs = runExceptT $
109111
handleIOExceptT (FileIOError fp) $ BS.writeFile fp bs
110112

113+
writeByteStringFileWithOwnerPermissions
114+
:: FilePath
115+
-> BS.ByteString
116+
-> IO (Either (FileError ()) ())
117+
writeByteStringFileWithOwnerPermissions fp bs =
118+
handleFileForWritingWithOwnerPermission fp $ \h ->
119+
BS.hPut h bs
120+
111121
writeByteStringOutput :: MonadIO m => Maybe FilePath -> ByteString -> m (Either (FileError ()) ())
112122
writeByteStringOutput mOutput bs = runExceptT $
113123
case mOutput of
@@ -118,6 +128,14 @@ writeLazyByteStringFile :: MonadIO m => FilePath -> LBS.ByteString -> m (Either
118128
writeLazyByteStringFile fp bs = runExceptT $
119129
handleIOExceptT (FileIOError fp) $ LBS.writeFile fp bs
120130

131+
writeLazyByteStringFileWithOwnerPermissions
132+
:: FilePath
133+
-> LBS.ByteString
134+
-> IO (Either (FileError ()) ())
135+
writeLazyByteStringFileWithOwnerPermissions fp lbs =
136+
handleFileForWritingWithOwnerPermission fp $ \h ->
137+
LBS.hPut h lbs
138+
121139
writeLazyByteStringOutput :: MonadIO m => Maybe FilePath -> LBS.ByteString -> m (Either (FileError ()) ())
122140
writeLazyByteStringOutput mOutput bs = runExceptT $
123141
case mOutput of
@@ -128,16 +146,16 @@ writeTextFile :: MonadIO m => FilePath -> Text -> m (Either (FileError ()) ())
128146
writeTextFile fp t = runExceptT $
129147
handleIOExceptT (FileIOError fp) $ Text.writeFile fp t
130148

149+
writeTextFileWithOwnerPermissions
150+
:: FilePath
151+
-> Text
152+
-> IO (Either (FileError ()) ())
153+
writeTextFileWithOwnerPermissions fp t =
154+
handleFileForWritingWithOwnerPermission fp $ \h ->
155+
Text.hPutStr h t
156+
131157
writeTextOutput :: MonadIO m => Maybe FilePath -> Text -> m (Either (FileError ()) ())
132158
writeTextOutput mOutput t = runExceptT $
133159
case mOutput of
134160
Just fp -> handleIOExceptT (FileIOError fp) $ Text.writeFile fp t
135161
Nothing -> liftIO $ Text.putStr t
136-
137-
writeLazyByteStringFileWithOwnerPermissions
138-
:: FilePath
139-
-> LBS.ByteString
140-
-> IO (Either (FileError ()) ())
141-
writeLazyByteStringFileWithOwnerPermissions fp lbs =
142-
handleFileForWritingWithOwnerPermission fp $ \h ->
143-
LBS.hPut h lbs

0 commit comments

Comments
 (0)