{-# LANGUAGE CPP #-}
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE StandaloneDeriving #-}
#ifdef LIFT_COMPAT
{-# LANGUAGE TemplateHaskell #-}
#else
{-# LANGUAGE DeriveLift #-}
#endif
module URI.ByteString.Types where
import Data.ByteString (ByteString)
import qualified Data.Map.Strict as M
import Data.Monoid
import Data.Semigroup as Semigroup
import Data.Typeable
import Data.Word
import GHC.Generics
import Instances.TH.Lift ()
import Prelude
#ifdef LIFT_COMPAT
import Language.Haskell.TH.Lift
import Language.Haskell.TH.Syntax ()
#else
import Language.Haskell.TH.Syntax
#endif
newtype Scheme = Scheme { Scheme -> ByteString
schemeBS :: ByteString }
deriving (Int -> Scheme -> ShowS
[Scheme] -> ShowS
Scheme -> String
(Int -> Scheme -> ShowS)
-> (Scheme -> String) -> ([Scheme] -> ShowS) -> Show Scheme
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Scheme] -> ShowS
$cshowList :: [Scheme] -> ShowS
show :: Scheme -> String
$cshow :: Scheme -> String
showsPrec :: Int -> Scheme -> ShowS
$cshowsPrec :: Int -> Scheme -> ShowS
Show, Scheme -> Scheme -> Bool
(Scheme -> Scheme -> Bool)
-> (Scheme -> Scheme -> Bool) -> Eq Scheme
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Scheme -> Scheme -> Bool
$c/= :: Scheme -> Scheme -> Bool
== :: Scheme -> Scheme -> Bool
$c== :: Scheme -> Scheme -> Bool
Eq, (forall x. Scheme -> Rep Scheme x)
-> (forall x. Rep Scheme x -> Scheme) -> Generic Scheme
forall x. Rep Scheme x -> Scheme
forall x. Scheme -> Rep Scheme x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep Scheme x -> Scheme
$cfrom :: forall x. Scheme -> Rep Scheme x
Generic, Typeable, Eq Scheme
Eq Scheme
-> (Scheme -> Scheme -> Ordering)
-> (Scheme -> Scheme -> Bool)
-> (Scheme -> Scheme -> Bool)
-> (Scheme -> Scheme -> Bool)
-> (Scheme -> Scheme -> Bool)
-> (Scheme -> Scheme -> Scheme)
-> (Scheme -> Scheme -> Scheme)
-> Ord Scheme
Scheme -> Scheme -> Bool
Scheme -> Scheme -> Ordering
Scheme -> Scheme -> Scheme
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: Scheme -> Scheme -> Scheme
$cmin :: Scheme -> Scheme -> Scheme
max :: Scheme -> Scheme -> Scheme
$cmax :: Scheme -> Scheme -> Scheme
>= :: Scheme -> Scheme -> Bool
$c>= :: Scheme -> Scheme -> Bool
> :: Scheme -> Scheme -> Bool
$c> :: Scheme -> Scheme -> Bool
<= :: Scheme -> Scheme -> Bool
$c<= :: Scheme -> Scheme -> Bool
< :: Scheme -> Scheme -> Bool
$c< :: Scheme -> Scheme -> Bool
compare :: Scheme -> Scheme -> Ordering
$ccompare :: Scheme -> Scheme -> Ordering
$cp1Ord :: Eq Scheme
Ord)
#ifdef LIFT_COMPAT
deriveLift ''Scheme
#else
deriving instance Lift Scheme
#endif
newtype Host = Host { Host -> ByteString
hostBS :: ByteString }
deriving (Int -> Host -> ShowS
[Host] -> ShowS
Host -> String
(Int -> Host -> ShowS)
-> (Host -> String) -> ([Host] -> ShowS) -> Show Host
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Host] -> ShowS
$cshowList :: [Host] -> ShowS
show :: Host -> String
$cshow :: Host -> String
showsPrec :: Int -> Host -> ShowS
$cshowsPrec :: Int -> Host -> ShowS
Show, Host -> Host -> Bool
(Host -> Host -> Bool) -> (Host -> Host -> Bool) -> Eq Host
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Host -> Host -> Bool
$c/= :: Host -> Host -> Bool
== :: Host -> Host -> Bool
$c== :: Host -> Host -> Bool
Eq, (forall x. Host -> Rep Host x)
-> (forall x. Rep Host x -> Host) -> Generic Host
forall x. Rep Host x -> Host
forall x. Host -> Rep Host x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep Host x -> Host
$cfrom :: forall x. Host -> Rep Host x
Generic, Typeable, Eq Host
Eq Host
-> (Host -> Host -> Ordering)
-> (Host -> Host -> Bool)
-> (Host -> Host -> Bool)
-> (Host -> Host -> Bool)
-> (Host -> Host -> Bool)
-> (Host -> Host -> Host)
-> (Host -> Host -> Host)
-> Ord Host
Host -> Host -> Bool
Host -> Host -> Ordering
Host -> Host -> Host
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: Host -> Host -> Host
$cmin :: Host -> Host -> Host
max :: Host -> Host -> Host
$cmax :: Host -> Host -> Host
>= :: Host -> Host -> Bool
$c>= :: Host -> Host -> Bool
> :: Host -> Host -> Bool
$c> :: Host -> Host -> Bool
<= :: Host -> Host -> Bool
$c<= :: Host -> Host -> Bool
< :: Host -> Host -> Bool
$c< :: Host -> Host -> Bool
compare :: Host -> Host -> Ordering
$ccompare :: Host -> Host -> Ordering
$cp1Ord :: Eq Host
Ord)
#ifdef LIFT_COMPAT
deriveLift ''Host
#else
deriving instance Lift Host
#endif
newtype Port = Port { Port -> Int
portNumber :: Int }
deriving (Int -> Port -> ShowS
[Port] -> ShowS
Port -> String
(Int -> Port -> ShowS)
-> (Port -> String) -> ([Port] -> ShowS) -> Show Port
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Port] -> ShowS
$cshowList :: [Port] -> ShowS
show :: Port -> String
$cshow :: Port -> String
showsPrec :: Int -> Port -> ShowS
$cshowsPrec :: Int -> Port -> ShowS
Show, Port -> Port -> Bool
(Port -> Port -> Bool) -> (Port -> Port -> Bool) -> Eq Port
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Port -> Port -> Bool
$c/= :: Port -> Port -> Bool
== :: Port -> Port -> Bool
$c== :: Port -> Port -> Bool
Eq, (forall x. Port -> Rep Port x)
-> (forall x. Rep Port x -> Port) -> Generic Port
forall x. Rep Port x -> Port
forall x. Port -> Rep Port x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep Port x -> Port
$cfrom :: forall x. Port -> Rep Port x
Generic, Typeable, Eq Port
Eq Port
-> (Port -> Port -> Ordering)
-> (Port -> Port -> Bool)
-> (Port -> Port -> Bool)
-> (Port -> Port -> Bool)
-> (Port -> Port -> Bool)
-> (Port -> Port -> Port)
-> (Port -> Port -> Port)
-> Ord Port
Port -> Port -> Bool
Port -> Port -> Ordering
Port -> Port -> Port
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: Port -> Port -> Port
$cmin :: Port -> Port -> Port
max :: Port -> Port -> Port
$cmax :: Port -> Port -> Port
>= :: Port -> Port -> Bool
$c>= :: Port -> Port -> Bool
> :: Port -> Port -> Bool
$c> :: Port -> Port -> Bool
<= :: Port -> Port -> Bool
$c<= :: Port -> Port -> Bool
< :: Port -> Port -> Bool
$c< :: Port -> Port -> Bool
compare :: Port -> Port -> Ordering
$ccompare :: Port -> Port -> Ordering
$cp1Ord :: Eq Port
Ord)
#ifdef LIFT_COMPAT
deriveLift ''Port
#else
deriving instance Lift Port
#endif
data UserInfo = UserInfo {
UserInfo -> ByteString
uiUsername :: ByteString
, UserInfo -> ByteString
uiPassword :: ByteString
} deriving (Int -> UserInfo -> ShowS
[UserInfo] -> ShowS
UserInfo -> String
(Int -> UserInfo -> ShowS)
-> (UserInfo -> String) -> ([UserInfo] -> ShowS) -> Show UserInfo
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UserInfo] -> ShowS
$cshowList :: [UserInfo] -> ShowS
show :: UserInfo -> String
$cshow :: UserInfo -> String
showsPrec :: Int -> UserInfo -> ShowS
$cshowsPrec :: Int -> UserInfo -> ShowS
Show, UserInfo -> UserInfo -> Bool
(UserInfo -> UserInfo -> Bool)
-> (UserInfo -> UserInfo -> Bool) -> Eq UserInfo
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UserInfo -> UserInfo -> Bool
$c/= :: UserInfo -> UserInfo -> Bool
== :: UserInfo -> UserInfo -> Bool
$c== :: UserInfo -> UserInfo -> Bool
Eq, (forall x. UserInfo -> Rep UserInfo x)
-> (forall x. Rep UserInfo x -> UserInfo) -> Generic UserInfo
forall x. Rep UserInfo x -> UserInfo
forall x. UserInfo -> Rep UserInfo x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UserInfo x -> UserInfo
$cfrom :: forall x. UserInfo -> Rep UserInfo x
Generic, Typeable, Eq UserInfo
Eq UserInfo
-> (UserInfo -> UserInfo -> Ordering)
-> (UserInfo -> UserInfo -> Bool)
-> (UserInfo -> UserInfo -> Bool)
-> (UserInfo -> UserInfo -> Bool)
-> (UserInfo -> UserInfo -> Bool)
-> (UserInfo -> UserInfo -> UserInfo)
-> (UserInfo -> UserInfo -> UserInfo)
-> Ord UserInfo
UserInfo -> UserInfo -> Bool
UserInfo -> UserInfo -> Ordering
UserInfo -> UserInfo -> UserInfo
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: UserInfo -> UserInfo -> UserInfo
$cmin :: UserInfo -> UserInfo -> UserInfo
max :: UserInfo -> UserInfo -> UserInfo
$cmax :: UserInfo -> UserInfo -> UserInfo
>= :: UserInfo -> UserInfo -> Bool
$c>= :: UserInfo -> UserInfo -> Bool
> :: UserInfo -> UserInfo -> Bool
$c> :: UserInfo -> UserInfo -> Bool
<= :: UserInfo -> UserInfo -> Bool
$c<= :: UserInfo -> UserInfo -> Bool
< :: UserInfo -> UserInfo -> Bool
$c< :: UserInfo -> UserInfo -> Bool
compare :: UserInfo -> UserInfo -> Ordering
$ccompare :: UserInfo -> UserInfo -> Ordering
$cp1Ord :: Eq UserInfo
Ord)
#ifdef LIFT_COMPAT
deriveLift ''UserInfo
#else
deriving instance Lift UserInfo
#endif
data Authority = Authority {
Authority -> Maybe UserInfo
authorityUserInfo :: Maybe UserInfo
, Authority -> Host
authorityHost :: Host
, Authority -> Maybe Port
authorityPort :: Maybe Port
} deriving (Int -> Authority -> ShowS
[Authority] -> ShowS
Authority -> String
(Int -> Authority -> ShowS)
-> (Authority -> String)
-> ([Authority] -> ShowS)
-> Show Authority
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Authority] -> ShowS
$cshowList :: [Authority] -> ShowS
show :: Authority -> String
$cshow :: Authority -> String
showsPrec :: Int -> Authority -> ShowS
$cshowsPrec :: Int -> Authority -> ShowS
Show, Authority -> Authority -> Bool
(Authority -> Authority -> Bool)
-> (Authority -> Authority -> Bool) -> Eq Authority
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Authority -> Authority -> Bool
$c/= :: Authority -> Authority -> Bool
== :: Authority -> Authority -> Bool
$c== :: Authority -> Authority -> Bool
Eq, (forall x. Authority -> Rep Authority x)
-> (forall x. Rep Authority x -> Authority) -> Generic Authority
forall x. Rep Authority x -> Authority
forall x. Authority -> Rep Authority x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep Authority x -> Authority
$cfrom :: forall x. Authority -> Rep Authority x
Generic, Typeable, Eq Authority
Eq Authority
-> (Authority -> Authority -> Ordering)
-> (Authority -> Authority -> Bool)
-> (Authority -> Authority -> Bool)
-> (Authority -> Authority -> Bool)
-> (Authority -> Authority -> Bool)
-> (Authority -> Authority -> Authority)
-> (Authority -> Authority -> Authority)
-> Ord Authority
Authority -> Authority -> Bool
Authority -> Authority -> Ordering
Authority -> Authority -> Authority
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: Authority -> Authority -> Authority
$cmin :: Authority -> Authority -> Authority
max :: Authority -> Authority -> Authority
$cmax :: Authority -> Authority -> Authority
>= :: Authority -> Authority -> Bool
$c>= :: Authority -> Authority -> Bool
> :: Authority -> Authority -> Bool
$c> :: Authority -> Authority -> Bool
<= :: Authority -> Authority -> Bool
$c<= :: Authority -> Authority -> Bool
< :: Authority -> Authority -> Bool
$c< :: Authority -> Authority -> Bool
compare :: Authority -> Authority -> Ordering
$ccompare :: Authority -> Authority -> Ordering
$cp1Ord :: Eq Authority
Ord)
#ifdef LIFT_COMPAT
deriveLift ''Authority
#else
deriving instance Lift Authority
#endif
newtype Query = Query { Query -> [(ByteString, ByteString)]
queryPairs :: [(ByteString, ByteString)] }
deriving (Int -> Query -> ShowS
[Query] -> ShowS
Query -> String
(Int -> Query -> ShowS)
-> (Query -> String) -> ([Query] -> ShowS) -> Show Query
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Query] -> ShowS
$cshowList :: [Query] -> ShowS
show :: Query -> String
$cshow :: Query -> String
showsPrec :: Int -> Query -> ShowS
$cshowsPrec :: Int -> Query -> ShowS
Show, Query -> Query -> Bool
(Query -> Query -> Bool) -> (Query -> Query -> Bool) -> Eq Query
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Query -> Query -> Bool
$c/= :: Query -> Query -> Bool
== :: Query -> Query -> Bool
$c== :: Query -> Query -> Bool
Eq, b -> Query -> Query
NonEmpty Query -> Query
Query -> Query -> Query
(Query -> Query -> Query)
-> (NonEmpty Query -> Query)
-> (forall b. Integral b => b -> Query -> Query)
-> Semigroup Query
forall b. Integral b => b -> Query -> Query
forall a.
(a -> a -> a)
-> (NonEmpty a -> a)
-> (forall b. Integral b => b -> a -> a)
-> Semigroup a
stimes :: b -> Query -> Query
$cstimes :: forall b. Integral b => b -> Query -> Query
sconcat :: NonEmpty Query -> Query
$csconcat :: NonEmpty Query -> Query
<> :: Query -> Query -> Query
$c<> :: Query -> Query -> Query
Semigroup.Semigroup, Semigroup Query
Query
Semigroup Query
-> Query
-> (Query -> Query -> Query)
-> ([Query] -> Query)
-> Monoid Query
[Query] -> Query
Query -> Query -> Query
forall a.
Semigroup a -> a -> (a -> a -> a) -> ([a] -> a) -> Monoid a
mconcat :: [Query] -> Query
$cmconcat :: [Query] -> Query
mappend :: Query -> Query -> Query
$cmappend :: Query -> Query -> Query
mempty :: Query
$cmempty :: Query
$cp1Monoid :: Semigroup Query
Monoid, (forall x. Query -> Rep Query x)
-> (forall x. Rep Query x -> Query) -> Generic Query
forall x. Rep Query x -> Query
forall x. Query -> Rep Query x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep Query x -> Query
$cfrom :: forall x. Query -> Rep Query x
Generic, Typeable, Eq Query
Eq Query
-> (Query -> Query -> Ordering)
-> (Query -> Query -> Bool)
-> (Query -> Query -> Bool)
-> (Query -> Query -> Bool)
-> (Query -> Query -> Bool)
-> (Query -> Query -> Query)
-> (Query -> Query -> Query)
-> Ord Query
Query -> Query -> Bool
Query -> Query -> Ordering
Query -> Query -> Query
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: Query -> Query -> Query
$cmin :: Query -> Query -> Query
max :: Query -> Query -> Query
$cmax :: Query -> Query -> Query
>= :: Query -> Query -> Bool
$c>= :: Query -> Query -> Bool
> :: Query -> Query -> Bool
$c> :: Query -> Query -> Bool
<= :: Query -> Query -> Bool
$c<= :: Query -> Query -> Bool
< :: Query -> Query -> Bool
$c< :: Query -> Query -> Bool
compare :: Query -> Query -> Ordering
$ccompare :: Query -> Query -> Ordering
$cp1Ord :: Eq Query
Ord)
#ifdef LIFT_COMPAT
deriveLift ''Query
#else
deriving instance Lift Query
#endif
data Absolute deriving(Typeable)
#ifdef LIFT_COMPAT
deriveLift ''Absolute
#else
deriving instance Lift Absolute
#endif
data Relative deriving(Typeable)
#ifdef LIFT_COMPAT
deriveLift ''Relative
#else
deriving instance Lift Relative
#endif
data URIRef a where
URI :: { URIRef Absolute -> Scheme
uriScheme :: Scheme
, URIRef Absolute -> Maybe Authority
uriAuthority :: Maybe Authority
, URIRef Absolute -> ByteString
uriPath :: ByteString
, URIRef Absolute -> Query
uriQuery :: Query
, URIRef Absolute -> Maybe ByteString
uriFragment :: Maybe ByteString
} -> URIRef Absolute
RelativeRef :: { URIRef Relative -> Maybe Authority
rrAuthority :: Maybe Authority
, URIRef Relative -> ByteString
rrPath :: ByteString
, URIRef Relative -> Query
rrQuery :: Query
, URIRef Relative -> Maybe ByteString
rrFragment :: Maybe ByteString
} -> URIRef Relative
deriving instance Show (URIRef a)
deriving instance Eq (URIRef a)
deriving instance Ord (URIRef a)
#ifdef LIFT_COMPAT
deriveLift ''URIRef
#else
deriving instance Lift (URIRef a)
#endif
#ifdef WITH_TYPEABLE
deriving instance Typeable URIRef
#endif
type URI = URIRef Absolute
type RelativeRef = URIRef Relative
data URIParserOptions = URIParserOptions {
URIParserOptions -> Word8 -> Bool
upoValidQueryChar :: Word8 -> Bool
}
data URINormalizationOptions = URINormalizationOptions {
URINormalizationOptions -> Bool
unoDowncaseScheme :: Bool
, URINormalizationOptions -> Bool
unoDowncaseHost :: Bool
, URINormalizationOptions -> Bool
unoDropDefPort :: Bool
, URINormalizationOptions -> Bool
unoSlashEmptyPath :: Bool
, :: Bool
, URINormalizationOptions -> Bool
unoSortParameters :: Bool
, URINormalizationOptions -> Bool
unoRemoveDotSegments :: Bool
, URINormalizationOptions -> Map Scheme Port
unoDefaultPorts :: M.Map Scheme Port
} deriving (Int -> URINormalizationOptions -> ShowS
[URINormalizationOptions] -> ShowS
URINormalizationOptions -> String
(Int -> URINormalizationOptions -> ShowS)
-> (URINormalizationOptions -> String)
-> ([URINormalizationOptions] -> ShowS)
-> Show URINormalizationOptions
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [URINormalizationOptions] -> ShowS
$cshowList :: [URINormalizationOptions] -> ShowS
show :: URINormalizationOptions -> String
$cshow :: URINormalizationOptions -> String
showsPrec :: Int -> URINormalizationOptions -> ShowS
$cshowsPrec :: Int -> URINormalizationOptions -> ShowS
Show, URINormalizationOptions -> URINormalizationOptions -> Bool
(URINormalizationOptions -> URINormalizationOptions -> Bool)
-> (URINormalizationOptions -> URINormalizationOptions -> Bool)
-> Eq URINormalizationOptions
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: URINormalizationOptions -> URINormalizationOptions -> Bool
$c/= :: URINormalizationOptions -> URINormalizationOptions -> Bool
== :: URINormalizationOptions -> URINormalizationOptions -> Bool
$c== :: URINormalizationOptions -> URINormalizationOptions -> Bool
Eq)
data SchemaError = NonAlphaLeading
| InvalidChars
| MissingColon
deriving (Int -> SchemaError -> ShowS
[SchemaError] -> ShowS
SchemaError -> String
(Int -> SchemaError -> ShowS)
-> (SchemaError -> String)
-> ([SchemaError] -> ShowS)
-> Show SchemaError
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SchemaError] -> ShowS
$cshowList :: [SchemaError] -> ShowS
show :: SchemaError -> String
$cshow :: SchemaError -> String
showsPrec :: Int -> SchemaError -> ShowS
$cshowsPrec :: Int -> SchemaError -> ShowS
Show, SchemaError -> SchemaError -> Bool
(SchemaError -> SchemaError -> Bool)
-> (SchemaError -> SchemaError -> Bool) -> Eq SchemaError
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SchemaError -> SchemaError -> Bool
$c/= :: SchemaError -> SchemaError -> Bool
== :: SchemaError -> SchemaError -> Bool
$c== :: SchemaError -> SchemaError -> Bool
Eq, ReadPrec [SchemaError]
ReadPrec SchemaError
Int -> ReadS SchemaError
ReadS [SchemaError]
(Int -> ReadS SchemaError)
-> ReadS [SchemaError]
-> ReadPrec SchemaError
-> ReadPrec [SchemaError]
-> Read SchemaError
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [SchemaError]
$creadListPrec :: ReadPrec [SchemaError]
readPrec :: ReadPrec SchemaError
$creadPrec :: ReadPrec SchemaError
readList :: ReadS [SchemaError]
$creadList :: ReadS [SchemaError]
readsPrec :: Int -> ReadS SchemaError
$creadsPrec :: Int -> ReadS SchemaError
Read, (forall x. SchemaError -> Rep SchemaError x)
-> (forall x. Rep SchemaError x -> SchemaError)
-> Generic SchemaError
forall x. Rep SchemaError x -> SchemaError
forall x. SchemaError -> Rep SchemaError x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep SchemaError x -> SchemaError
$cfrom :: forall x. SchemaError -> Rep SchemaError x
Generic, Typeable, Int -> SchemaError
SchemaError -> Int
SchemaError -> [SchemaError]
SchemaError -> SchemaError
SchemaError -> SchemaError -> [SchemaError]
SchemaError -> SchemaError -> SchemaError -> [SchemaError]
(SchemaError -> SchemaError)
-> (SchemaError -> SchemaError)
-> (Int -> SchemaError)
-> (SchemaError -> Int)
-> (SchemaError -> [SchemaError])
-> (SchemaError -> SchemaError -> [SchemaError])
-> (SchemaError -> SchemaError -> [SchemaError])
-> (SchemaError -> SchemaError -> SchemaError -> [SchemaError])
-> Enum SchemaError
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: SchemaError -> SchemaError -> SchemaError -> [SchemaError]
$cenumFromThenTo :: SchemaError -> SchemaError -> SchemaError -> [SchemaError]
enumFromTo :: SchemaError -> SchemaError -> [SchemaError]
$cenumFromTo :: SchemaError -> SchemaError -> [SchemaError]
enumFromThen :: SchemaError -> SchemaError -> [SchemaError]
$cenumFromThen :: SchemaError -> SchemaError -> [SchemaError]
enumFrom :: SchemaError -> [SchemaError]
$cenumFrom :: SchemaError -> [SchemaError]
fromEnum :: SchemaError -> Int
$cfromEnum :: SchemaError -> Int
toEnum :: Int -> SchemaError
$ctoEnum :: Int -> SchemaError
pred :: SchemaError -> SchemaError
$cpred :: SchemaError -> SchemaError
succ :: SchemaError -> SchemaError
$csucc :: SchemaError -> SchemaError
Enum, SchemaError
SchemaError -> SchemaError -> Bounded SchemaError
forall a. a -> a -> Bounded a
maxBound :: SchemaError
$cmaxBound :: SchemaError
minBound :: SchemaError
$cminBound :: SchemaError
Bounded)
data URIParseError = MalformedScheme SchemaError
| MalformedUserInfo
| MalformedQuery
| MalformedFragment
| MalformedHost
| MalformedPort
| MalformedPath
| OtherError String
deriving (Int -> URIParseError -> ShowS
[URIParseError] -> ShowS
URIParseError -> String
(Int -> URIParseError -> ShowS)
-> (URIParseError -> String)
-> ([URIParseError] -> ShowS)
-> Show URIParseError
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [URIParseError] -> ShowS
$cshowList :: [URIParseError] -> ShowS
show :: URIParseError -> String
$cshow :: URIParseError -> String
showsPrec :: Int -> URIParseError -> ShowS
$cshowsPrec :: Int -> URIParseError -> ShowS
Show, URIParseError -> URIParseError -> Bool
(URIParseError -> URIParseError -> Bool)
-> (URIParseError -> URIParseError -> Bool) -> Eq URIParseError
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: URIParseError -> URIParseError -> Bool
$c/= :: URIParseError -> URIParseError -> Bool
== :: URIParseError -> URIParseError -> Bool
$c== :: URIParseError -> URIParseError -> Bool
Eq, (forall x. URIParseError -> Rep URIParseError x)
-> (forall x. Rep URIParseError x -> URIParseError)
-> Generic URIParseError
forall x. Rep URIParseError x -> URIParseError
forall x. URIParseError -> Rep URIParseError x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep URIParseError x -> URIParseError
$cfrom :: forall x. URIParseError -> Rep URIParseError x
Generic, ReadPrec [URIParseError]
ReadPrec URIParseError
Int -> ReadS URIParseError
ReadS [URIParseError]
(Int -> ReadS URIParseError)
-> ReadS [URIParseError]
-> ReadPrec URIParseError
-> ReadPrec [URIParseError]
-> Read URIParseError
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [URIParseError]
$creadListPrec :: ReadPrec [URIParseError]
readPrec :: ReadPrec URIParseError
$creadPrec :: ReadPrec URIParseError
readList :: ReadS [URIParseError]
$creadList :: ReadS [URIParseError]
readsPrec :: Int -> ReadS URIParseError
$creadsPrec :: Int -> ReadS URIParseError
Read, Typeable)