-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Silk Rest Framework Types
--   
--   Silk Rest Framework Types
@package rest-types
@version 1.14.1.1

module Rest.Types.Void

-- | The <a>Void</a> type is used as the identifier for resources that
--   can't be routed to. It contains no values apart from bottom.
newtype Void
Void :: (forall a. a) -> Void
[magic] :: Void -> forall a. a
instance Data.Aeson.Types.FromJSON.FromJSON Rest.Types.Void.Void
instance Data.Aeson.Types.ToJSON.ToJSON Rest.Types.Void.Void
instance Data.JSON.Schema.Types.JSONSchema Rest.Types.Void.Void
instance Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler Rest.Types.Void.Void
instance GHC.Show.Show Rest.Types.Void.Void
instance GHC.Classes.Eq Rest.Types.Void.Void
instance GHC.Classes.Ord Rest.Types.Void.Void
instance GHC.Read.Read Rest.Types.Void.Void
instance GHC.Generics.Generic Rest.Types.Void.Void

module Rest.Types.ShowUrl
class ShowUrl a
showUrl :: ShowUrl a => a -> String
instance Rest.Types.ShowUrl.ShowUrl GHC.Base.String
instance Rest.Types.ShowUrl.ShowUrl GHC.Types.Int
instance Rest.Types.ShowUrl.ShowUrl GHC.Integer.Type.Integer
instance Rest.Types.ShowUrl.ShowUrl Data.UUID.Types.Internal.UUID
instance Rest.Types.ShowUrl.ShowUrl Data.Text.Internal.Text
instance Rest.Types.ShowUrl.ShowUrl Data.Text.Internal.Lazy.Text

module Rest.Types.Range

-- | Data type for representing the requested range in list handlers.
data Range
Range :: Int -> Int -> Range
[offset] :: Range -> Int
[count] :: Range -> Int

module Rest.Types.Method
data Method
GET :: Method
PUT :: Method
POST :: Method
DELETE :: Method
instance GHC.Enum.Enum Rest.Types.Method.Method
instance GHC.Enum.Bounded Rest.Types.Method.Method
instance GHC.Classes.Eq Rest.Types.Method.Method
instance GHC.Show.Show Rest.Types.Method.Method
instance Data.Aeson.Types.ToJSON.ToJSON Rest.Types.Method.Method
instance Data.Aeson.Types.FromJSON.FromJSON Rest.Types.Method.Method
instance Data.JSON.Schema.Types.JSONSchema Rest.Types.Method.Method
instance Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler Rest.Types.Method.Method


-- | Module facilitating informative inspection of datatypes.
module Rest.Types.Info

-- | Type class representing information about the read/show function on a
--   data type.
class Typeable a => Info a where example _ = ""
describe :: Info a => proxy a -> String
example :: Info a => proxy a -> String
instance Rest.Types.Info.Info GHC.Base.String
instance Rest.Types.Info.Info Data.Text.Internal.Text
instance Rest.Types.Info.Info GHC.Types.Int
instance Rest.Types.Info.Info GHC.Integer.Type.Integer

module Rest.Types.Error
data DataError
ParseError :: String -> DataError
PrintError :: String -> DataError
MissingField :: String -> DataError
UnsupportedFormat :: String -> DataError
newtype DomainReason a
DomainReason :: a -> DomainReason a
[reason] :: DomainReason a -> a
data Status a b
Failure :: a -> Status a b
Success :: b -> Status a b
fromEither :: Either a b -> Status a b
toEither :: Status a b -> Either a b
type Reason_ = Reason Void
data Reason a
UnsupportedRoute :: Reason a
UnsupportedMethod :: Reason a
UnsupportedVersion :: Reason a
IdentError :: DataError -> Reason a
HeaderError :: DataError -> Reason a
ParamError :: DataError -> Reason a
InputError :: DataError -> Reason a
OutputError :: DataError -> Reason a
NotFound :: Reason a
NotAllowed :: Reason a
AuthenticationFailed :: Reason a
Busy :: Reason a
Gone :: Reason a
CustomReason :: (DomainReason a) -> Reason a
data SomeReason
[SomeReason] :: (XmlPickler e, JSONSchema e, ToJSON e) => Reason e -> SomeReason

