@@ -38,6 +38,7 @@ import Data.Date
3838import Data.Time
3939import Data.Either
4040import Data.Function
41+ import Data.Nullable (Nullable (), toNullable )
4142import Data.Int (round )
4243import Data.Maybe (Maybe (..))
4344import Node.Buffer (Buffer (), BUFFER (), size )
@@ -67,19 +68,13 @@ foreign import fs ::
6768 , writeFileSync :: forall a opts . Fn3 FilePath a { | opts } Unit
6869 , appendFileSync :: forall a opts . Fn3 FilePath a { | opts } Unit
6970 , 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
7374 , fsyncSync :: Fn1 FileDescriptor Unit
7475 , closeSync :: Fn1 FileDescriptor Unit
7576 }
7677
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-
8378-- |
8479-- Renames a file.
8580--
@@ -321,10 +316,8 @@ fdOpen :: forall eff.
321316 -> FileFlags
322317 -> Maybe FileMode
323318 -> 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)
328321
329322-- |
330323-- Read to a file synchronously. See <a
@@ -338,10 +331,8 @@ fdRead :: forall eff.
338331 -> BufferLength
339332 -> Maybe FilePosition
340333 -> 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)
345336
346337-- |
347338-- Convienence function to fill the whole buffer from the current
@@ -367,10 +358,8 @@ fdWrite :: forall eff.
367358 -> BufferLength
368359 -> Maybe FilePosition
369360 -> 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)
374363
375364-- |
376365-- Convienence function to append the whole buffer to the current
0 commit comments