{-# LANGUAGE NoImplicitPrelude #-} module Data.Morpheus.Client.Internal.Types ( ClientTypeDefinition (..), TypeNameTH (..), ClientDefinition (..), ) where import Data.Morpheus.Types.Internal.AST ( ANY, ConsD (..), TypeKind, TypeNameTH (..), VALID, ) import Relude data ClientTypeDefinition = ClientTypeDefinition { ClientTypeDefinition -> TypeNameTH clientTypeName :: TypeNameTH, ClientTypeDefinition -> [ConsD ANY VALID] clientCons :: [ConsD ANY VALID], ClientTypeDefinition -> TypeKind clientKind :: TypeKind } deriving (Int -> ClientTypeDefinition -> ShowS [ClientTypeDefinition] -> ShowS ClientTypeDefinition -> String (Int -> ClientTypeDefinition -> ShowS) -> (ClientTypeDefinition -> String) -> ([ClientTypeDefinition] -> ShowS) -> Show ClientTypeDefinition forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [ClientTypeDefinition] -> ShowS $cshowList :: [ClientTypeDefinition] -> ShowS show :: ClientTypeDefinition -> String $cshow :: ClientTypeDefinition -> String showsPrec :: Int -> ClientTypeDefinition -> ShowS $cshowsPrec :: Int -> ClientTypeDefinition -> ShowS Show) data ClientDefinition = ClientDefinition { ClientDefinition -> Maybe ClientTypeDefinition clientArguments :: Maybe ClientTypeDefinition, ClientDefinition -> [ClientTypeDefinition] clientTypes :: [ClientTypeDefinition] } deriving (Int -> ClientDefinition -> ShowS [ClientDefinition] -> ShowS ClientDefinition -> String (Int -> ClientDefinition -> ShowS) -> (ClientDefinition -> String) -> ([ClientDefinition] -> ShowS) -> Show ClientDefinition forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [ClientDefinition] -> ShowS $cshowList :: [ClientDefinition] -> ShowS show :: ClientDefinition -> String $cshow :: ClientDefinition -> String showsPrec :: Int -> ClientDefinition -> ShowS $cshowsPrec :: Int -> ClientDefinition -> ShowS Show)