{-# LANGUAGE CPP #-} {-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE DerivingStrategies #-} module Data.Text.CaseSensitivity where import Control.DeepSeq (NFData) import Data.Hashable (Hashable) import GHC.Generics (Generic) #if defined(HAS_AESON) import Data.Aeson (FromJSON, ToJSON) #endif data CaseSensitivity = CaseSensitive | IgnoreCase deriving stock (CaseSensitivity -> CaseSensitivity -> Bool (CaseSensitivity -> CaseSensitivity -> Bool) -> (CaseSensitivity -> CaseSensitivity -> Bool) -> Eq CaseSensitivity forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: CaseSensitivity -> CaseSensitivity -> Bool $c/= :: CaseSensitivity -> CaseSensitivity -> Bool == :: CaseSensitivity -> CaseSensitivity -> Bool $c== :: CaseSensitivity -> CaseSensitivity -> Bool Eq, (forall x. CaseSensitivity -> Rep CaseSensitivity x) -> (forall x. Rep CaseSensitivity x -> CaseSensitivity) -> Generic CaseSensitivity forall x. Rep CaseSensitivity x -> CaseSensitivity forall x. CaseSensitivity -> Rep CaseSensitivity x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cto :: forall x. Rep CaseSensitivity x -> CaseSensitivity $cfrom :: forall x. CaseSensitivity -> Rep CaseSensitivity x Generic, Int -> CaseSensitivity -> ShowS [CaseSensitivity] -> ShowS CaseSensitivity -> String (Int -> CaseSensitivity -> ShowS) -> (CaseSensitivity -> String) -> ([CaseSensitivity] -> ShowS) -> Show CaseSensitivity forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [CaseSensitivity] -> ShowS $cshowList :: [CaseSensitivity] -> ShowS show :: CaseSensitivity -> String $cshow :: CaseSensitivity -> String showsPrec :: Int -> CaseSensitivity -> ShowS $cshowsPrec :: Int -> CaseSensitivity -> ShowS Show) #if defined(HAS_AESON) deriving anyclass (Eq CaseSensitivity Eq CaseSensitivity -> (Int -> CaseSensitivity -> Int) -> (CaseSensitivity -> Int) -> Hashable CaseSensitivity Int -> CaseSensitivity -> Int CaseSensitivity -> Int forall a. Eq a -> (Int -> a -> Int) -> (a -> Int) -> Hashable a hash :: CaseSensitivity -> Int $chash :: CaseSensitivity -> Int hashWithSalt :: Int -> CaseSensitivity -> Int $chashWithSalt :: Int -> CaseSensitivity -> Int $cp1Hashable :: Eq CaseSensitivity Hashable, CaseSensitivity -> () (CaseSensitivity -> ()) -> NFData CaseSensitivity forall a. (a -> ()) -> NFData a rnf :: CaseSensitivity -> () $crnf :: CaseSensitivity -> () NFData, Value -> Parser [CaseSensitivity] Value -> Parser CaseSensitivity (Value -> Parser CaseSensitivity) -> (Value -> Parser [CaseSensitivity]) -> FromJSON CaseSensitivity forall a. (Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a parseJSONList :: Value -> Parser [CaseSensitivity] $cparseJSONList :: Value -> Parser [CaseSensitivity] parseJSON :: Value -> Parser CaseSensitivity $cparseJSON :: Value -> Parser CaseSensitivity FromJSON, [CaseSensitivity] -> Encoding [CaseSensitivity] -> Value CaseSensitivity -> Encoding CaseSensitivity -> Value (CaseSensitivity -> Value) -> (CaseSensitivity -> Encoding) -> ([CaseSensitivity] -> Value) -> ([CaseSensitivity] -> Encoding) -> ToJSON CaseSensitivity forall a. (a -> Value) -> (a -> Encoding) -> ([a] -> Value) -> ([a] -> Encoding) -> ToJSON a toEncodingList :: [CaseSensitivity] -> Encoding $ctoEncodingList :: [CaseSensitivity] -> Encoding toJSONList :: [CaseSensitivity] -> Value $ctoJSONList :: [CaseSensitivity] -> Value toEncoding :: CaseSensitivity -> Encoding $ctoEncoding :: CaseSensitivity -> Encoding toJSON :: CaseSensitivity -> Value $ctoJSON :: CaseSensitivity -> Value ToJSON) #else deriving anyclass (Hashable, NFData) #endif