{-# LANGUAGE DeriveLift #-} {-# LANGUAGE NoImplicitPrelude #-} module Data.Morpheus.Types.Internal.AST.DirectiveLocation ( DirectiveLocation (..), ) where import Data.Morpheus.Types.Internal.AST.Base (Msg (..)) import Language.Haskell.TH.Syntax (Lift) import Relude hiding (Show, show) import Prelude (Show (..)) data DirectiveLocation = QUERY | MUTATION | SUBSCRIPTION | FIELD | FRAGMENT_DEFINITION | FRAGMENT_SPREAD | INLINE_FRAGMENT | SCHEMA | SCALAR | OBJECT | FIELD_DEFINITION | ARGUMENT_DEFINITION | INTERFACE | UNION | ENUM | ENUM_VALUE | INPUT_OBJECT | INPUT_FIELD_DEFINITION deriving (Int -> DirectiveLocation -> ShowS [DirectiveLocation] -> ShowS DirectiveLocation -> String (Int -> DirectiveLocation -> ShowS) -> (DirectiveLocation -> String) -> ([DirectiveLocation] -> ShowS) -> Show DirectiveLocation forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [DirectiveLocation] -> ShowS $cshowList :: [DirectiveLocation] -> ShowS show :: DirectiveLocation -> String $cshow :: DirectiveLocation -> String showsPrec :: Int -> DirectiveLocation -> ShowS $cshowsPrec :: Int -> DirectiveLocation -> ShowS Show, DirectiveLocation -> DirectiveLocation -> Bool (DirectiveLocation -> DirectiveLocation -> Bool) -> (DirectiveLocation -> DirectiveLocation -> Bool) -> Eq DirectiveLocation forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: DirectiveLocation -> DirectiveLocation -> Bool $c/= :: DirectiveLocation -> DirectiveLocation -> Bool == :: DirectiveLocation -> DirectiveLocation -> Bool $c== :: DirectiveLocation -> DirectiveLocation -> Bool Eq, DirectiveLocation -> Q Exp DirectiveLocation -> Q (TExp DirectiveLocation) (DirectiveLocation -> Q Exp) -> (DirectiveLocation -> Q (TExp DirectiveLocation)) -> Lift DirectiveLocation forall t. (t -> Q Exp) -> (t -> Q (TExp t)) -> Lift t liftTyped :: DirectiveLocation -> Q (TExp DirectiveLocation) $cliftTyped :: DirectiveLocation -> Q (TExp DirectiveLocation) lift :: DirectiveLocation -> Q Exp $clift :: DirectiveLocation -> Q Exp Lift) instance Msg DirectiveLocation where msg :: DirectiveLocation -> Message msg = String -> Message forall a. Msg a => a -> Message msg (String -> Message) -> (DirectiveLocation -> String) -> DirectiveLocation -> Message forall b c a. (b -> c) -> (a -> b) -> a -> c . DirectiveLocation -> String forall a. Show a => a -> String show