hydra-ext-0.17.4: src/main/haskell/Hydra/Graphql/Syntax.hs
-- Note: this is an automatically generated file. Do not edit.
-- | A GraphQL model. Based on the (extended) BNF at:
-- | https://spec.graphql.org/draft/#sec-Appendix-Grammar-Summary
module Hydra.Graphql.Syntax where
import qualified Hydra.Core as Core
import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, map, pure, sum)
import qualified Data.Scientific as Sci
-- | A GraphQL field alias, immediately followed by a colon.
data Alias =
AliasName Name |
AliasColon
deriving (Eq, Ord, Read, Show)
_Alias = Core.Name "hydra.graphql.syntax.Alias"
_Alias_Name = Core.Name "Name"
_Alias_Colon = Core.Name "Colon"
-- | A single GraphQL argument, consisting of a name and a value.
data Argument =
Argument {
argumentName :: Name,
argumentValue :: Value}
deriving (Eq, Ord, Read, Show)
_Argument = Core.Name "hydra.graphql.syntax.Argument"
_Argument_Name = Core.Name "Name"
_Argument_Value = Core.Name "Value"
-- | A parenthesized list of GraphQL arguments.
newtype Arguments =
Arguments {
unArguments :: [Argument]}
deriving (Eq, Ord, Read, Show)
_Arguments = Core.Name "hydra.graphql.syntax.Arguments"
-- | A parenthesized list of GraphQL input value definitions for a field's arguments.
newtype ArgumentsDefinition =
ArgumentsDefinition {
unArgumentsDefinition :: [InputValueDefinition]}
deriving (Eq, Ord, Read, Show)
_ArgumentsDefinition = Core.Name "hydra.graphql.syntax.ArgumentsDefinition"
-- | A GraphQL boolean literal, either true or false.
data BooleanValue =
BooleanValueTrue |
BooleanValueFalse
deriving (Eq, Ord, Read, Show)
_BooleanValue = Core.Name "hydra.graphql.syntax.BooleanValue"
_BooleanValue_True = Core.Name "True"
_BooleanValue_False = Core.Name "False"
-- | A default value for a GraphQL variable or input field, introduced by an equals sign.
newtype DefaultValue =
DefaultValue {
unDefaultValue :: Value}
deriving (Eq, Ord, Read, Show)
_DefaultValue = Core.Name "hydra.graphql.syntax.DefaultValue"
-- | A top-level GraphQL definition, either executable or part of the type system.
data Definition =
DefinitionExecutable ExecutableDefinition |
DefinitionTypeSystem TypeSystemDefinitionOrExtension
deriving (Eq, Ord, Read, Show)
_Definition = Core.Name "hydra.graphql.syntax.Definition"
_Definition_executable = Core.Name "executable"
_Definition_typeSystem = Core.Name "typeSystem"
-- | An optional string description preceding a GraphQL type system definition.
newtype Description =
Description {
unDescription :: StringValue}
deriving (Eq, Ord, Read, Show)
_Description = Core.Name "hydra.graphql.syntax.Description"
-- | A single GraphQL directive, consisting of a name and optional arguments.
data Directive =
Directive {
directiveName :: Name,
directiveArguments :: (Maybe Arguments)}
deriving (Eq, Ord, Read, Show)
_Directive = Core.Name "hydra.graphql.syntax.Directive"
_Directive_Name = Core.Name "Name"
_Directive_Arguments = Core.Name "Arguments"
-- | A GraphQL directive definition, giving its name, arguments, repeatability, and locations.
data DirectiveDefinition =
DirectiveDefinition {
directiveDefinitionDescription :: (Maybe Description),
directiveDefinitionName :: Name,
directiveDefinitionArgumentsDefinition :: (Maybe ArgumentsDefinition),
directiveDefinitionRepeatable :: (Maybe ()),
directiveDefinitionDirectiveLocations :: DirectiveLocations}
deriving (Eq, Ord, Read, Show)
_DirectiveDefinition = Core.Name "hydra.graphql.syntax.DirectiveDefinition"
_DirectiveDefinition_Description = Core.Name "Description"
_DirectiveDefinition_Name = Core.Name "Name"
_DirectiveDefinition_ArgumentsDefinition = Core.Name "ArgumentsDefinition"
_DirectiveDefinition_Repeatable = Core.Name "Repeatable"
_DirectiveDefinition_DirectiveLocations = Core.Name "DirectiveLocations"
-- | A location at which a GraphQL directive may be applied, either executable or type-system.
data DirectiveLocation =
DirectiveLocationExecutable ExecutableDirectiveLocation |
DirectiveLocationTypeSystem TypeSystemDirectiveLocation
deriving (Eq, Ord, Read, Show)
_DirectiveLocation = Core.Name "hydra.graphql.syntax.DirectiveLocation"
_DirectiveLocation_executable = Core.Name "executable"
_DirectiveLocation_typeSystem = Core.Name "typeSystem"
-- | A pipe-separated list of GraphQL directive locations.
data DirectiveLocations =
DirectiveLocationsSeq DirectiveLocationsSequence |
DirectiveLocationsSeq2 DirectiveLocationsSequence2
deriving (Eq, Ord, Read, Show)
_DirectiveLocations = Core.Name "hydra.graphql.syntax.DirectiveLocations"
_DirectiveLocations_seq = Core.Name "seq"
_DirectiveLocations_seq2 = Core.Name "seq2"
-- | A non-empty DirectiveLocations sequence with a leading list of locations.
data DirectiveLocationsSequence =
DirectiveLocationsSequence {
directiveLocationsSequenceDirectiveLocations :: DirectiveLocations,
directiveLocationsSequenceDirectiveLocation :: DirectiveLocation}
deriving (Eq, Ord, Read, Show)
_DirectiveLocationsSequence = Core.Name "hydra.graphql.syntax.DirectiveLocationsSequence"
_DirectiveLocationsSequence_DirectiveLocations = Core.Name "DirectiveLocations"
_DirectiveLocationsSequence_DirectiveLocation = Core.Name "DirectiveLocation"
-- | The base case of a DirectiveLocations sequence: a single, optionally pipe-prefixed location.
data DirectiveLocationsSequence2 =
DirectiveLocationsSequence2 {
directiveLocationsSequence2Or :: (Maybe ()),
directiveLocationsSequence2DirectiveLocation :: DirectiveLocation}
deriving (Eq, Ord, Read, Show)
_DirectiveLocationsSequence2 = Core.Name "hydra.graphql.syntax.DirectiveLocationsSequence2"
_DirectiveLocationsSequence2_Or = Core.Name "Or"
_DirectiveLocationsSequence2_DirectiveLocation = Core.Name "DirectiveLocation"
-- | A list of GraphQL directives applied to a definition or selection.
newtype Directives =
Directives {
unDirectives :: [Directive]}
deriving (Eq, Ord, Read, Show)
_Directives = Core.Name "hydra.graphql.syntax.Directives"
-- | A GraphQL document, consisting of a list of definitions.
newtype Document =
Document {
unDocument :: [Definition]}
deriving (Eq, Ord, Read, Show)
_Document = Core.Name "hydra.graphql.syntax.Document"
-- | A GraphQL enum type definition, giving its name, directives, and enum values.
data EnumTypeDefinition =
EnumTypeDefinition {
enumTypeDefinitionDescription :: (Maybe Description),
enumTypeDefinitionName :: Name,
enumTypeDefinitionDirectives :: (Maybe Directives),
enumTypeDefinitionEnumValuesDefinition :: (Maybe EnumValuesDefinition)}
deriving (Eq, Ord, Read, Show)
_EnumTypeDefinition = Core.Name "hydra.graphql.syntax.EnumTypeDefinition"
_EnumTypeDefinition_Description = Core.Name "Description"
_EnumTypeDefinition_Name = Core.Name "Name"
_EnumTypeDefinition_Directives = Core.Name "Directives"
_EnumTypeDefinition_EnumValuesDefinition = Core.Name "EnumValuesDefinition"
-- | An extension of a GraphQL enum type, either adding enum values or only directives.
data EnumTypeExtension =
EnumTypeExtensionSeq EnumTypeExtensionSequence |
EnumTypeExtensionSeq2 EnumTypeExtensionSequence2
deriving (Eq, Ord, Read, Show)
_EnumTypeExtension = Core.Name "hydra.graphql.syntax.EnumTypeExtension"
_EnumTypeExtension_seq = Core.Name "seq"
_EnumTypeExtension_seq2 = Core.Name "seq2"
-- | An enum type extension that adds new enum values, with optional directives.
data EnumTypeExtensionSequence =
EnumTypeExtensionSequence {
enumTypeExtensionSequenceName :: Name,
enumTypeExtensionSequenceDirectives :: (Maybe Directives),
enumTypeExtensionSequenceEnumValuesDefinition :: EnumValuesDefinition}
deriving (Eq, Ord, Read, Show)
_EnumTypeExtensionSequence = Core.Name "hydra.graphql.syntax.EnumTypeExtensionSequence"
_EnumTypeExtensionSequence_Name = Core.Name "Name"
_EnumTypeExtensionSequence_Directives = Core.Name "Directives"
_EnumTypeExtensionSequence_EnumValuesDefinition = Core.Name "EnumValuesDefinition"
-- | An enum type extension consisting of directives only, with no new enum values.
data EnumTypeExtensionSequence2 =
EnumTypeExtensionSequence2 {
enumTypeExtensionSequence2Name :: Name,
enumTypeExtensionSequence2Directives :: Directives}
deriving (Eq, Ord, Read, Show)
_EnumTypeExtensionSequence2 = Core.Name "hydra.graphql.syntax.EnumTypeExtensionSequence2"
_EnumTypeExtensionSequence2_Name = Core.Name "Name"
_EnumTypeExtensionSequence2_Directives = Core.Name "Directives"
-- | A GraphQL enum value, represented as a name (excluding true, false, and null).
newtype EnumValue =
EnumValue {
unEnumValue :: Name}
deriving (Eq, Ord, Read, Show)
_EnumValue = Core.Name "hydra.graphql.syntax.EnumValue"
-- | A single value definition within a GraphQL enum type, with optional description and directives.
data EnumValueDefinition =
EnumValueDefinition {
enumValueDefinitionDescription :: (Maybe Description),
enumValueDefinitionEnumValue :: EnumValue,
enumValueDefinitionDirectives :: (Maybe Directives)}
deriving (Eq, Ord, Read, Show)
_EnumValueDefinition = Core.Name "hydra.graphql.syntax.EnumValueDefinition"
_EnumValueDefinition_Description = Core.Name "Description"
_EnumValueDefinition_EnumValue = Core.Name "EnumValue"
_EnumValueDefinition_Directives = Core.Name "Directives"
-- | The braced list of enum value definitions in a GraphQL enum type.
newtype EnumValuesDefinition =
EnumValuesDefinition {
unEnumValuesDefinition :: [EnumValueDefinition]}
deriving (Eq, Ord, Read, Show)
_EnumValuesDefinition = Core.Name "hydra.graphql.syntax.EnumValuesDefinition"
-- | A GraphQL executable definition, either an operation or a fragment definition.
data ExecutableDefinition =
ExecutableDefinitionOperation OperationDefinition |
ExecutableDefinitionFragment FragmentDefinition
deriving (Eq, Ord, Read, Show)
_ExecutableDefinition = Core.Name "hydra.graphql.syntax.ExecutableDefinition"
_ExecutableDefinition_operation = Core.Name "operation"
_ExecutableDefinition_fragment = Core.Name "fragment"
-- | A directive location valid on GraphQL executable definitions (queries, fields, fragments, etc.).
data ExecutableDirectiveLocation =
ExecutableDirectiveLocationQUERY |
ExecutableDirectiveLocationMUTATION |
ExecutableDirectiveLocationSUBSCRIPTION |
ExecutableDirectiveLocationFIELD |
ExecutableDirectiveLocationFRAGMENT_DEFINITION |
ExecutableDirectiveLocationFRAGMENT_SPREAD |
ExecutableDirectiveLocationINLINE_FRAGMENT |
ExecutableDirectiveLocationVARIABLE_DEFINITION
deriving (Eq, Ord, Read, Show)
_ExecutableDirectiveLocation = Core.Name "hydra.graphql.syntax.ExecutableDirectiveLocation"
_ExecutableDirectiveLocation_QUERY = Core.Name "QUERY"
_ExecutableDirectiveLocation_MUTATION = Core.Name "MUTATION"
_ExecutableDirectiveLocation_SUBSCRIPTION = Core.Name "SUBSCRIPTION"
_ExecutableDirectiveLocation_FIELD = Core.Name "FIELD"
_ExecutableDirectiveLocation_FRAGMENT_DEFINITION = Core.Name "FRAGMENT_DEFINITION"
_ExecutableDirectiveLocation_FRAGMENT_SPREAD = Core.Name "FRAGMENT_SPREAD"
_ExecutableDirectiveLocation_INLINE_FRAGMENT = Core.Name "INLINE_FRAGMENT"
_ExecutableDirectiveLocation_VARIABLE_DEFINITION = Core.Name "VARIABLE_DEFINITION"
-- | A GraphQL document consisting only of executable definitions.
newtype ExecutableDocument =
ExecutableDocument {
unExecutableDocument :: [ExecutableDefinition]}
deriving (Eq, Ord, Read, Show)
_ExecutableDocument = Core.Name "hydra.graphql.syntax.ExecutableDocument"
-- | A GraphQL field selection, with optional alias, arguments, directives, and sub-selection set.
data Field =
Field {
fieldAlias :: (Maybe Alias),
fieldName :: Name,
fieldArguments :: (Maybe Arguments),
fieldDirectives :: (Maybe Directives),
fieldSelectionSet :: (Maybe SelectionSet)}
deriving (Eq, Ord, Read, Show)
_Field = Core.Name "hydra.graphql.syntax.Field"
_Field_Alias = Core.Name "Alias"
_Field_Name = Core.Name "Name"
_Field_Arguments = Core.Name "Arguments"
_Field_Directives = Core.Name "Directives"
_Field_SelectionSet = Core.Name "SelectionSet"
-- | A field definition within a GraphQL object or interface type.
data FieldDefinition =
FieldDefinition {
fieldDefinitionDescription :: (Maybe Description),
fieldDefinitionName :: Name,
fieldDefinitionArgumentsDefinition :: (Maybe ArgumentsDefinition),
fieldDefinitionType :: Type,
fieldDefinitionDirectives :: (Maybe Directives)}
deriving (Eq, Ord, Read, Show)
_FieldDefinition = Core.Name "hydra.graphql.syntax.FieldDefinition"
_FieldDefinition_Description = Core.Name "Description"
_FieldDefinition_Name = Core.Name "Name"
_FieldDefinition_ArgumentsDefinition = Core.Name "ArgumentsDefinition"
_FieldDefinition_Type = Core.Name "Type"
_FieldDefinition_Directives = Core.Name "Directives"
-- | The braced list of field definitions in a GraphQL object or interface type.
newtype FieldsDefinition =
FieldsDefinition {
unFieldsDefinition :: [FieldDefinition]}
deriving (Eq, Ord, Read, Show)
_FieldsDefinition = Core.Name "hydra.graphql.syntax.FieldsDefinition"
-- | A GraphQL floating-point literal.
newtype FloatValue =
FloatValue {
unFloatValue :: String}
deriving (Eq, Ord, Read, Show)
_FloatValue = Core.Name "hydra.graphql.syntax.FloatValue"
-- | A GraphQL fragment definition, naming a type condition and a selection set.
data FragmentDefinition =
FragmentDefinition {
fragmentDefinitionFragmentName :: FragmentName,
fragmentDefinitionTypeCondition :: TypeCondition,
fragmentDefinitionDirectives :: (Maybe Directives),
fragmentDefinitionSelectionSet :: SelectionSet}
deriving (Eq, Ord, Read, Show)
_FragmentDefinition = Core.Name "hydra.graphql.syntax.FragmentDefinition"
_FragmentDefinition_FragmentName = Core.Name "FragmentName"
_FragmentDefinition_TypeCondition = Core.Name "TypeCondition"
_FragmentDefinition_Directives = Core.Name "Directives"
_FragmentDefinition_SelectionSet = Core.Name "SelectionSet"
-- | The name of a GraphQL fragment (any name other than "on").
newtype FragmentName =
FragmentName {
unFragmentName :: Name}
deriving (Eq, Ord, Read, Show)
_FragmentName = Core.Name "hydra.graphql.syntax.FragmentName"
-- | A GraphQL fragment spread, referencing a named fragment with optional directives.
data FragmentSpread =
FragmentSpread {
fragmentSpreadFragmentName :: FragmentName,
fragmentSpreadDirectives :: (Maybe Directives)}
deriving (Eq, Ord, Read, Show)
_FragmentSpread = Core.Name "hydra.graphql.syntax.FragmentSpread"
_FragmentSpread_FragmentName = Core.Name "FragmentName"
_FragmentSpread_Directives = Core.Name "Directives"
-- | A clause declaring the interfaces implemented by a GraphQL object or interface type.
data ImplementsInterfaces =
ImplementsInterfacesSeq ImplementsInterfacesSequence |
ImplementsInterfacesSeq2 ImplementsInterfacesSequence2
deriving (Eq, Ord, Read, Show)
_ImplementsInterfaces = Core.Name "hydra.graphql.syntax.ImplementsInterfaces"
_ImplementsInterfaces_seq = Core.Name "seq"
_ImplementsInterfaces_seq2 = Core.Name "seq2"
-- | A non-empty ImplementsInterfaces list with a leading list of interfaces.
data ImplementsInterfacesSequence =
ImplementsInterfacesSequence {
implementsInterfacesSequenceImplementsInterfaces :: ImplementsInterfaces,
implementsInterfacesSequenceNamedType :: NamedType}
deriving (Eq, Ord, Read, Show)
_ImplementsInterfacesSequence = Core.Name "hydra.graphql.syntax.ImplementsInterfacesSequence"
_ImplementsInterfacesSequence_ImplementsInterfaces = Core.Name "ImplementsInterfaces"
_ImplementsInterfacesSequence_NamedType = Core.Name "NamedType"
-- | The base case of an ImplementsInterfaces list: a single, optionally ampersand-prefixed interface.
data ImplementsInterfacesSequence2 =
ImplementsInterfacesSequence2 {
implementsInterfacesSequence2Amp :: (Maybe ()),
implementsInterfacesSequence2NamedType :: NamedType}
deriving (Eq, Ord, Read, Show)
_ImplementsInterfacesSequence2 = Core.Name "hydra.graphql.syntax.ImplementsInterfacesSequence2"
_ImplementsInterfacesSequence2_Amp = Core.Name "Amp"
_ImplementsInterfacesSequence2_NamedType = Core.Name "NamedType"
-- | A GraphQL inline fragment, with optional type condition, directives, and a selection set.
data InlineFragment =
InlineFragment {
inlineFragmentTypeCondition :: (Maybe TypeCondition),
inlineFragmentDirectives :: (Maybe Directives),
inlineFragmentSelectionSet :: SelectionSet}
deriving (Eq, Ord, Read, Show)
_InlineFragment = Core.Name "hydra.graphql.syntax.InlineFragment"
_InlineFragment_TypeCondition = Core.Name "TypeCondition"
_InlineFragment_Directives = Core.Name "Directives"
_InlineFragment_SelectionSet = Core.Name "SelectionSet"
-- | The braced list of input field definitions in a GraphQL input object type.
newtype InputFieldsDefinition =
InputFieldsDefinition {
unInputFieldsDefinition :: [InputValueDefinition]}
deriving (Eq, Ord, Read, Show)
_InputFieldsDefinition = Core.Name "hydra.graphql.syntax.InputFieldsDefinition"
-- | A GraphQL input object type definition, either with or without input fields.
data InputObjectTypeDefinition =
InputObjectTypeDefinitionSeq InputObjectTypeDefinitionSequence |
InputObjectTypeDefinitionSeq2 InputObjectTypeDefinitionSequence2
deriving (Eq, Ord, Read, Show)
_InputObjectTypeDefinition = Core.Name "hydra.graphql.syntax.InputObjectTypeDefinition"
_InputObjectTypeDefinition_seq = Core.Name "seq"
_InputObjectTypeDefinition_seq2 = Core.Name "seq2"
-- | An input object type definition that includes an input fields definition.
data InputObjectTypeDefinitionSequence =
InputObjectTypeDefinitionSequence {
inputObjectTypeDefinitionSequenceDescription :: (Maybe Description),
inputObjectTypeDefinitionSequenceName :: Name,
inputObjectTypeDefinitionSequenceDirectives :: (Maybe Directives),
inputObjectTypeDefinitionSequenceInputFieldsDefinition :: InputFieldsDefinition}
deriving (Eq, Ord, Read, Show)
_InputObjectTypeDefinitionSequence = Core.Name "hydra.graphql.syntax.InputObjectTypeDefinitionSequence"
_InputObjectTypeDefinitionSequence_Description = Core.Name "Description"
_InputObjectTypeDefinitionSequence_Name = Core.Name "Name"
_InputObjectTypeDefinitionSequence_Directives = Core.Name "Directives"
_InputObjectTypeDefinitionSequence_InputFieldsDefinition = Core.Name "InputFieldsDefinition"
-- | An input object type definition with no input fields definition.
data InputObjectTypeDefinitionSequence2 =
InputObjectTypeDefinitionSequence2 {
inputObjectTypeDefinitionSequence2Description :: (Maybe Description),
inputObjectTypeDefinitionSequence2Name :: Name,
inputObjectTypeDefinitionSequence2Directives :: (Maybe Directives)}
deriving (Eq, Ord, Read, Show)
_InputObjectTypeDefinitionSequence2 = Core.Name "hydra.graphql.syntax.InputObjectTypeDefinitionSequence2"
_InputObjectTypeDefinitionSequence2_Description = Core.Name "Description"
_InputObjectTypeDefinitionSequence2_Name = Core.Name "Name"
_InputObjectTypeDefinitionSequence2_Directives = Core.Name "Directives"
-- | An extension of a GraphQL input object type, either with or without input fields.
data InputObjectTypeExtension =
InputObjectTypeExtensionSeq InputObjectTypeExtensionSequence |
InputObjectTypeExtensionSeq2 InputObjectTypeExtensionSequence2
deriving (Eq, Ord, Read, Show)
_InputObjectTypeExtension = Core.Name "hydra.graphql.syntax.InputObjectTypeExtension"
_InputObjectTypeExtension_seq = Core.Name "seq"
_InputObjectTypeExtension_seq2 = Core.Name "seq2"
-- | An input object type extension that adds an input fields definition.
data InputObjectTypeExtensionSequence =
InputObjectTypeExtensionSequence {
inputObjectTypeExtensionSequenceName :: Name,
inputObjectTypeExtensionSequenceDirectives :: (Maybe Directives),
inputObjectTypeExtensionSequenceInputFieldsDefinition :: InputFieldsDefinition}
deriving (Eq, Ord, Read, Show)
_InputObjectTypeExtensionSequence = Core.Name "hydra.graphql.syntax.InputObjectTypeExtensionSequence"
_InputObjectTypeExtensionSequence_Name = Core.Name "Name"
_InputObjectTypeExtensionSequence_Directives = Core.Name "Directives"
_InputObjectTypeExtensionSequence_InputFieldsDefinition = Core.Name "InputFieldsDefinition"
-- | An input object type extension consisting of directives only.
data InputObjectTypeExtensionSequence2 =
InputObjectTypeExtensionSequence2 {
inputObjectTypeExtensionSequence2Name :: Name,
inputObjectTypeExtensionSequence2Directives :: Directives}
deriving (Eq, Ord, Read, Show)
_InputObjectTypeExtensionSequence2 = Core.Name "hydra.graphql.syntax.InputObjectTypeExtensionSequence2"
_InputObjectTypeExtensionSequence2_Name = Core.Name "Name"
_InputObjectTypeExtensionSequence2_Directives = Core.Name "Directives"
-- | A single input value definition, used for field arguments and input object fields.
data InputValueDefinition =
InputValueDefinition {
inputValueDefinitionDescription :: (Maybe Description),
inputValueDefinitionName :: Name,
inputValueDefinitionType :: Type,
inputValueDefinitionDefaultValue :: (Maybe DefaultValue),
inputValueDefinitionDirectives :: (Maybe Directives)}
deriving (Eq, Ord, Read, Show)
_InputValueDefinition = Core.Name "hydra.graphql.syntax.InputValueDefinition"
_InputValueDefinition_Description = Core.Name "Description"
_InputValueDefinition_Name = Core.Name "Name"
_InputValueDefinition_Type = Core.Name "Type"
_InputValueDefinition_DefaultValue = Core.Name "DefaultValue"
_InputValueDefinition_Directives = Core.Name "Directives"
-- | A GraphQL integer literal.
newtype IntValue =
IntValue {
unIntValue :: String}
deriving (Eq, Ord, Read, Show)
_IntValue = Core.Name "hydra.graphql.syntax.IntValue"
-- | A GraphQL interface type definition, either with or without a fields definition.
data InterfaceTypeDefinition =
InterfaceTypeDefinitionSeq InterfaceTypeDefinitionSequence |
InterfaceTypeDefinitionSeq2 InterfaceTypeDefinitionSequence2
deriving (Eq, Ord, Read, Show)
_InterfaceTypeDefinition = Core.Name "hydra.graphql.syntax.InterfaceTypeDefinition"
_InterfaceTypeDefinition_seq = Core.Name "seq"
_InterfaceTypeDefinition_seq2 = Core.Name "seq2"
-- | An interface type definition that includes a fields definition.
data InterfaceTypeDefinitionSequence =
InterfaceTypeDefinitionSequence {
interfaceTypeDefinitionSequenceDescription :: (Maybe Description),
interfaceTypeDefinitionSequenceName :: Name,
interfaceTypeDefinitionSequenceImplementsInterfaces :: (Maybe ImplementsInterfaces),
interfaceTypeDefinitionSequenceDirectives :: (Maybe Directives),
interfaceTypeDefinitionSequenceFieldsDefinition :: FieldsDefinition}
deriving (Eq, Ord, Read, Show)
_InterfaceTypeDefinitionSequence = Core.Name "hydra.graphql.syntax.InterfaceTypeDefinitionSequence"
_InterfaceTypeDefinitionSequence_Description = Core.Name "Description"
_InterfaceTypeDefinitionSequence_Name = Core.Name "Name"
_InterfaceTypeDefinitionSequence_ImplementsInterfaces = Core.Name "ImplementsInterfaces"
_InterfaceTypeDefinitionSequence_Directives = Core.Name "Directives"
_InterfaceTypeDefinitionSequence_FieldsDefinition = Core.Name "FieldsDefinition"
-- | An interface type definition with no fields definition.
data InterfaceTypeDefinitionSequence2 =
InterfaceTypeDefinitionSequence2 {
interfaceTypeDefinitionSequence2Description :: (Maybe Description),
interfaceTypeDefinitionSequence2Name :: Name,
interfaceTypeDefinitionSequence2ImplementsInterfaces :: ImplementsInterfaces,
interfaceTypeDefinitionSequence2Directives :: (Maybe Directives)}
deriving (Eq, Ord, Read, Show)
_InterfaceTypeDefinitionSequence2 = Core.Name "hydra.graphql.syntax.InterfaceTypeDefinitionSequence2"
_InterfaceTypeDefinitionSequence2_Description = Core.Name "Description"
_InterfaceTypeDefinitionSequence2_Name = Core.Name "Name"
_InterfaceTypeDefinitionSequence2_ImplementsInterfaces = Core.Name "ImplementsInterfaces"
_InterfaceTypeDefinitionSequence2_Directives = Core.Name "Directives"
-- | An extension of a GraphQL interface type, in one of three forms.
data InterfaceTypeExtension =
InterfaceTypeExtensionSeq InterfaceTypeExtensionSequence |
InterfaceTypeExtensionSeq2 InterfaceTypeExtensionSequence2 |
InterfaceTypeExtensionSeq3 InterfaceTypeExtensionSequence3
deriving (Eq, Ord, Read, Show)
_InterfaceTypeExtension = Core.Name "hydra.graphql.syntax.InterfaceTypeExtension"
_InterfaceTypeExtension_seq = Core.Name "seq"
_InterfaceTypeExtension_seq2 = Core.Name "seq2"
_InterfaceTypeExtension_seq3 = Core.Name "seq3"
-- | An interface type extension that adds a fields definition.
data InterfaceTypeExtensionSequence =
InterfaceTypeExtensionSequence {
interfaceTypeExtensionSequenceName :: Name,
interfaceTypeExtensionSequenceImplementsInterfaces :: (Maybe ImplementsInterfaces),
interfaceTypeExtensionSequenceDirectives :: (Maybe Directives),
interfaceTypeExtensionSequenceFieldsDefinition :: FieldsDefinition}
deriving (Eq, Ord, Read, Show)
_InterfaceTypeExtensionSequence = Core.Name "hydra.graphql.syntax.InterfaceTypeExtensionSequence"
_InterfaceTypeExtensionSequence_Name = Core.Name "Name"
_InterfaceTypeExtensionSequence_ImplementsInterfaces = Core.Name "ImplementsInterfaces"
_InterfaceTypeExtensionSequence_Directives = Core.Name "Directives"
_InterfaceTypeExtensionSequence_FieldsDefinition = Core.Name "FieldsDefinition"
-- | An interface type extension that adds directives but no fields definition.
data InterfaceTypeExtensionSequence2 =
InterfaceTypeExtensionSequence2 {
interfaceTypeExtensionSequence2Name :: Name,
interfaceTypeExtensionSequence2ImplementsInterfaces :: (Maybe ImplementsInterfaces),
interfaceTypeExtensionSequence2Directives :: Directives}
deriving (Eq, Ord, Read, Show)
_InterfaceTypeExtensionSequence2 = Core.Name "hydra.graphql.syntax.InterfaceTypeExtensionSequence2"
_InterfaceTypeExtensionSequence2_Name = Core.Name "Name"
_InterfaceTypeExtensionSequence2_ImplementsInterfaces = Core.Name "ImplementsInterfaces"
_InterfaceTypeExtensionSequence2_Directives = Core.Name "Directives"
-- | An interface type extension that adds only implemented interfaces.
data InterfaceTypeExtensionSequence3 =
InterfaceTypeExtensionSequence3 {
interfaceTypeExtensionSequence3Name :: Name,
interfaceTypeExtensionSequence3ImplementsInterfaces :: ImplementsInterfaces}
deriving (Eq, Ord, Read, Show)
_InterfaceTypeExtensionSequence3 = Core.Name "hydra.graphql.syntax.InterfaceTypeExtensionSequence3"
_InterfaceTypeExtensionSequence3_Name = Core.Name "Name"
_InterfaceTypeExtensionSequence3_ImplementsInterfaces = Core.Name "ImplementsInterfaces"
-- | A GraphQL list type, wrapping an inner type in square brackets.
newtype ListType =
ListType {
unListType :: Type}
deriving (Eq, Ord, Read, Show)
_ListType = Core.Name "hydra.graphql.syntax.ListType"
-- | A GraphQL list literal, either empty or containing a sequence of values.
data ListValue =
ListValueSeq ListValueSequence |
ListValueSequence2 [Value]
deriving (Eq, Ord, Read, Show)
_ListValue = Core.Name "hydra.graphql.syntax.ListValue"
_ListValue_seq = Core.Name "seq"
_ListValue_sequence2 = Core.Name "sequence2"
-- | The empty-list form of a GraphQL ListValue.
type ListValueSequence = ()
_ListValueSequence = Core.Name "hydra.graphql.syntax.ListValueSequence"
-- | A GraphQL name: an identifier matching [_A-Za-z][_0-9A-Za-z]*.
newtype Name =
Name {
unName :: String}
deriving (Eq, Ord, Read, Show)
_Name = Core.Name "hydra.graphql.syntax.Name"
-- | A GraphQL named type, referencing a type by its name.
newtype NamedType =
NamedType {
unNamedType :: Name}
deriving (Eq, Ord, Read, Show)
_NamedType = Core.Name "hydra.graphql.syntax.NamedType"
-- | A GraphQL non-null type, wrapping a named or list type with a trailing exclamation mark.
data NonNullType =
NonNullTypeNamed NamedType |
NonNullTypeList ListType
deriving (Eq, Ord, Read, Show)
_NonNullType = Core.Name "hydra.graphql.syntax.NonNullType"
_NonNullType_named = Core.Name "named"
_NonNullType_list = Core.Name "list"
-- | The GraphQL null literal.
newtype NullValue =
NullValue {
unNullValue :: ()}
deriving (Eq, Ord, Read, Show)
_NullValue = Core.Name "hydra.graphql.syntax.NullValue"
-- | A single field of a GraphQL object literal, consisting of a name and a value.
data ObjectField =
ObjectField {
objectFieldName :: Name,
objectFieldValue :: Value}
deriving (Eq, Ord, Read, Show)
_ObjectField = Core.Name "hydra.graphql.syntax.ObjectField"
_ObjectField_Name = Core.Name "Name"
_ObjectField_Value = Core.Name "Value"
-- | A GraphQL object type definition, giving its name, interfaces, directives, and fields.
data ObjectTypeDefinition =
ObjectTypeDefinition {
objectTypeDefinitionDescription :: (Maybe Description),
objectTypeDefinitionName :: Name,
objectTypeDefinitionImplementsInterfaces :: (Maybe ImplementsInterfaces),
objectTypeDefinitionDirectives :: (Maybe Directives),
objectTypeDefinitionFieldsDefinition :: (Maybe FieldsDefinition)}
deriving (Eq, Ord, Read, Show)
_ObjectTypeDefinition = Core.Name "hydra.graphql.syntax.ObjectTypeDefinition"
_ObjectTypeDefinition_Description = Core.Name "Description"
_ObjectTypeDefinition_Name = Core.Name "Name"
_ObjectTypeDefinition_ImplementsInterfaces = Core.Name "ImplementsInterfaces"
_ObjectTypeDefinition_Directives = Core.Name "Directives"
_ObjectTypeDefinition_FieldsDefinition = Core.Name "FieldsDefinition"
-- | An extension of a GraphQL object type, in one of three forms.
data ObjectTypeExtension =
ObjectTypeExtensionSeq ObjectTypeExtensionSequence |
ObjectTypeExtensionSeq2 ObjectTypeExtensionSequence2 |
ObjectTypeExtensionSeq3 ObjectTypeExtensionSequence3
deriving (Eq, Ord, Read, Show)
_ObjectTypeExtension = Core.Name "hydra.graphql.syntax.ObjectTypeExtension"
_ObjectTypeExtension_seq = Core.Name "seq"
_ObjectTypeExtension_seq2 = Core.Name "seq2"
_ObjectTypeExtension_seq3 = Core.Name "seq3"
-- | An object type extension that adds a fields definition.
data ObjectTypeExtensionSequence =
ObjectTypeExtensionSequence {
objectTypeExtensionSequenceName :: Name,
objectTypeExtensionSequenceImplementsInterfaces :: (Maybe ImplementsInterfaces),
objectTypeExtensionSequenceDirectives :: (Maybe Directives),
objectTypeExtensionSequenceFieldsDefinition :: FieldsDefinition}
deriving (Eq, Ord, Read, Show)
_ObjectTypeExtensionSequence = Core.Name "hydra.graphql.syntax.ObjectTypeExtensionSequence"
_ObjectTypeExtensionSequence_Name = Core.Name "Name"
_ObjectTypeExtensionSequence_ImplementsInterfaces = Core.Name "ImplementsInterfaces"
_ObjectTypeExtensionSequence_Directives = Core.Name "Directives"
_ObjectTypeExtensionSequence_FieldsDefinition = Core.Name "FieldsDefinition"
-- | An object type extension that adds directives but no fields definition.
data ObjectTypeExtensionSequence2 =
ObjectTypeExtensionSequence2 {
objectTypeExtensionSequence2Name :: Name,
objectTypeExtensionSequence2ImplementsInterfaces :: (Maybe ImplementsInterfaces),
objectTypeExtensionSequence2Directives :: (Maybe Directives)}
deriving (Eq, Ord, Read, Show)
_ObjectTypeExtensionSequence2 = Core.Name "hydra.graphql.syntax.ObjectTypeExtensionSequence2"
_ObjectTypeExtensionSequence2_Name = Core.Name "Name"
_ObjectTypeExtensionSequence2_ImplementsInterfaces = Core.Name "ImplementsInterfaces"
_ObjectTypeExtensionSequence2_Directives = Core.Name "Directives"
-- | An object type extension that adds only implemented interfaces.
data ObjectTypeExtensionSequence3 =
ObjectTypeExtensionSequence3 {
objectTypeExtensionSequence3Name :: Name,
objectTypeExtensionSequence3ImplementsInterfaces :: ImplementsInterfaces}
deriving (Eq, Ord, Read, Show)
_ObjectTypeExtensionSequence3 = Core.Name "hydra.graphql.syntax.ObjectTypeExtensionSequence3"
_ObjectTypeExtensionSequence3_Name = Core.Name "Name"
_ObjectTypeExtensionSequence3_ImplementsInterfaces = Core.Name "ImplementsInterfaces"
-- | A GraphQL object literal, either empty or containing a sequence of object fields.
data ObjectValue =
ObjectValueSeq ObjectValueSequence |
ObjectValueSequence2 [ObjectField]
deriving (Eq, Ord, Read, Show)
_ObjectValue = Core.Name "hydra.graphql.syntax.ObjectValue"
_ObjectValue_seq = Core.Name "seq"
_ObjectValue_sequence2 = Core.Name "sequence2"
-- | The empty-object form of a GraphQL ObjectValue.
type ObjectValueSequence = ()
_ObjectValueSequence = Core.Name "hydra.graphql.syntax.ObjectValueSequence"
-- | A GraphQL operation definition, either a shorthand query or an explicit operation.
data OperationDefinition =
OperationDefinitionSeq OperationDefinitionSequence |
OperationDefinitionSelectionSet SelectionSet
deriving (Eq, Ord, Read, Show)
_OperationDefinition = Core.Name "hydra.graphql.syntax.OperationDefinition"
_OperationDefinition_seq = Core.Name "seq"
_OperationDefinition_SelectionSet = Core.Name "SelectionSet"
-- | An explicit GraphQL operation definition with a type, optional name, variables, and directives.
data OperationDefinitionSequence =
OperationDefinitionSequence {
operationDefinitionSequenceOperationType :: OperationType,
operationDefinitionSequenceName :: (Maybe Name),
operationDefinitionSequenceVariablesDefinition :: (Maybe VariablesDefinition),
operationDefinitionSequenceDirectives :: (Maybe Directives),
operationDefinitionSequenceSelectionSet :: SelectionSet}
deriving (Eq, Ord, Read, Show)
_OperationDefinitionSequence = Core.Name "hydra.graphql.syntax.OperationDefinitionSequence"
_OperationDefinitionSequence_OperationType = Core.Name "OperationType"
_OperationDefinitionSequence_Name = Core.Name "Name"
_OperationDefinitionSequence_VariablesDefinition = Core.Name "VariablesDefinition"
_OperationDefinitionSequence_Directives = Core.Name "Directives"
_OperationDefinitionSequence_SelectionSet = Core.Name "SelectionSet"
-- | The type of a GraphQL operation: query, mutation, or subscription.
data OperationType =
OperationTypeQuery |
OperationTypeMutation |
OperationTypeSubscription
deriving (Eq, Ord, Read, Show)
_OperationType = Core.Name "hydra.graphql.syntax.OperationType"
_OperationType_Query = Core.Name "Query"
_OperationType_Mutation = Core.Name "Mutation"
_OperationType_Subscription = Core.Name "Subscription"
-- | A mapping from a GraphQL operation type to its root object type.
data RootOperationTypeDefinition =
RootOperationTypeDefinition {
rootOperationTypeDefinitionOperationType :: OperationType,
rootOperationTypeDefinitionNamedType :: NamedType}
deriving (Eq, Ord, Read, Show)
_RootOperationTypeDefinition = Core.Name "hydra.graphql.syntax.RootOperationTypeDefinition"
_RootOperationTypeDefinition_OperationType = Core.Name "OperationType"
_RootOperationTypeDefinition_NamedType = Core.Name "NamedType"
-- | A GraphQL scalar type definition, with optional description and directives.
data ScalarTypeDefinition =
ScalarTypeDefinition {
scalarTypeDefinitionDescription :: (Maybe Description),
scalarTypeDefinitionName :: Name,
scalarTypeDefinitionDirectives :: (Maybe Directives)}
deriving (Eq, Ord, Read, Show)
_ScalarTypeDefinition = Core.Name "hydra.graphql.syntax.ScalarTypeDefinition"
_ScalarTypeDefinition_Description = Core.Name "Description"
_ScalarTypeDefinition_Name = Core.Name "Name"
_ScalarTypeDefinition_Directives = Core.Name "Directives"
-- | An extension of a GraphQL scalar type, adding directives.
data ScalarTypeExtension =
ScalarTypeExtension {
scalarTypeExtensionName :: Name,
scalarTypeExtensionDirectives :: Directives}
deriving (Eq, Ord, Read, Show)
_ScalarTypeExtension = Core.Name "hydra.graphql.syntax.ScalarTypeExtension"
_ScalarTypeExtension_Name = Core.Name "Name"
_ScalarTypeExtension_Directives = Core.Name "Directives"
-- | A GraphQL schema definition, declaring its root operation types.
data SchemaDefinition =
SchemaDefinition {
schemaDefinitionDescription :: (Maybe Description),
schemaDefinitionDirectives :: (Maybe Directives),
schemaDefinitionRootOperationTypeDefinition :: RootOperationTypeDefinition}
deriving (Eq, Ord, Read, Show)
_SchemaDefinition = Core.Name "hydra.graphql.syntax.SchemaDefinition"
_SchemaDefinition_Description = Core.Name "Description"
_SchemaDefinition_Directives = Core.Name "Directives"
_SchemaDefinition_RootOperationTypeDefinition = Core.Name "RootOperationTypeDefinition"
-- | An extension of a GraphQL schema, adding root operation types or directives.
data SchemaExtension =
SchemaExtensionSeq SchemaExtensionSequence |
SchemaExtensionSequence2 Directives
deriving (Eq, Ord, Read, Show)
_SchemaExtension = Core.Name "hydra.graphql.syntax.SchemaExtension"
_SchemaExtension_seq = Core.Name "seq"
_SchemaExtension_sequence2 = Core.Name "sequence2"
-- | A schema extension that adds a root operation type definition.
data SchemaExtensionSequence =
SchemaExtensionSequence {
schemaExtensionSequenceDirectives :: (Maybe Directives),
schemaExtensionSequenceRootOperationTypeDefinition :: RootOperationTypeDefinition}
deriving (Eq, Ord, Read, Show)
_SchemaExtensionSequence = Core.Name "hydra.graphql.syntax.SchemaExtensionSequence"
_SchemaExtensionSequence_Directives = Core.Name "Directives"
_SchemaExtensionSequence_RootOperationTypeDefinition = Core.Name "RootOperationTypeDefinition"
-- | A single selection within a GraphQL selection set: a field, fragment spread, or inline fragment.
data Selection =
SelectionField Field |
SelectionFragmentSpread FragmentSpread |
SelectionInlineFragment InlineFragment
deriving (Eq, Ord, Read, Show)
_Selection = Core.Name "hydra.graphql.syntax.Selection"
_Selection_Field = Core.Name "Field"
_Selection_FragmentSpread = Core.Name "FragmentSpread"
_Selection_InlineFragment = Core.Name "InlineFragment"
-- | A braced list of GraphQL selections.
newtype SelectionSet =
SelectionSet {
unSelectionSet :: [Selection]}
deriving (Eq, Ord, Read, Show)
_SelectionSet = Core.Name "hydra.graphql.syntax.SelectionSet"
-- | A GraphQL string literal.
newtype StringValue =
StringValue {
unStringValue :: String}
deriving (Eq, Ord, Read, Show)
_StringValue = Core.Name "hydra.graphql.syntax.StringValue"
-- | A GraphQL type reference: named, list, or non-null.
data Type =
TypeNamed NamedType |
TypeList ListType |
TypeNonNull NonNullType
deriving (Eq, Ord, Read, Show)
_Type = Core.Name "hydra.graphql.syntax.Type"
_Type_named = Core.Name "named"
_Type_list = Core.Name "list"
_Type_nonNull = Core.Name "nonNull"
-- | A GraphQL type condition, naming the type a fragment applies to.
data TypeCondition =
TypeConditionOn |
TypeConditionNamedType NamedType
deriving (Eq, Ord, Read, Show)
_TypeCondition = Core.Name "hydra.graphql.syntax.TypeCondition"
_TypeCondition_On = Core.Name "On"
_TypeCondition_NamedType = Core.Name "NamedType"
-- | A GraphQL type system definition for a single named type.
data TypeDefinition =
TypeDefinitionScalar ScalarTypeDefinition |
TypeDefinitionObject ObjectTypeDefinition |
TypeDefinitionInterface InterfaceTypeDefinition |
TypeDefinitionUnion UnionTypeDefinition |
TypeDefinitionEnum EnumTypeDefinition |
TypeDefinitionInputObject InputObjectTypeDefinition
deriving (Eq, Ord, Read, Show)
_TypeDefinition = Core.Name "hydra.graphql.syntax.TypeDefinition"
_TypeDefinition_scalar = Core.Name "scalar"
_TypeDefinition_object = Core.Name "object"
_TypeDefinition_interface = Core.Name "interface"
_TypeDefinition_union = Core.Name "union"
_TypeDefinition_enum = Core.Name "enum"
_TypeDefinition_inputObject = Core.Name "inputObject"
-- | An extension of a GraphQL named type.
data TypeExtension =
TypeExtensionScalar ScalarTypeExtension |
TypeExtensionObject ObjectTypeExtension |
TypeExtensionInterface InterfaceTypeExtension |
TypeExtensionUnion UnionTypeExtension |
TypeExtensionEnum EnumTypeExtension |
TypeExtensionInputObject InputObjectTypeExtension
deriving (Eq, Ord, Read, Show)
_TypeExtension = Core.Name "hydra.graphql.syntax.TypeExtension"
_TypeExtension_scalar = Core.Name "scalar"
_TypeExtension_object = Core.Name "object"
_TypeExtension_interface = Core.Name "interface"
_TypeExtension_union = Core.Name "union"
_TypeExtension_enum = Core.Name "enum"
_TypeExtension_inputObject = Core.Name "inputObject"
-- | A GraphQL type system definition: schema, type, or directive.
data TypeSystemDefinition =
TypeSystemDefinitionSchema SchemaDefinition |
TypeSystemDefinitionType TypeDefinition |
TypeSystemDefinitionDirective DirectiveDefinition
deriving (Eq, Ord, Read, Show)
_TypeSystemDefinition = Core.Name "hydra.graphql.syntax.TypeSystemDefinition"
_TypeSystemDefinition_schema = Core.Name "schema"
_TypeSystemDefinition_type = Core.Name "type"
_TypeSystemDefinition_directive = Core.Name "directive"
-- | Either a GraphQL type system definition or an extension of one.
data TypeSystemDefinitionOrExtension =
TypeSystemDefinitionOrExtensionDefinition TypeSystemDefinition |
TypeSystemDefinitionOrExtensionExtension TypeSystemExtension
deriving (Eq, Ord, Read, Show)
_TypeSystemDefinitionOrExtension = Core.Name "hydra.graphql.syntax.TypeSystemDefinitionOrExtension"
_TypeSystemDefinitionOrExtension_definition = Core.Name "definition"
_TypeSystemDefinitionOrExtension_extension = Core.Name "extension"
-- | A directive location valid on GraphQL type system definitions.
data TypeSystemDirectiveLocation =
TypeSystemDirectiveLocationSCHEMA |
TypeSystemDirectiveLocationSCALAR |
TypeSystemDirectiveLocationOBJECT |
TypeSystemDirectiveLocationFIELD_DEFINITION |
TypeSystemDirectiveLocationARGUMENT_DEFINITION |
TypeSystemDirectiveLocationINTERFACE |
TypeSystemDirectiveLocationUNION |
TypeSystemDirectiveLocationENUM |
TypeSystemDirectiveLocationENUM_VALUE |
TypeSystemDirectiveLocationINPUT_OBJECT |
TypeSystemDirectiveLocationINPUT_FIELD_DEFINITION
deriving (Eq, Ord, Read, Show)
_TypeSystemDirectiveLocation = Core.Name "hydra.graphql.syntax.TypeSystemDirectiveLocation"
_TypeSystemDirectiveLocation_SCHEMA = Core.Name "SCHEMA"
_TypeSystemDirectiveLocation_SCALAR = Core.Name "SCALAR"
_TypeSystemDirectiveLocation_OBJECT = Core.Name "OBJECT"
_TypeSystemDirectiveLocation_FIELD_DEFINITION = Core.Name "FIELD_DEFINITION"
_TypeSystemDirectiveLocation_ARGUMENT_DEFINITION = Core.Name "ARGUMENT_DEFINITION"
_TypeSystemDirectiveLocation_INTERFACE = Core.Name "INTERFACE"
_TypeSystemDirectiveLocation_UNION = Core.Name "UNION"
_TypeSystemDirectiveLocation_ENUM = Core.Name "ENUM"
_TypeSystemDirectiveLocation_ENUM_VALUE = Core.Name "ENUM_VALUE"
_TypeSystemDirectiveLocation_INPUT_OBJECT = Core.Name "INPUT_OBJECT"
_TypeSystemDirectiveLocation_INPUT_FIELD_DEFINITION = Core.Name "INPUT_FIELD_DEFINITION"
-- | A GraphQL document consisting only of type system definitions.
newtype TypeSystemDocment =
TypeSystemDocment {
unTypeSystemDocment :: [TypeSystemDefinition]}
deriving (Eq, Ord, Read, Show)
_TypeSystemDocment = Core.Name "hydra.graphql.syntax.TypeSystemDocment"
-- | An extension of a GraphQL schema or type.
data TypeSystemExtension =
TypeSystemExtensionSchema SchemaExtension |
TypeSystemExtensionType TypeExtension
deriving (Eq, Ord, Read, Show)
_TypeSystemExtension = Core.Name "hydra.graphql.syntax.TypeSystemExtension"
_TypeSystemExtension_schema = Core.Name "schema"
_TypeSystemExtension_type = Core.Name "type"
-- | A GraphQL document consisting of type system definitions and extensions.
newtype TypeSystemExtensionDocument =
TypeSystemExtensionDocument {
unTypeSystemExtensionDocument :: [TypeSystemDefinitionOrExtension]}
deriving (Eq, Ord, Read, Show)
_TypeSystemExtensionDocument = Core.Name "hydra.graphql.syntax.TypeSystemExtensionDocument"
-- | The list of member types of a GraphQL union type, introduced by an equals sign.
data UnionMemberTypes =
UnionMemberTypesSeq UnionMemberTypesSequence |
UnionMemberTypesSeq2 UnionMemberTypesSequence2
deriving (Eq, Ord, Read, Show)
_UnionMemberTypes = Core.Name "hydra.graphql.syntax.UnionMemberTypes"
_UnionMemberTypes_seq = Core.Name "seq"
_UnionMemberTypes_seq2 = Core.Name "seq2"
-- | A non-empty UnionMemberTypes list with a leading list of member types.
data UnionMemberTypesSequence =
UnionMemberTypesSequence {
unionMemberTypesSequenceUnionMemberTypes :: UnionMemberTypes,
unionMemberTypesSequenceNamedType :: NamedType}
deriving (Eq, Ord, Read, Show)
_UnionMemberTypesSequence = Core.Name "hydra.graphql.syntax.UnionMemberTypesSequence"
_UnionMemberTypesSequence_UnionMemberTypes = Core.Name "UnionMemberTypes"
_UnionMemberTypesSequence_NamedType = Core.Name "NamedType"
-- | The base case of a UnionMemberTypes list: a single, optionally pipe-prefixed member type.
data UnionMemberTypesSequence2 =
UnionMemberTypesSequence2 {
unionMemberTypesSequence2Or :: (Maybe ()),
unionMemberTypesSequence2NamedType :: NamedType}
deriving (Eq, Ord, Read, Show)
_UnionMemberTypesSequence2 = Core.Name "hydra.graphql.syntax.UnionMemberTypesSequence2"
_UnionMemberTypesSequence2_Or = Core.Name "Or"
_UnionMemberTypesSequence2_NamedType = Core.Name "NamedType"
-- | A GraphQL union type definition, giving its name, directives, and member types.
data UnionTypeDefinition =
UnionTypeDefinition {
unionTypeDefinitionDescription :: (Maybe Description),
unionTypeDefinitionName :: Name,
unionTypeDefinitionDirectives :: (Maybe Directives),
unionTypeDefinitionUnionMemberTypes :: (Maybe UnionMemberTypes)}
deriving (Eq, Ord, Read, Show)
_UnionTypeDefinition = Core.Name "hydra.graphql.syntax.UnionTypeDefinition"
_UnionTypeDefinition_Description = Core.Name "Description"
_UnionTypeDefinition_Name = Core.Name "Name"
_UnionTypeDefinition_Directives = Core.Name "Directives"
_UnionTypeDefinition_UnionMemberTypes = Core.Name "UnionMemberTypes"
-- | An extension of a GraphQL union type, either adding member types or only directives.
data UnionTypeExtension =
UnionTypeExtensionSeq UnionTypeExtensionSequence |
UnionTypeExtensionSeq2 UnionTypeExtensionSequence2
deriving (Eq, Ord, Read, Show)
_UnionTypeExtension = Core.Name "hydra.graphql.syntax.UnionTypeExtension"
_UnionTypeExtension_seq = Core.Name "seq"
_UnionTypeExtension_seq2 = Core.Name "seq2"
-- | A union type extension that adds new member types.
data UnionTypeExtensionSequence =
UnionTypeExtensionSequence {
unionTypeExtensionSequenceName :: Name,
unionTypeExtensionSequenceDirectives :: (Maybe Directives),
unionTypeExtensionSequenceUnionMemberTypes :: UnionMemberTypes}
deriving (Eq, Ord, Read, Show)
_UnionTypeExtensionSequence = Core.Name "hydra.graphql.syntax.UnionTypeExtensionSequence"
_UnionTypeExtensionSequence_Name = Core.Name "Name"
_UnionTypeExtensionSequence_Directives = Core.Name "Directives"
_UnionTypeExtensionSequence_UnionMemberTypes = Core.Name "UnionMemberTypes"
-- | A union type extension consisting of directives only.
data UnionTypeExtensionSequence2 =
UnionTypeExtensionSequence2 {
unionTypeExtensionSequence2Name :: Name,
unionTypeExtensionSequence2Directives :: Directives}
deriving (Eq, Ord, Read, Show)
_UnionTypeExtensionSequence2 = Core.Name "hydra.graphql.syntax.UnionTypeExtensionSequence2"
_UnionTypeExtensionSequence2_Name = Core.Name "Name"
_UnionTypeExtensionSequence2_Directives = Core.Name "Directives"
-- | A GraphQL value: a variable, literal, list, or object.
data Value =
ValueVariable Variable |
ValueInt IntValue |
ValueFloat FloatValue |
ValueString StringValue |
ValueBoolean BooleanValue |
ValueNull NullValue |
ValueEnum EnumValue |
ValueList ListValue |
ValueObject ObjectValue
deriving (Eq, Ord, Read, Show)
_Value = Core.Name "hydra.graphql.syntax.Value"
_Value_Variable = Core.Name "Variable"
_Value_int = Core.Name "int"
_Value_float = Core.Name "float"
_Value_string = Core.Name "string"
_Value_boolean = Core.Name "boolean"
_Value_null = Core.Name "null"
_Value_enum = Core.Name "enum"
_Value_list = Core.Name "list"
_Value_object = Core.Name "object"
-- | A GraphQL variable reference, introduced by a dollar sign.
newtype Variable =
Variable {
unVariable :: Name}
deriving (Eq, Ord, Read, Show)
_Variable = Core.Name "hydra.graphql.syntax.Variable"
-- | A single variable definition in a GraphQL operation's variable list.
data VariablesDefinition =
VariablesDefinition {
variablesDefinitionVariable :: Variable,
variablesDefinitionType :: Type,
variablesDefinitionDefaultValue :: (Maybe DefaultValue),
variablesDefinitionDirectives :: (Maybe Directives)}
deriving (Eq, Ord, Read, Show)
_VariablesDefinition = Core.Name "hydra.graphql.syntax.VariablesDefinition"
_VariablesDefinition_Variable = Core.Name "Variable"
_VariablesDefinition_Type = Core.Name "Type"
_VariablesDefinition_DefaultValue = Core.Name "DefaultValue"
_VariablesDefinition_Directives = Core.Name "Directives"