git.iko.soy/typeable/http-api-data
on master help sign in
Use TypeSynonymInstances for Web.HttpApiData
f2b4a2aNickolay Kudasov
Web/HttpApiData.hs+3−2
@@ -1,6 +1,7 @@
1{-# LANGUAGE DefaultSignatures #-}
1{-# LANGUAGE DefaultSignatures #-}
2{-# LANGUAGE FlexibleInstances #-}
2{-# LANGUAGE FlexibleInstances #-}
3{-# LANGUAGE OverloadedStrings #-}
3{-# LANGUAGE OverloadedStrings #-}
4+{-# LANGUAGE TypeSynonymInstances #-}
4module Web.HttpApiData (
5module Web.HttpApiData (
5 ToHttpApiData (..),
6 ToHttpApiData (..),
6 FromHttpApiData (..),
7 FromHttpApiData (..),
@@ -93,7 +94,7 @@ instance ToHttpApiData Word8 where toUrlPiece = showUrlPiece
93instance ToHttpApiData Word16 where toUrlPiece = showUrlPiece
94instance ToHttpApiData Word16 where toUrlPiece = showUrlPiece
94instance ToHttpApiData Word32 where toUrlPiece = showUrlPiece
95instance ToHttpApiData Word32 where toUrlPiece = showUrlPiece
95instance ToHttpApiData Word64 where toUrlPiece = showUrlPiece
96instance ToHttpApiData Word64 where toUrlPiece = showUrlPiece
96−instance ToHttpApiData [Char] where toUrlPiece = Text.pack
97+instance ToHttpApiData String where toUrlPiece = Text.pack
97instance ToHttpApiData Text where toUrlPiece = id
98instance ToHttpApiData Text where toUrlPiece = id
98instance ToHttpApiData TL.Text where toUrlPiece = TL.toStrict
99instance ToHttpApiData TL.Text where toUrlPiece = TL.toStrict
99instance ToHttpApiData Day where toUrlPiece = showUrlPiece
100instance ToHttpApiData Day where toUrlPiece = showUrlPiece
@@ -112,7 +113,7 @@ instance FromHttpApiData Word8 where parseUrlPiece = runReader decimal
112instance FromHttpApiData Word16 where parseUrlPiece = runReader decimal
113instance FromHttpApiData Word16 where parseUrlPiece = runReader decimal
113instance FromHttpApiData Word32 where parseUrlPiece = runReader decimal
114instance FromHttpApiData Word32 where parseUrlPiece = runReader decimal
114instance FromHttpApiData Word64 where parseUrlPiece = runReader decimal
115instance FromHttpApiData Word64 where parseUrlPiece = runReader decimal
115−instance FromHttpApiData [Char] where parseUrlPiece = Right . Text.unpack
116+instance FromHttpApiData String where parseUrlPiece = Right . Text.unpack
116instance FromHttpApiData Text where parseUrlPiece = Right
117instance FromHttpApiData Text where parseUrlPiece = Right
117instance FromHttpApiData TL.Text where parseUrlPiece = Right . TL.fromStrict
118instance FromHttpApiData TL.Text where parseUrlPiece = Right . TL.fromStrict
118instance FromHttpApiData Day where parseUrlPiece = readEitherUrlPiece
119instance FromHttpApiData Day where parseUrlPiece = readEitherUrlPiece
Web/PathPieces.hs+4−1
@@ -1,4 +1,7 @@
1−{-# LANGUAGE FlexibleInstances, TypeSynonymInstances, OverloadedStrings, DefaultSignatures #-}
1+{-# LANGUAGE DefaultSignatures #-}
2+{-# LANGUAGE FlexibleInstances #-}
3+{-# LANGUAGE OverloadedStrings #-}
4+{-# LANGUAGE TypeSynonymInstances #-}
2module Web.PathPieces
5module Web.PathPieces
3 ( PathPiece (..)
6 ( PathPiece (..)
4 , PathMultiPiece (..)
7 , PathMultiPiece (..)