From 03b840cb5fb8ff5217fefc9e1240a3131db309fc Mon Sep 17 00:00:00 2001 From: eric thul Date: Tue, 11 Aug 2015 20:57:07 -0400 Subject: PureScript 0.7 updates and migration to pulp --- src/PursLoader/FS.purs | 59 +++++++++++++------------------------------------- 1 file changed, 15 insertions(+), 44 deletions(-) (limited to 'src/PursLoader/FS.purs') diff --git a/src/PursLoader/FS.purs b/src/PursLoader/FS.purs index 6955a63..969e3d0 100644 --- a/src/PursLoader/FS.purs +++ b/src/PursLoader/FS.purs @@ -4,6 +4,8 @@ module PursLoader.FS , findFileUtf8 ) where +import Prelude (Unit(), ($)) + import Control.Monad.Aff (Aff(), makeAff) import Control.Monad.Eff (Eff()) import Control.Monad.Eff.Exception (Error()) @@ -18,50 +20,19 @@ foreign import data FS :: ! writeFileUtf8 :: forall eff. String -> String -> Aff (fs :: FS | eff) Unit writeFileUtf8 filepath contents = makeAff $ runFn4 writeFileUtf8Fn filepath contents -foreign import writeFileUtf8Fn """ -function writeFileUtf8Fn(filepath, contents, errback, callback) { - return function(){ - var fs = require('fs'); - - fs.writeFile(filepath, contents, function(error){ - if (error) errback(error)(); - else callback()(); - }); - }; -} -""" :: forall eff. Fn4 String - String - (Error -> Eff (fs :: FS | eff) Unit) - (Unit -> Eff (fs :: FS | eff) Unit) - (Eff (fs :: FS | eff) Unit) +foreign import writeFileUtf8Fn :: forall eff. Fn4 String + String + (Error -> Eff (fs :: FS | eff) Unit) + (Unit -> Eff (fs :: FS | eff) Unit) + (Eff (fs :: FS | eff) Unit) -findFileUtf8 :: forall eff. Regex -> [String] -> Aff (fs :: FS | eff) (Maybe String) +findFileUtf8 :: forall eff. Regex -> Array String -> Aff (fs :: FS | eff) (Maybe String) findFileUtf8 regexp filepaths = makeAff $ runFn6 findFileUtf8Fn Nothing Just regexp filepaths -foreign import findFileUtf8Fn """ -function findFileUtf8Fn(nothing, just, regex, filepaths, errback, callback) { - return function(){ - var fs = require('fs'); - - var async = require('async'); - - function findFile(filepath, callback) { - fs.readFile(filepath, {encoding: 'utf-8'}, function(error, result){ - if (error) callback(false); - else callback(regex.test(result)); - }); - } - - async.detect(filepaths, findFile, function(result){ - if (!result) callback(nothing)(); - else callback(just(result))(); - }); - }; -} -""" :: forall eff. Fn6 (Maybe String) - (String -> Maybe String) - Regex - [String] - (Error -> Eff (fs :: FS | eff) Unit) - (Maybe String -> Eff (fs :: FS | eff) Unit) - (Eff (fs :: FS | eff) Unit) +foreign import findFileUtf8Fn :: forall eff. Fn6 (Maybe String) + (String -> Maybe String) + Regex + (Array String) + (Error -> Eff (fs :: FS | eff) Unit) + (Maybe String -> Eff (fs :: FS | eff) Unit) + (Eff (fs :: FS | eff) Unit) -- cgit v1.2.3