@@ -72,7 +72,13 @@ foreign import fs "var fs = require('fs');" ::
72
72
, readFile :: forall a opts . Fn3 FilePath { | opts } (JSCallback a ) Unit
73
73
, writeFile :: forall a opts . Fn4 FilePath a { | opts } (JSCallback Unit ) Unit
74
74
, appendFile :: forall a opts . Fn4 FilePath a { | opts } (JSCallback Unit ) Unit
75
+ , exists :: forall a . Fn2 FilePath (Boolean -> a ) Unit
75
76
}
77
+
78
+ foreign import mkEff
79
+ " function mkEff(action) {\
80
+ \ return action;\
81
+ \}" :: forall eff a . (Unit -> a ) -> Eff eff a
76
82
77
83
-- |
78
84
-- Type synonym for callback functions.
@@ -87,7 +93,7 @@ rename :: forall eff. FilePath
87
93
-> Callback eff Unit
88
94
-> Eff (fs :: FS | eff ) Unit
89
95
90
- rename oldFile newFile cb = return $ runFn3
96
+ rename oldFile newFile cb = mkEff $ \_ -> runFn3
91
97
fs.rename oldFile newFile (handleCallback cb)
92
98
93
99
-- |
@@ -98,7 +104,7 @@ truncate :: forall eff. FilePath
98
104
-> Callback eff Unit
99
105
-> Eff (fs :: FS | eff ) Unit
100
106
101
- truncate file len cb = return $ runFn3
107
+ truncate file len cb = mkEff $ \_ -> runFn3
102
108
fs.truncate file len (handleCallback cb)
103
109
104
110
-- |
@@ -110,7 +116,7 @@ chown :: forall eff. FilePath
110
116
-> Callback eff Unit
111
117
-> Eff (fs :: FS | eff ) Unit
112
118
113
- chown file uid gid cb = return $ runFn4
119
+ chown file uid gid cb = mkEff $ \_ -> runFn4
114
120
fs.chown file uid gid (handleCallback cb)
115
121
116
122
-- |
@@ -121,7 +127,7 @@ chmod :: forall eff. FilePath
121
127
-> Callback eff Unit
122
128
-> Eff (fs :: FS | eff ) Unit
123
129
124
- chmod file mode cb = return $ runFn3
130
+ chmod file mode cb = mkEff $ \_ -> runFn3
125
131
fs.chmod file mode (handleCallback cb)
126
132
127
133
-- |
@@ -131,7 +137,7 @@ stat :: forall eff. FilePath
131
137
-> Callback eff Stats
132
138
-> Eff (fs :: FS | eff ) Unit
133
139
134
- stat file cb = return $ runFn2
140
+ stat file cb = mkEff $ \_ -> runFn2
135
141
fs.stat file (handleCallback $ cb <<< (<$>) Stats )
136
142
137
143
-- |
@@ -142,7 +148,7 @@ link :: forall eff. FilePath
142
148
-> Callback eff Unit
143
149
-> Eff (fs :: FS | eff ) Unit
144
150
145
- link src dst cb = return $ runFn3
151
+ link src dst cb = mkEff $ \_ -> runFn3
146
152
fs.link src dst (handleCallback cb)
147
153
148
154
-- |
@@ -154,7 +160,7 @@ symlink :: forall eff. FilePath
154
160
-> Callback eff Unit
155
161
-> Eff (fs :: FS | eff ) Unit
156
162
157
- symlink src dest ty cb = return $ runFn4
163
+ symlink src dest ty cb = mkEff $ \_ -> runFn4
158
164
fs.symlink src dest (show ty) (handleCallback cb)
159
165
160
166
-- |
@@ -164,7 +170,7 @@ readlink :: forall eff. FilePath
164
170
-> Callback eff FilePath
165
171
-> Eff (fs :: FS | eff ) Unit
166
172
167
- readlink path cb = return $ runFn2
173
+ readlink path cb = mkEff $ \_ -> runFn2
168
174
fs.readlink path (handleCallback cb)
169
175
170
176
-- |
@@ -174,7 +180,7 @@ realpath :: forall eff. FilePath
174
180
-> Callback eff FilePath
175
181
-> Eff (fs :: FS | eff ) Unit
176
182
177
- realpath path cb = return $ runFn3
183
+ realpath path cb = mkEff $ \_ -> runFn3
178
184
fs.realpath path {} (handleCallback cb)
179
185
180
186
-- |
@@ -186,7 +192,7 @@ realpath' :: forall eff cache. FilePath
186
192
-> Callback eff FilePath
187
193
-> Eff (fs :: FS | eff ) Unit
188
194
189
- realpath' path cache cb = return $ runFn3
195
+ realpath' path cache cb = mkEff $ \_ -> runFn3
190
196
fs.realpath path cache (handleCallback cb)
191
197
192
198
-- |
@@ -196,7 +202,7 @@ unlink :: forall eff. FilePath
196
202
-> Callback eff Unit
197
203
-> Eff (fs :: FS | eff ) Unit
198
204
199
- unlink file cb = return $ runFn2
205
+ unlink file cb = mkEff $ \_ -> runFn2
200
206
fs.unlink file (handleCallback cb)
201
207
202
208
-- |
@@ -206,7 +212,7 @@ rmdir :: forall eff. FilePath
206
212
-> Callback eff Unit
207
213
-> Eff (fs :: FS | eff ) Unit
208
214
209
- rmdir file cb = return $ runFn2
215
+ rmdir file cb = mkEff $ \_ -> runFn2
210
216
fs.rmdir file (handleCallback cb)
211
217
212
218
-- |
@@ -226,7 +232,7 @@ mkdir' :: forall eff. FilePath
226
232
-> Callback eff Unit
227
233
-> Eff (fs :: FS | eff ) Unit
228
234
229
- mkdir' file mode cb = return $ runFn3
235
+ mkdir' file mode cb = mkEff $ \_ -> runFn3
230
236
fs.mkdir file mode (handleCallback cb)
231
237
232
238
-- |
@@ -236,7 +242,7 @@ readdir :: forall eff. FilePath
236
242
-> Callback eff [FilePath ]
237
243
-> Eff (fs :: FS | eff ) Unit
238
244
239
- readdir file cb = return $ runFn2
245
+ readdir file cb = mkEff $ \_ -> runFn2
240
246
fs.readdir file (handleCallback cb)
241
247
242
248
-- |
@@ -248,7 +254,7 @@ utimes :: forall eff. FilePath
248
254
-> Callback eff Unit
249
255
-> Eff (fs :: FS | eff ) Unit
250
256
251
- utimes file atime mtime cb = return $ runFn4
257
+ utimes file atime mtime cb = mkEff $ \_ -> runFn4
252
258
fs.utimes file
253
259
((toEpochMilliseconds atime) / 1000 )
254
260
((toEpochMilliseconds mtime) / 1000 )
@@ -261,7 +267,7 @@ readFile :: forall eff. FilePath
261
267
-> Callback eff Buffer
262
268
-> Eff (fs :: FS | eff ) Unit
263
269
264
- readFile file cb = return $ runFn3
270
+ readFile file cb = mkEff $ \_ -> runFn3
265
271
fs.readFile file {} (handleCallback cb)
266
272
267
273
-- |
@@ -272,7 +278,7 @@ readTextFile :: forall eff. Encoding
272
278
-> Callback eff String
273
279
-> Eff (fs :: FS | eff ) Unit
274
280
275
- readTextFile encoding file cb = return $ runFn3
281
+ readTextFile encoding file cb = mkEff $ \_ -> runFn3
276
282
fs.readFile file { encoding: show encoding } (handleCallback cb)
277
283
278
284
-- |
@@ -283,7 +289,7 @@ writeFile :: forall eff. FilePath
283
289
-> Callback eff Unit
284
290
-> Eff (fs :: FS | eff ) Unit
285
291
286
- writeFile file buff cb = return $ runFn4
292
+ writeFile file buff cb = mkEff $ \_ -> runFn4
287
293
fs.writeFile file buff {} (handleCallback cb)
288
294
289
295
-- |
@@ -295,7 +301,7 @@ writeTextFile :: forall eff. Encoding
295
301
-> Callback eff Unit
296
302
-> Eff (fs :: FS | eff ) Unit
297
303
298
- writeTextFile encoding file buff cb = return $ runFn4
304
+ writeTextFile encoding file buff cb = mkEff $ \_ -> runFn4
299
305
fs.writeFile file buff { encoding: show encoding } (handleCallback cb)
300
306
301
307
-- |
@@ -306,7 +312,7 @@ appendFile :: forall eff. FilePath
306
312
-> Callback eff Unit
307
313
-> Eff (fs :: FS | eff ) Unit
308
314
309
- appendFile file buff cb = return $ runFn4
315
+ appendFile file buff cb = mkEff $ \_ -> runFn4
310
316
fs.appendFile file buff {} (handleCallback cb)
311
317
312
318
-- |
@@ -318,5 +324,5 @@ appendTextFile :: forall eff. Encoding
318
324
-> Callback eff Unit
319
325
-> Eff (fs :: FS | eff ) Unit
320
326
321
- appendTextFile encoding file buff cb = return $ runFn4
327
+ appendTextFile encoding file buff cb = mkEff $ \_ -> runFn4
322
328
fs.appendFile file buff { encoding: show encoding } (handleCallback cb)
0 commit comments