Skip to content

Commit 1581cd4

Browse files
committed
Partially apply post processing function as early as possible
1 parent d6c6d95 commit 1581cd4

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

rest-gen/src/Rest/Gen.hs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -61,28 +61,28 @@ runGenerate config name api sources imports rewrites postProc =
6161
where
6262
m :: Version -> Some1 (Router m) -> IO Result
6363
m ver (Some1 r) = case get action config of
64-
Just (MakeDocs root) -> generateDocs config ver r postProc root
65-
Just MakeJS -> generateJavaScript config ver r postProc moduleName
66-
Just MakeRb -> generateRuby config ver r postProc moduleName
67-
Just MakeHS -> generateHaskell config ver r postProc moduleName packageName sources imports rewrites
64+
Just (MakeDocs root) -> generateDocs config ver r (postProc HtmlFile ) root
65+
Just MakeJS -> generateJavaScript config ver r (postProc JavaScriptFile) moduleName
66+
Just MakeRb -> generateRuby config ver r (postProc RubyFile ) moduleName
67+
Just MakeHS -> generateHaskell config ver r (postProc HaskellFile ) moduleName packageName sources imports rewrites
6868
Nothing -> return $ Error NoOp
6969
packageName = map toLower name
7070
moduleName = ModuleName $ upFirst packageName
7171

72-
generateJavaScript :: Config -> Version -> Router m s -> (FileType -> String -> IO String) -> ModuleName -> IO Result
72+
generateJavaScript :: Config -> Version -> Router m s -> (String -> IO String) -> ModuleName -> IO Result
7373
generateJavaScript config ver r postProc moduleName = do
74-
file <- postProc JavaScriptFile =<< mkJsApi (overModuleName (++ "Api") moduleName) (get apiPrivate config) ver r
74+
file <- postProc =<< mkJsApi (overModuleName (++ "Api") moduleName) (get apiPrivate config) ver r
7575
toTarget config file
7676

77-
generateRuby :: Config -> Version -> Router m s -> (FileType -> String -> IO String) -> ModuleName -> IO Result
77+
generateRuby :: Config -> Version -> Router m s -> (String -> IO String) -> ModuleName -> IO Result
7878
generateRuby config ver r postProc moduleName = do
79-
file <- postProc RubyFile =<< mkRbApi (overModuleName (++ "Api") moduleName) (get apiPrivate config) ver r
79+
file <- postProc =<< mkRbApi (overModuleName (++ "Api") moduleName) (get apiPrivate config) ver r
8080
toTarget config file
8181

82-
generateDocs :: Config -> Version -> Router m s -> (FileType -> String -> IO String) -> String -> IO Result
82+
generateDocs :: Config -> Version -> Router m s -> (String -> IO String) -> String -> IO Result
8383
generateDocs config ver r postProc rootUrl = do
8484
targetDir <- getTargetDir config "./docs"
85-
writeDocs (context targetDir) (postProc HtmlFile) r
85+
writeDocs (context targetDir) postProc r
8686
return $ FileOut targetDir
8787
where
8888
context targetDir = DocsContext
@@ -93,10 +93,10 @@ generateDocs config ver r postProc rootUrl = do
9393
, DCtx.sourceDir = getSourceLocation config
9494
}
9595

96-
generateHaskell :: Config -> Version -> Router m s -> (FileType -> String -> IO String) -> ModuleName -> String -> [ModuleName] -> [ImportDecl] -> [(ModuleName, ModuleName)] -> IO Result
96+
generateHaskell :: Config -> Version -> Router m s -> (String -> IO String) -> ModuleName -> String -> [ModuleName] -> [ImportDecl] -> [(ModuleName, ModuleName)] -> IO Result
9797
generateHaskell config ver r postProc moduleName packageName sources imports rewrites = do
9898
targetPath <- getTargetDir config "./client"
99-
mkHsApi (context targetPath (getSourceLocation config)) (postProc HaskellFile) r
99+
mkHsApi (context targetPath (getSourceLocation config)) postProc r
100100
return $ FileOut targetPath
101101
where
102102
context tp sourceDir = HaskellContext

0 commit comments

Comments
 (0)