From 619e74dd451a9e593159f905e7c5757a367f7c85 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 5 Oct 2011 07:19:12 +0200 Subject: [PATCH] Incomplete route changes --- yesod-routes/Yesod/Routes.hs | 9 +++++++++ yesod-routes/yesod-routes.cabal | 1 + 2 files changed, 10 insertions(+) diff --git a/yesod-routes/Yesod/Routes.hs b/yesod-routes/Yesod/Routes.hs index 97423953..010014dc 100644 --- a/yesod-routes/Yesod/Routes.hs +++ b/yesod-routes/Yesod/Routes.hs @@ -10,6 +10,7 @@ import Web.ClientSession (Key) import Yesod.Core (Route) import qualified Data.Vector as V import Data.Maybe (fromMaybe) +import qualified Data.Map as Map data Piece = StaticPiece Text | SinglePiece @@ -44,6 +45,14 @@ bcToDispatch (ByCount vec rest) sub mkey ts master toMaster = checkStatics (path:paths) (StaticPiece piece:pieces) isMulti = path == piece && checkStatics paths pieces isMulti +data PieceMap sub master res = PieceMap + { pmHandlers :: Either (PieceMap sub master res) [(Int, RouteHandler sub master res)] + , pmStatic :: Map.Map Text (PieceMap sub master res) + } + +toPieceMap :: [RouteHandler sub master res] -> PieceMap sub master res +toPieceMap = undefined + data ByCount sub master res = ByCount { bcVector :: !(V.Vector [RouteHandler sub master res]) , bcRest :: ![RouteHandler sub master res] diff --git a/yesod-routes/yesod-routes.cabal b/yesod-routes/yesod-routes.cabal index 4c05e81f..a960d2e2 100644 --- a/yesod-routes/yesod-routes.cabal +++ b/yesod-routes/yesod-routes.cabal @@ -17,6 +17,7 @@ library , text >= 0.5 && < 0.12 , vector >= 0.8 && < 0.10 , clientsession >= 0.7 && < 0.8 + , containers >= 0.2 && < 0.5 exposed-modules: Yesod.Routes ghc-options: -Wall