module AirGQL.GQLWrapper (
OutField (..),
outFieldToField,
InArgument (..),
inArgumentToArgument,
)
where
import Protolude (Maybe, Text)
import Language.GraphQL.Type (Value)
import Language.GraphQL.Type.In qualified as In
import Language.GraphQL.Type.Out qualified as Out
data OutField m = OutField
{ forall (m :: * -> *). OutField m -> Maybe Text
descriptionMb :: Maybe Text
, forall (m :: * -> *). OutField m -> Type m
fieldType :: Out.Type m
, forall (m :: * -> *). OutField m -> Arguments
arguments :: In.Arguments
}
outFieldToField :: OutField m -> Out.Field m
outFieldToField :: forall (m :: * -> *). OutField m -> Field m
outFieldToField OutField m
outField =
Maybe Text -> Type m -> Arguments -> Field m
forall (m :: * -> *). Maybe Text -> Type m -> Arguments -> Field m
Out.Field
OutField m
outField.descriptionMb
OutField m
outField.fieldType
OutField m
outField.arguments
data InArgument = InArgument
{ InArgument -> Maybe Text
argDescMb :: Maybe Text
, InArgument -> Type
argType :: In.Type
, InArgument -> Maybe Value
valueMb :: Maybe Value
}
inArgumentToArgument :: InArgument -> In.Argument
inArgumentToArgument :: InArgument -> Argument
inArgumentToArgument InArgument
inArgument =
Maybe Text -> Type -> Maybe Value -> Argument
In.Argument
InArgument
inArgument.argDescMb
InArgument
inArgument.argType
InArgument
inArgument.valueMb