git.iko.soy/typeable/http-api-data
on master help sign in
Route -> Path in names
commit3c241df7acb2aeaed45579b277ed8961739ad8c5 authorMichael Snoyman <michael@snoyman.com> dateTue 27 Dec 2011, 15:59 (15 years ago) parent8fd5138
1 file changed+47−47
Web/PathPieces.hs+47−47
Web/PathPieces.hs+47−47
@@ -1,7 +1,7 @@
11{-# LANGUAGE FlexibleInstances, TypeSynonymInstances #-}
22module Web.PathPieces
3− ( RoutePiece (..)
4− , RouteMultiPiece (..)
3+ ( PathPiece (..)
4+ , PathMultiPiece (..)
55 -- * Deprecated
66 , toSinglePiece
77 , toMultiPiece
@@ -14,72 +14,72 @@ import qualified Data.Text as S
1414import qualified Data.Text.Lazy as L
1515import qualified Data.Text.Read
1616
17−class RoutePiece s where
18− fromRoutePiece :: S.Text -> Maybe s
19− toRoutePiece :: s -> S.Text
17+class PathPiece s where
18+ fromPathPiece :: S.Text -> Maybe s
19+ toPathPiece :: s -> S.Text
2020
21−instance RoutePiece String where
22− fromRoutePiece s = if S.null s then Nothing else Just (S.unpack s)
23− toRoutePiece = S.pack
21+instance PathPiece String where
22+ fromPathPiece s = if S.null s then Nothing else Just (S.unpack s)
23+ toPathPiece = S.pack
2424
25−instance RoutePiece S.Text where
26− fromRoutePiece s = if S.null s then Nothing else Just s
27− toRoutePiece = id
25+instance PathPiece S.Text where
26+ fromPathPiece s = if S.null s then Nothing else Just s
27+ toPathPiece = id
2828
29−instance RoutePiece L.Text where
30− fromRoutePiece s = if S.null s then Nothing else Just (L.fromChunks [s])
31− toRoutePiece = S.concat . L.toChunks
29+instance PathPiece L.Text where
30+ fromPathPiece s = if S.null s then Nothing else Just (L.fromChunks [s])
31+ toPathPiece = S.concat . L.toChunks
3232
33−instance RoutePiece Integer where
34− fromRoutePiece s =
33+instance PathPiece Integer where
34+ fromPathPiece s =
3535 case Data.Text.Read.decimal s of
3636 Right (i, _) -> Just i
3737 Left _ -> Nothing
38− toRoutePiece = S.pack . show
38+ toPathPiece = S.pack . show
3939
40−instance RoutePiece Int where
41− fromRoutePiece s =
40+instance PathPiece Int where
41+ fromPathPiece s =
4242 case Data.Text.Read.decimal s of
4343 Right (i, _) -> Just i
4444 Left _ -> Nothing
45− toRoutePiece = S.pack . show
45+ toPathPiece = S.pack . show
4646
47−instance RoutePiece Int64 where
48− fromRoutePiece s =
47+instance PathPiece Int64 where
48+ fromPathPiece s =
4949 case Data.Text.Read.decimal s of
5050 Right (i, _) -> Just i
5151 Left _ -> Nothing
52− toRoutePiece = S.pack . show
52+ toPathPiece = S.pack . show
5353
5454
55−class RouteMultiPiece s where
56− fromRouteMultiPiece :: [S.Text] -> Maybe s
57− toRouteMultiPiece :: s -> [S.Text]
55+class PathMultiPiece s where
56+ fromPathMultiPiece :: [S.Text] -> Maybe s
57+ toPathMultiPiece :: s -> [S.Text]
5858
59−instance RouteMultiPiece [String] where
60− fromRouteMultiPiece = Just . map S.unpack
61− toRouteMultiPiece = map S.pack
59+instance PathMultiPiece [String] where
60+ fromPathMultiPiece = Just . map S.unpack
61+ toPathMultiPiece = map S.pack
6262
63−instance RouteMultiPiece [S.Text] where
64− fromRouteMultiPiece = Just
65− toRouteMultiPiece = id
63+instance PathMultiPiece [S.Text] where
64+ fromPathMultiPiece = Just
65+ toPathMultiPiece = id
6666
67−instance RouteMultiPiece [L.Text] where
68− fromRouteMultiPiece = Just . map (L.fromChunks . return)
69− toRouteMultiPiece = map $ S.concat . L.toChunks
67+instance PathMultiPiece [L.Text] where
68+ fromPathMultiPiece = Just . map (L.fromChunks . return)
69+ toPathMultiPiece = map $ S.concat . L.toChunks
7070
71−{-# DEPRECATED toSinglePiece "Use toRoutePiece instead of toSinglePiece" #-}
72−toSinglePiece :: RoutePiece p => p -> S.Text
73−toSinglePiece = toRoutePiece
71+{-# DEPRECATED toSinglePiece "Use toPathPiece instead of toSinglePiece" #-}
72+toSinglePiece :: PathPiece p => p -> S.Text
73+toSinglePiece = toPathPiece
7474
75−{-# DEPRECATED fromSinglePiece "Use fromRoutePiece instead of fromSinglePiece" #-}
76−fromSinglePiece :: RoutePiece p => S.Text -> Maybe p
77−fromSinglePiece = fromRoutePiece
75+{-# DEPRECATED fromSinglePiece "Use fromPathPiece instead of fromSinglePiece" #-}
76+fromSinglePiece :: PathPiece p => S.Text -> Maybe p
77+fromSinglePiece = fromPathPiece
7878
79−{-# DEPRECATED toMultiPiece "Use toRouteMultiPiece instead of toMultiPiece" #-}
80−toMultiPiece :: RouteMultiPiece ps => ps -> [S.Text]
81−toMultiPiece = toRouteMultiPiece
79+{-# DEPRECATED toMultiPiece "Use toPathMultiPiece instead of toMultiPiece" #-}
80+toMultiPiece :: PathMultiPiece ps => ps -> [S.Text]
81+toMultiPiece = toPathMultiPiece
8282
83−{-# DEPRECATED fromMultiPiece "Use fromRouteMultiPiece instead of fromMultiPiece" #-}
84−fromMultiPiece :: RouteMultiPiece ps => [S.Text] -> Maybe ps
85−fromMultiPiece = fromRouteMultiPiece
83+{-# DEPRECATED fromMultiPiece "Use fromPathMultiPiece instead of fromMultiPiece" #-}
84+fromMultiPiece :: PathMultiPiece ps => [S.Text] -> Maybe ps
85+fromMultiPiece = fromPathMultiPiece