@@ -38,6 +38,7 @@ import Data.Date
38
38
import Data.Time
39
39
import Data.Either
40
40
import Data.Function
41
+ import Data.Nullable (Nullable (), toNullable )
41
42
import Data.Int (round )
42
43
import Data.Maybe (Maybe (..))
43
44
import Node.Buffer (Buffer (), BUFFER (), size )
@@ -67,19 +68,13 @@ foreign import fs ::
67
68
, writeFileSync :: forall a opts . Fn3 FilePath a { | opts } Unit
68
69
, appendFileSync :: forall a opts . Fn3 FilePath a { | opts } Unit
69
70
, existsSync :: FilePath -> Boolean
70
- , openSync :: Fn2 FilePath String FileDescriptor
71
- , readSync :: Fn5 FileDescriptor Buffer BufferOffset BufferLength FilePosition ByteCount
72
- , writeSync :: Fn5 FileDescriptor Buffer BufferOffset BufferLength FilePosition ByteCount
71
+ , openSync :: Fn3 FilePath String ( Nullable FileMode ) FileDescriptor
72
+ , readSync :: Fn5 FileDescriptor Buffer BufferOffset BufferLength ( Nullable FilePosition ) ByteCount
73
+ , writeSync :: Fn5 FileDescriptor Buffer BufferOffset BufferLength ( Nullable FilePosition ) ByteCount
73
74
, fsyncSync :: Fn1 FileDescriptor Unit
74
75
, closeSync :: Fn1 FileDescriptor Unit
75
76
}
76
77
77
- foreign import createSync :: Fn3 FilePath String FileMode FileDescriptor
78
-
79
- foreign import writeSeqSync :: Fn4 FileDescriptor Buffer BufferOffset BufferLength ByteCount
80
-
81
- foreign import readSeqSync :: Fn4 FileDescriptor Buffer BufferOffset BufferLength ByteCount
82
-
83
78
-- |
84
79
-- Renames a file.
85
80
--
@@ -321,10 +316,8 @@ fdOpen :: forall eff.
321
316
-> FileFlags
322
317
-> Maybe FileMode
323
318
-> Eff (err :: EXCEPTION , fs :: FS | eff ) FileDescriptor
324
- fdOpen file flags mode =
325
- case mode of
326
- Nothing -> mkEff $ \_ -> runFn2 fs.openSync file (fileFlagsToNode flags)
327
- (Just m) -> mkEff $ \_ -> runFn3 createSync file (fileFlagsToNode flags) m
319
+ fdOpen file flags mode = mkEff $ \_ ->
320
+ runFn3 fs.openSync file (fileFlagsToNode flags) (toNullable mode)
328
321
329
322
-- |
330
323
-- Read to a file synchronously. See <a
@@ -338,10 +331,8 @@ fdRead :: forall eff.
338
331
-> BufferLength
339
332
-> Maybe FilePosition
340
333
-> Eff (buffer :: BUFFER , err :: EXCEPTION , fs :: FS | eff ) ByteCount
341
- fdRead fd buff off len Nothing =
342
- mkEff $ \_ -> runFn4 readSeqSync fd buff off len
343
- fdRead fd buff off len (Just pos) =
344
- mkEff $ \_ -> runFn5 fs.readSync fd buff off len pos
334
+ fdRead fd buff off len pos =
335
+ mkEff $ \_ -> runFn5 fs.readSync fd buff off len (toNullable pos)
345
336
346
337
-- |
347
338
-- Convienence function to fill the whole buffer from the current
@@ -367,10 +358,8 @@ fdWrite :: forall eff.
367
358
-> BufferLength
368
359
-> Maybe FilePosition
369
360
-> Eff (buffer :: BUFFER , err :: EXCEPTION , fs :: FS | eff ) ByteCount
370
- fdWrite fd buff off len Nothing =
371
- mkEff $ \_ -> runFn4 writeSeqSync fd buff off len
372
- fdWrite fd buff off len (Just pos) =
373
- mkEff $ \_ -> runFn5 fs.writeSync fd buff off len pos
361
+ fdWrite fd buff off len pos =
362
+ mkEff $ \_ -> runFn5 fs.writeSync fd buff off len (toNullable pos)
374
363
375
364
-- |
376
365
-- Convienence function to append the whole buffer to the current
0 commit comments