-- | The response code that should be given for a type. This is currently
--   only used for errors.
class ToResponseCode a
toResponseCode :: ToResponseCode a => a -> Int
instance Data.Traversable.Traversable Rest.Types.Error.Reason
instance Data.Foldable.Foldable Rest.Types.Error.Reason
instance GHC.Base.Functor Rest.Types.Error.Reason
instance GHC.Show.Show a => GHC.Show.Show (Rest.Types.Error.Reason a)
instance GHC.Generics.Generic (Rest.Types.Error.Reason a)
instance GHC.Classes.Eq a => GHC.Classes.Eq (Rest.Types.Error.Reason a)
instance Data.Traversable.Traversable (Rest.Types.Error.Status a)
instance Data.Foldable.Foldable (Rest.Types.Error.Status a)
instance GHC.Base.Functor (Rest.Types.Error.Status a)
instance GHC.Generics.Generic (Rest.Types.Error.Status a b)
instance (GHC.Show.Show b, GHC.Show.Show a) => GHC.Show.Show (Rest.Types.Error.Status a b)
instance (GHC.Classes.Eq b, GHC.Classes.Eq a) => GHC.Classes.Eq (Rest.Types.Error.Status a b)
instance Data.Traversable.Traversable Rest.Types.Error.DomainReason
instance GHC.Show.Show a => GHC.Show.Show (Rest.Types.Error.DomainReason a)
instance Data.Foldable.Foldable Rest.Types.Error.DomainReason
instance GHC.Base.Functor Rest.Types.Error.DomainReason
instance GHC.Generics.Generic (Rest.Types.Error.DomainReason a)
instance GHC.Classes.Eq a => GHC.Classes.Eq (Rest.Types.Error.DomainReason a)
instance GHC.Show.Show Rest.Types.Error.DataError
instance GHC.Generics.Generic Rest.Types.Error.DataError
instance GHC.Classes.Eq Rest.Types.Error.DataError
instance Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler a => Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler (Rest.Types.Error.DomainReason a)
instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Rest.Types.Error.DomainReason a)
instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Rest.Types.Error.DomainReason a)
instance Data.JSON.Schema.Types.JSONSchema a => Data.JSON.Schema.Types.JSONSchema (Rest.Types.Error.DomainReason a)
instance (Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler a, Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler b) => Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler (Rest.Types.Error.Status a b)
instance (Data.Aeson.Types.ToJSON.ToJSON a, Data.Aeson.Types.ToJSON.ToJSON b) => Data.Aeson.Types.ToJSON.ToJSON (Rest.Types.Error.Status a b)
instance (Data.Aeson.Types.FromJSON.FromJSON a, Data.Aeson.Types.FromJSON.FromJSON b) => Data.Aeson.Types.FromJSON.FromJSON (Rest.Types.Error.Status a b)
instance (Data.JSON.Schema.Types.JSONSchema a, Data.JSON.Schema.Types.JSONSchema b) => Data.JSON.Schema.Types.JSONSchema (Rest.Types.Error.Status a b)
instance GHC.Base.Applicative Rest.Types.Error.Reason
instance GHC.Base.Monad Rest.Types.Error.Reason
instance Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler Rest.Types.Error.DataError
instance Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler e => Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler (Rest.Types.Error.Reason e)
instance Data.Aeson.Types.ToJSON.ToJSON Rest.Types.Error.DataError
instance Data.Aeson.Types.FromJSON.FromJSON Rest.Types.Error.DataError
instance Data.Aeson.Types.ToJSON.ToJSON e => Data.Aeson.Types.ToJSON.ToJSON (Rest.Types.Error.Reason e)
instance Data.Aeson.Types.FromJSON.FromJSON e => Data.Aeson.Types.FromJSON.FromJSON (Rest.Types.Error.Reason e)
instance Data.JSON.Schema.Types.JSONSchema Rest.Types.Error.DataError
instance Data.JSON.Schema.Types.JSONSchema e => Data.JSON.Schema.Types.JSONSchema (Rest.Types.Error.Reason e)
instance Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler Rest.Types.Error.SomeReason
instance Data.Aeson.Types.ToJSON.ToJSON Rest.Types.Error.SomeReason
instance Data.JSON.Schema.Types.JSONSchema Rest.Types.Error.SomeReason
instance Rest.Types.Error.ToResponseCode Rest.Types.Void.Void
instance Rest.Types.Error.ToResponseCode a => Rest.Types.Error.ToResponseCode (Rest.Types.Error.Reason a)

