{-# LANGUAGE NoImplicitPrelude #-}
module Data.Morpheus.Server.Internal.TH.Types
( ServerTypeDefinition (..),
ServerDec,
ServerDecContext (..),
)
where
import Control.Monad.Reader (Reader)
import Data.Morpheus.Types.Internal.AST
( ANY,
ConsD (..),
IN,
TypeDefinition,
TypeKind,
TypeName,
)
import Prelude
( Bool,
Maybe,
Show,
)
data ServerTypeDefinition cat s = ServerTypeDefinition
{ ServerTypeDefinition cat s -> TypeName
tName :: TypeName,
ServerTypeDefinition cat s -> [ServerTypeDefinition IN s]
typeArgD :: [ServerTypeDefinition IN s],
ServerTypeDefinition cat s -> [ConsD cat s]
tCons :: [ConsD cat s],
ServerTypeDefinition cat s -> TypeKind
tKind :: TypeKind,
ServerTypeDefinition cat s -> Maybe (TypeDefinition ANY s)
typeOriginal :: Maybe (TypeDefinition ANY s)
}
deriving (Int -> ServerTypeDefinition cat s -> ShowS
[ServerTypeDefinition cat s] -> ShowS
ServerTypeDefinition cat s -> String
(Int -> ServerTypeDefinition cat s -> ShowS)
-> (ServerTypeDefinition cat s -> String)
-> ([ServerTypeDefinition cat s] -> ShowS)
-> Show (ServerTypeDefinition cat s)
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
forall (cat :: TypeCategory) (s :: Stage).
Int -> ServerTypeDefinition cat s -> ShowS
forall (cat :: TypeCategory) (s :: Stage).
[ServerTypeDefinition cat s] -> ShowS
forall (cat :: TypeCategory) (s :: Stage).
ServerTypeDefinition cat s -> String
showList :: [ServerTypeDefinition cat s] -> ShowS
$cshowList :: forall (cat :: TypeCategory) (s :: Stage).
[ServerTypeDefinition cat s] -> ShowS
show :: ServerTypeDefinition cat s -> String
$cshow :: forall (cat :: TypeCategory) (s :: Stage).
ServerTypeDefinition cat s -> String
showsPrec :: Int -> ServerTypeDefinition cat s -> ShowS
$cshowsPrec :: forall (cat :: TypeCategory) (s :: Stage).
Int -> ServerTypeDefinition cat s -> ShowS
Show)
type ServerDec = Reader ServerDecContext
newtype ServerDecContext = ServerDecContext
{ ServerDecContext -> Bool
namespace :: Bool
}