{-# LANGUAGE DeriveDataTypeable #-}
module Text.JSON.Failure
(
NoSuchField(..)
, ExpectedObject(..)
, ExpectedBool(..)
, ExpectedNumber(..)
, ExpectedString(..)
, ExpectedArray(..)
) where
import Data.Data
-- | An object field was attempted to access but the object has no such field.
data NoSuchField z =
NoSuchField z
deriving (Eq, Ord, Show, Data, Typeable)
-- | The JSON value was expected to be an object but it wasn't.
data ExpectedObject j =
ExpectedObject j
deriving (Eq, Ord, Show, Data, Typeable)
-- | The JSON value was expected to be an array but it wasn't.
data ExpectedArray j =
ExpectedArray j
deriving (Eq, Ord, Show, Data, Typeable)
-- | The JSON value was expected to be a boolean but it wasn't.
data ExpectedBool j =
ExpectedBool j
deriving (Eq, Ord, Show, Data, Typeable)
-- | The JSON value was expected to be a number but it wasn't.
data ExpectedNumber j =
ExpectedNumber j
deriving (Eq, Ord, Show, Data, Typeable)
-- | The JSON value was expected to be a string but it wasn't.
data ExpectedString j =
ExpectedString j
deriving (Eq, Ord, Show, Data, Typeable)