slightly DRY code
This commit is contained in:
parent
1c3b63b3a1
commit
eaa3eb8ac3
@ -21,9 +21,7 @@ import Yesod.Routes.Overlap (findOverlapNames)
|
|||||||
-- overlapping routes, failing if present; use 'parseRoutesNoCheck' to skip the
|
-- overlapping routes, failing if present; use 'parseRoutesNoCheck' to skip the
|
||||||
-- checking. See documentation site for details on syntax.
|
-- checking. See documentation site for details on syntax.
|
||||||
parseRoutes :: QuasiQuoter
|
parseRoutes :: QuasiQuoter
|
||||||
parseRoutes = QuasiQuoter
|
parseRoutes = QuasiQuoter { quoteExp = x }
|
||||||
{ quoteExp = x
|
|
||||||
}
|
|
||||||
where
|
where
|
||||||
x s = do
|
x s = do
|
||||||
let res = resourcesFromString s
|
let res = resourcesFromString s
|
||||||
@ -32,14 +30,15 @@ parseRoutes = QuasiQuoter
|
|||||||
z -> error $ "Overlapping routes: " ++ unlines (map show z)
|
z -> error $ "Overlapping routes: " ++ unlines (map show z)
|
||||||
|
|
||||||
parseRoutesFile :: FilePath -> Q Exp
|
parseRoutesFile :: FilePath -> Q Exp
|
||||||
parseRoutesFile fp = do
|
parseRoutesFile parseRoutesFileWith parseRoutes
|
||||||
s <- qRunIO $ readUtf8File fp
|
|
||||||
quoteExp parseRoutes s
|
|
||||||
|
|
||||||
parseRoutesFileNoCheck :: FilePath -> Q Exp
|
parseRoutesFileNoCheck :: FilePath -> Q Exp
|
||||||
parseRoutesFileNoCheck fp = do
|
parseRoutesFileNoCheck = parseRoutesFileWith parseRoutesNoCheck
|
||||||
|
|
||||||
|
parseRoutesFileWith :: QuasiQuoter -> FilePath -> Q Exp
|
||||||
|
parseRoutesFileWith qq fp = do
|
||||||
s <- qRunIO $ readUtf8File fp
|
s <- qRunIO $ readUtf8File fp
|
||||||
quoteExp parseRoutesNoCheck s
|
quoteExp qq s
|
||||||
|
|
||||||
readUtf8File :: FilePath -> IO String
|
readUtf8File :: FilePath -> IO String
|
||||||
readUtf8File fp = do
|
readUtf8File fp = do
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user