import Data.Text.Encoding.Error
import Data.Typeable
import Data.Word
-import Language.Haskell.TH.Syntax
import Network.HTTP.Lucu.OrphanInstances ()
import Network.HTTP.Lucu.Parser.Http
import Network.HTTP.Lucu.Utils
= MIMEParams (M.Map CIAscii Text)
deriving (Eq, Show, Read, Monoid, Typeable)
-instance Lift MIMEParams where
- lift (MIMEParams m) = [| MIMEParams $(lift m) |]
-
+-- FIXME: auto-derive
instance Unfoldable MIMEParams (CIAscii, Text) where
{-# INLINE insert #-}
insert p (MIMEParams m)
insertManySorted f (MIMEParams m)
= MIMEParams $ insertManySorted f m
+-- FIXME: auto-derive
instance Foldable MIMEParams (CIAscii, Text) where
{-# INLINE null #-}
null (MIMEParams m) = null m
{-# INLINE foldr #-}
foldr f b (MIMEParams m) = foldr f b m
+-- FIXME: auto-derive
instance Collection MIMEParams (CIAscii, Text) where
{-# INLINE filter #-}
filter f (MIMEParams m) = MIMEParams $ filter f m
+-- FIXME: auto-derive
instance Indexed MIMEParams CIAscii Text where
{-# INLINE index #-}
index k (MIMEParams m) = index k m
{-# INLINE inDomain #-}
inDomain k (MIMEParams m) = inDomain k m
+-- FIXME: auto-derive
instance Map MIMEParams CIAscii Text where
{-# INLINE lookup #-}
lookup k (MIMEParams m) = lookup k m
isProperSubmapBy f (MIMEParams α) (MIMEParams β)
= isProperSubmapBy f α β
+-- FIXME: auto-derive
instance SortingCollection MIMEParams (CIAscii, Text) where
{-# INLINE minView #-}
minView (MIMEParams m) = second MIMEParams <$> minView m