@@ -72,7 +72,13 @@ foreign import fs "var fs = require('fs');" ::
7272 , readFile :: forall a opts . Fn3 FilePath { | opts } (JSCallback a ) Unit
7373 , writeFile :: forall a opts . Fn4 FilePath a { | opts } (JSCallback Unit ) Unit
7474 , appendFile :: forall a opts . Fn4 FilePath a { | opts } (JSCallback Unit ) Unit
75+ , exists :: forall a . Fn2 FilePath (Boolean -> a ) Unit
7576 }
77+
78+ foreign import mkEff
79+ " function mkEff(action) {\
80+ \ return action;\
81+ \}" :: forall eff a . (Unit -> a ) -> Eff eff a
7682
7783-- |
7884-- Type synonym for callback functions.
@@ -87,7 +93,7 @@ rename :: forall eff. FilePath
8793 -> Callback eff Unit
8894 -> Eff (fs :: FS | eff ) Unit
8995
90- rename oldFile newFile cb = return $ runFn3
96+ rename oldFile newFile cb = mkEff $ \_ -> runFn3
9197 fs.rename oldFile newFile (handleCallback cb)
9298
9399-- |
@@ -98,7 +104,7 @@ truncate :: forall eff. FilePath
98104 -> Callback eff Unit
99105 -> Eff (fs :: FS | eff ) Unit
100106
101- truncate file len cb = return $ runFn3
107+ truncate file len cb = mkEff $ \_ -> runFn3
102108 fs.truncate file len (handleCallback cb)
103109
104110-- |
@@ -110,7 +116,7 @@ chown :: forall eff. FilePath
110116 -> Callback eff Unit
111117 -> Eff (fs :: FS | eff ) Unit
112118
113- chown file uid gid cb = return $ runFn4
119+ chown file uid gid cb = mkEff $ \_ -> runFn4
114120 fs.chown file uid gid (handleCallback cb)
115121
116122-- |
@@ -121,7 +127,7 @@ chmod :: forall eff. FilePath
121127 -> Callback eff Unit
122128 -> Eff (fs :: FS | eff ) Unit
123129
124- chmod file mode cb = return $ runFn3
130+ chmod file mode cb = mkEff $ \_ -> runFn3
125131 fs.chmod file mode (handleCallback cb)
126132
127133-- |
@@ -131,7 +137,7 @@ stat :: forall eff. FilePath
131137 -> Callback eff Stats
132138 -> Eff (fs :: FS | eff ) Unit
133139
134- stat file cb = return $ runFn2
140+ stat file cb = mkEff $ \_ -> runFn2
135141 fs.stat file (handleCallback $ cb <<< (<$>) Stats )
136142
137143-- |
@@ -142,7 +148,7 @@ link :: forall eff. FilePath
142148 -> Callback eff Unit
143149 -> Eff (fs :: FS | eff ) Unit
144150
145- link src dst cb = return $ runFn3
151+ link src dst cb = mkEff $ \_ -> runFn3
146152 fs.link src dst (handleCallback cb)
147153
148154-- |
@@ -154,7 +160,7 @@ symlink :: forall eff. FilePath
154160 -> Callback eff Unit
155161 -> Eff (fs :: FS | eff ) Unit
156162
157- symlink src dest ty cb = return $ runFn4
163+ symlink src dest ty cb = mkEff $ \_ -> runFn4
158164 fs.symlink src dest (show ty) (handleCallback cb)
159165
160166-- |
@@ -164,7 +170,7 @@ readlink :: forall eff. FilePath
164170 -> Callback eff FilePath
165171 -> Eff (fs :: FS | eff ) Unit
166172
167- readlink path cb = return $ runFn2
173+ readlink path cb = mkEff $ \_ -> runFn2
168174 fs.readlink path (handleCallback cb)
169175
170176-- |
@@ -174,7 +180,7 @@ realpath :: forall eff. FilePath
174180 -> Callback eff FilePath
175181 -> Eff (fs :: FS | eff ) Unit
176182
177- realpath path cb = return $ runFn3
183+ realpath path cb = mkEff $ \_ -> runFn3
178184 fs.realpath path {} (handleCallback cb)
179185
180186-- |
@@ -186,7 +192,7 @@ realpath' :: forall eff cache. FilePath
186192 -> Callback eff FilePath
187193 -> Eff (fs :: FS | eff ) Unit
188194
189- realpath' path cache cb = return $ runFn3
195+ realpath' path cache cb = mkEff $ \_ -> runFn3
190196 fs.realpath path cache (handleCallback cb)
191197
192198-- |
@@ -196,7 +202,7 @@ unlink :: forall eff. FilePath
196202 -> Callback eff Unit
197203 -> Eff (fs :: FS | eff ) Unit
198204
199- unlink file cb = return $ runFn2
205+ unlink file cb = mkEff $ \_ -> runFn2
200206 fs.unlink file (handleCallback cb)
201207
202208-- |
@@ -206,7 +212,7 @@ rmdir :: forall eff. FilePath
206212 -> Callback eff Unit
207213 -> Eff (fs :: FS | eff ) Unit
208214
209- rmdir file cb = return $ runFn2
215+ rmdir file cb = mkEff $ \_ -> runFn2
210216 fs.rmdir file (handleCallback cb)
211217
212218-- |
@@ -226,7 +232,7 @@ mkdir' :: forall eff. FilePath
226232 -> Callback eff Unit
227233 -> Eff (fs :: FS | eff ) Unit
228234
229- mkdir' file mode cb = return $ runFn3
235+ mkdir' file mode cb = mkEff $ \_ -> runFn3
230236 fs.mkdir file mode (handleCallback cb)
231237
232238-- |
@@ -236,7 +242,7 @@ readdir :: forall eff. FilePath
236242 -> Callback eff [FilePath ]
237243 -> Eff (fs :: FS | eff ) Unit
238244
239- readdir file cb = return $ runFn2
245+ readdir file cb = mkEff $ \_ -> runFn2
240246 fs.readdir file (handleCallback cb)
241247
242248-- |
@@ -248,7 +254,7 @@ utimes :: forall eff. FilePath
248254 -> Callback eff Unit
249255 -> Eff (fs :: FS | eff ) Unit
250256
251- utimes file atime mtime cb = return $ runFn4
257+ utimes file atime mtime cb = mkEff $ \_ -> runFn4
252258 fs.utimes file
253259 ((toEpochMilliseconds atime) / 1000 )
254260 ((toEpochMilliseconds mtime) / 1000 )
@@ -261,7 +267,7 @@ readFile :: forall eff. FilePath
261267 -> Callback eff Buffer
262268 -> Eff (fs :: FS | eff ) Unit
263269
264- readFile file cb = return $ runFn3
270+ readFile file cb = mkEff $ \_ -> runFn3
265271 fs.readFile file {} (handleCallback cb)
266272
267273-- |
@@ -272,7 +278,7 @@ readTextFile :: forall eff. Encoding
272278 -> Callback eff String
273279 -> Eff (fs :: FS | eff ) Unit
274280
275- readTextFile encoding file cb = return $ runFn3
281+ readTextFile encoding file cb = mkEff $ \_ -> runFn3
276282 fs.readFile file { encoding: show encoding } (handleCallback cb)
277283
278284-- |
@@ -283,7 +289,7 @@ writeFile :: forall eff. FilePath
283289 -> Callback eff Unit
284290 -> Eff (fs :: FS | eff ) Unit
285291
286- writeFile file buff cb = return $ runFn4
292+ writeFile file buff cb = mkEff $ \_ -> runFn4
287293 fs.writeFile file buff {} (handleCallback cb)
288294
289295-- |
@@ -295,7 +301,7 @@ writeTextFile :: forall eff. Encoding
295301 -> Callback eff Unit
296302 -> Eff (fs :: FS | eff ) Unit
297303
298- writeTextFile encoding file buff cb = return $ runFn4
304+ writeTextFile encoding file buff cb = mkEff $ \_ -> runFn4
299305 fs.writeFile file buff { encoding: show encoding } (handleCallback cb)
300306
301307-- |
@@ -306,7 +312,7 @@ appendFile :: forall eff. FilePath
306312 -> Callback eff Unit
307313 -> Eff (fs :: FS | eff ) Unit
308314
309- appendFile file buff cb = return $ runFn4
315+ appendFile file buff cb = mkEff $ \_ -> runFn4
310316 fs.appendFile file buff {} (handleCallback cb)
311317
312318-- |
@@ -318,5 +324,5 @@ appendTextFile :: forall eff. Encoding
318324 -> Callback eff Unit
319325 -> Eff (fs :: FS | eff ) Unit
320326
321- appendTextFile encoding file buff cb = return $ runFn4
327+ appendTextFile encoding file buff cb = mkEff $ \_ -> runFn4
322328 fs.appendFile file buff { encoding: show encoding } (handleCallback cb)
0 commit comments