17 lines
453 B
Haskell
17 lines
453 B
Haskell
{-# LANGUAGE TypeFamilies #-}
|
|
{-# LANGUAGE FlexibleContexts #-}
|
|
module Yesod.Routes.Class
|
|
( RenderRoute (..)
|
|
, ParseRoute (..)
|
|
) where
|
|
|
|
import Data.Text (Text)
|
|
|
|
class Eq (Route a) => RenderRoute a where
|
|
-- | The type-safe URLs associated with a site argument.
|
|
data Route a
|
|
renderRoute :: Route a -> ([Text], [(Text, Text)])
|
|
|
|
class RenderRoute a => ParseRoute a where
|
|
parseRoute :: ([Text], [(Text, Text)]) -> Maybe (Route a)
|