25 lines
515 B
Haskell
25 lines
515 B
Haskell
{-# LANGUAGE TemplateHaskell, QuasiQuotes #-}
|
|
module THHelper where
|
|
|
|
import Language.Haskell.TH.Syntax
|
|
import Data.Char (toLower)
|
|
import Yesod.Routes.TH
|
|
import Yesod.Routes.Parse
|
|
|
|
settings = MkDispatchSettings
|
|
[|\w x y z -> (w, x, y, z)|]
|
|
[|undefined|]
|
|
[|fst|]
|
|
[|\x (_, y) -> (x, y)|]
|
|
[|snd|]
|
|
[|Nothing|]
|
|
[|Nothing|]
|
|
(\(Just method) name -> return $ VarE $ mkName $ map toLower method ++ name)
|
|
|
|
resources = [parseRoutes|
|
|
/ HomeR GET
|
|
/foo FooR GET
|
|
/bar/#Int BarR GET
|
|
/baz BazR GET
|
|
|]
|