module Rest.Types.Container.Resource
data Resource
Resource :: String -> Method -> CaseInsensitiveKeyValues -> KeyValues -> String -> Resource
[uri] :: Resource -> String
[method] :: Resource -> Method
[headers] :: Resource -> CaseInsensitiveKeyValues
[parameters] :: Resource -> KeyValues
[input] :: Resource -> String
newtype Resources
Resources :: [Resource] -> Resources
type KeyValues = StringHashMap String Value
newtype Value
Value :: String -> Value
[unValue] :: Value -> String
instance GHC.Generics.Generic Rest.Types.Container.Resource.Resources
instance GHC.Show.Show Rest.Types.Container.Resource.Resource
instance GHC.Generics.Generic Rest.Types.Container.Resource.Resource
instance GHC.Show.Show Rest.Types.Container.Resource.Value
instance Data.Aeson.Types.ToJSON.ToJSON Rest.Types.Container.Resource.Value
instance Data.Aeson.Types.FromJSON.FromJSON Rest.Types.Container.Resource.Value
instance Data.JSON.Schema.Types.JSONSchema Rest.Types.Container.Resource.Value
instance Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler Rest.Types.Container.Resource.Value
instance Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler Rest.Types.Container.Resource.Resource
instance Data.Aeson.Types.ToJSON.ToJSON Rest.Types.Container.Resource.Resource
instance Data.Aeson.Types.FromJSON.FromJSON Rest.Types.Container.Resource.Resource
instance Data.JSON.Schema.Types.JSONSchema Rest.Types.Container.Resource.Resource
instance Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler Rest.Types.Container.Resource.Resources
instance Data.Aeson.Types.ToJSON.ToJSON Rest.Types.Container.Resource.Resources
instance Data.Aeson.Types.FromJSON.FromJSON Rest.Types.Container.Resource.Resources
instance Data.JSON.Schema.Types.JSONSchema Rest.Types.Container.Resource.Resources

module Rest.Types.Container
data List a
List :: Int -> Int -> [a] -> List a
[offset] :: List a -> Int
[count] :: List a -> Int
[items] :: List a -> [a]
data SomeOutput
[SomeOutput] :: (XmlPickler o, ToJSON o, JSONSchema o) => o -> SomeOutput
instance Data.Traversable.Traversable Rest.Types.Container.List
instance Data.Foldable.Foldable Rest.Types.Container.List
instance GHC.Base.Functor Rest.Types.Container.List
instance GHC.Read.Read a => GHC.Read.Read (Rest.Types.Container.List a)
instance GHC.Show.Show a => GHC.Show.Show (Rest.Types.Container.List a)
instance GHC.Classes.Ord a => GHC.Classes.Ord (Rest.Types.Container.List a)
instance GHC.Classes.Eq a => GHC.Classes.Eq (Rest.Types.Container.List a)
instance GHC.Generics.Generic (Rest.Types.Container.List a)
instance Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler a => Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler (Rest.Types.Container.List a)
instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Rest.Types.Container.List a)
instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Rest.Types.Container.List a)
instance Data.JSON.Schema.Types.JSONSchema a => Data.JSON.Schema.Types.JSONSchema (Rest.Types.Container.List a)
instance Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler Rest.Types.Container.SomeOutput
instance Data.Aeson.Types.ToJSON.ToJSON Rest.Types.Container.SomeOutput
instance Data.JSON.Schema.Types.JSONSchema Rest.Types.Container.SomeOutput
