hydra-ext-0.18.0: src/main/haskell/Hydra/Ext/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.Ext.Graphql.Syntax where
import qualified Hydra.Core.Model as Model
import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)
import qualified Data.Scientific as Sci
import Data.Void
-- | A GraphQL field alias, immediately followed by a colon.
data Alias =
AliasName Name |
AliasColon
deriving (Eq, Ord, Read, Show)
_Alias = Model.Name "hydra.ext.graphql.syntax.Alias"
_Alias_Name = Model.Name "Name"
_Alias_Colon = Model.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 = Model.Name "hydra.ext.graphql.syntax.Argument"
_Argument_Name = Model.Name "Name"
_Argument_Value = Model.Name "Value"
-- | A parenthesized list of GraphQL arguments.
newtype Arguments =
Arguments {
unArguments :: [Argument]}
deriving (Eq, Ord, Read, Show)
_Arguments = Model.Name "hydra.ext.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 = Model.Name "hydra.ext.graphql.syntax.ArgumentsDefinition"
-- | A GraphQL boolean literal, either true or false.
data BooleanValue =
BooleanValueTrue |
BooleanValueFalse
deriving (Eq, Ord, Read, Show)
_BooleanValue = Model.Name "hydra.ext.graphql.syntax.BooleanValue"
_BooleanValue_True = Model.Name "True"
_BooleanValue_False = Model.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 = Model.Name "hydra.ext.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 = Model.Name "hydra.ext.graphql.syntax.Definition"
_Definition_executable = Model.Name "executable"
_Definition_typeSystem = Model.Name "typeSystem"
-- | An optional string description preceding a GraphQL type system definition.
newtype Description =
Description {
unDescription :: StringValue}
deriving (Eq, Ord, Read, Show)
_Description = Model.Name "hydra.ext.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 = Model.Name "hydra.ext.graphql.syntax.Directive"
_Directive_Name = Model.Name "Name"
_Directive_Arguments = Model.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 = Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"
_DirectiveDefinition_Description = Model.Name "Description"
_DirectiveDefinition_Name = Model.Name "Name"
_DirectiveDefinition_ArgumentsDefinition = Model.Name "ArgumentsDefinition"
_DirectiveDefinition_Repeatable = Model.Name "Repeatable"
_DirectiveDefinition_DirectiveLocations = Model.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 = Model.Name "hydra.ext.graphql.syntax.DirectiveLocation"
_DirectiveLocation_executable = Model.Name "executable"
_DirectiveLocation_typeSystem = Model.Name "typeSystem"
-- | A pipe-separated list of GraphQL directive locations.
data DirectiveLocations =
DirectiveLocationsSeq DirectiveLocationsSequence |
DirectiveLocationsSeq2 DirectiveLocationsSequence2
deriving (Eq, Ord, Read, Show)
_DirectiveLocations = Model.Name "hydra.ext.graphql.syntax.DirectiveLocations"
_DirectiveLocations_seq = Model.Name "seq"
_DirectiveLocations_seq2 = Model.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 = Model.Name "hydra.ext.graphql.syntax.DirectiveLocationsSequence"
_DirectiveLocationsSequence_DirectiveLocations = Model.Name "DirectiveLocations"
_DirectiveLocationsSequence_DirectiveLocation = Model.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 = Model.Name "hydra.ext.graphql.syntax.DirectiveLocationsSequence2"
_DirectiveLocationsSequence2_Or = Model.Name "Or"
_DirectiveLocationsSequence2_DirectiveLocation = Model.Name "DirectiveLocation"
-- | A list of GraphQL directives applied to a definition or selection.
newtype Directives =
Directives {
unDirectives :: [Directive]}
deriving (Eq, Ord, Read, Show)
_Directives = Model.Name "hydra.ext.graphql.syntax.Directives"
-- | A GraphQL document, consisting of a list of definitions.
newtype Document =
Document {
unDocument :: [Definition]}
deriving (Eq, Ord, Read, Show)
_Document = Model.Name "hydra.ext.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 = Model.Name "hydra.ext.graphql.syntax.EnumTypeDefinition"
_EnumTypeDefinition_Description = Model.Name "Description"
_EnumTypeDefinition_Name = Model.Name "Name"
_EnumTypeDefinition_Directives = Model.Name "Directives"
_EnumTypeDefinition_EnumValuesDefinition = Model.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 = Model.Name "hydra.ext.graphql.syntax.EnumTypeExtension"
_EnumTypeExtension_seq = Model.Name "seq"
_EnumTypeExtension_seq2 = Model.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 = Model.Name "hydra.ext.graphql.syntax.EnumTypeExtensionSequence"
_EnumTypeExtensionSequence_Name = Model.Name "Name"
_EnumTypeExtensionSequence_Directives = Model.Name "Directives"
_EnumTypeExtensionSequence_EnumValuesDefinition = Model.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 = Model.Name "hydra.ext.graphql.syntax.EnumTypeExtensionSequence2"
_EnumTypeExtensionSequence2_Name = Model.Name "Name"
_EnumTypeExtensionSequence2_Directives = Model.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 = Model.Name "hydra.ext.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 = Model.Name "hydra.ext.graphql.syntax.EnumValueDefinition"
_EnumValueDefinition_Description = Model.Name "Description"
_EnumValueDefinition_EnumValue = Model.Name "EnumValue"
_EnumValueDefinition_Directives = Model.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 = Model.Name "hydra.ext.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 = Model.Name "hydra.ext.graphql.syntax.ExecutableDefinition"
_ExecutableDefinition_operation = Model.Name "operation"
_ExecutableDefinition_fragment = Model.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 = Model.Name "hydra.ext.graphql.syntax.ExecutableDirectiveLocation"
_ExecutableDirectiveLocation_QUERY = Model.Name "QUERY"
_ExecutableDirectiveLocation_MUTATION = Model.Name "MUTATION"
_ExecutableDirectiveLocation_SUBSCRIPTION = Model.Name "SUBSCRIPTION"
_ExecutableDirectiveLocation_FIELD = Model.Name "FIELD"
_ExecutableDirectiveLocation_FRAGMENT_DEFINITION = Model.Name "FRAGMENT_DEFINITION"
_ExecutableDirectiveLocation_FRAGMENT_SPREAD = Model.Name "FRAGMENT_SPREAD"
_ExecutableDirectiveLocation_INLINE_FRAGMENT = Model.Name "INLINE_FRAGMENT"
_ExecutableDirectiveLocation_VARIABLE_DEFINITION = Model.Name "VARIABLE_DEFINITION"
-- | A GraphQL document consisting only of executable definitions.
newtype ExecutableDocument =
ExecutableDocument {
unExecutableDocument :: [ExecutableDefinition]}
deriving (Eq, Ord, Read, Show)
_ExecutableDocument = Model.Name "hydra.ext.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 = Model.Name "hydra.ext.graphql.syntax.Field"
_Field_Alias = Model.Name "Alias"
_Field_Name = Model.Name "Name"
_Field_Arguments = Model.Name "Arguments"
_Field_Directives = Model.Name "Directives"
_Field_SelectionSet = Model.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 = Model.Name "hydra.ext.graphql.syntax.FieldDefinition"
_FieldDefinition_Description = Model.Name "Description"
_FieldDefinition_Name = Model.Name "Name"
_FieldDefinition_ArgumentsDefinition = Model.Name "ArgumentsDefinition"
_FieldDefinition_Type = Model.Name "Type"
_FieldDefinition_Directives = Model.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 = Model.Name "hydra.ext.graphql.syntax.FieldsDefinition"
-- | A GraphQL floating-point literal.
newtype FloatValue =
FloatValue {
unFloatValue :: String}
deriving (Eq, Ord, Read, Show)
_FloatValue = Model.Name "hydra.ext.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 = Model.Name "hydra.ext.graphql.syntax.FragmentDefinition"
_FragmentDefinition_FragmentName = Model.Name "FragmentName"
_FragmentDefinition_TypeCondition = Model.Name "TypeCondition"
_FragmentDefinition_Directives = Model.Name "Directives"
_FragmentDefinition_SelectionSet = Model.Name "SelectionSet"
-- | The name of a GraphQL fragment (any name other than "on").
newtype FragmentName =
FragmentName {
unFragmentName :: Name}
deriving (Eq, Ord, Read, Show)
_FragmentName = Model.Name "hydra.ext.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 = Model.Name "hydra.ext.graphql.syntax.FragmentSpread"
_FragmentSpread_FragmentName = Model.Name "FragmentName"
_FragmentSpread_Directives = Model.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 = Model.Name "hydra.ext.graphql.syntax.ImplementsInterfaces"
_ImplementsInterfaces_seq = Model.Name "seq"
_ImplementsInterfaces_seq2 = Model.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 = Model.Name "hydra.ext.graphql.syntax.ImplementsInterfacesSequence"
_ImplementsInterfacesSequence_ImplementsInterfaces = Model.Name "ImplementsInterfaces"
_ImplementsInterfacesSequence_NamedType = Model.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 = Model.Name "hydra.ext.graphql.syntax.ImplementsInterfacesSequence2"
_ImplementsInterfacesSequence2_Amp = Model.Name "Amp"
_ImplementsInterfacesSequence2_NamedType = Model.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 = Model.Name "hydra.ext.graphql.syntax.InlineFragment"
_InlineFragment_TypeCondition = Model.Name "TypeCondition"
_InlineFragment_Directives = Model.Name "Directives"
_InlineFragment_SelectionSet = Model.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 = Model.Name "hydra.ext.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 = Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinition"
_InputObjectTypeDefinition_seq = Model.Name "seq"
_InputObjectTypeDefinition_seq2 = Model.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 = Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence"
_InputObjectTypeDefinitionSequence_Description = Model.Name "Description"
_InputObjectTypeDefinitionSequence_Name = Model.Name "Name"
_InputObjectTypeDefinitionSequence_Directives = Model.Name "Directives"
_InputObjectTypeDefinitionSequence_InputFieldsDefinition = Model.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 = Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence2"
_InputObjectTypeDefinitionSequence2_Description = Model.Name "Description"
_InputObjectTypeDefinitionSequence2_Name = Model.Name "Name"
_InputObjectTypeDefinitionSequence2_Directives = Model.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 = Model.Name "hydra.ext.graphql.syntax.InputObjectTypeExtension"
_InputObjectTypeExtension_seq = Model.Name "seq"
_InputObjectTypeExtension_seq2 = Model.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 = Model.Name "hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence"
_InputObjectTypeExtensionSequence_Name = Model.Name "Name"
_InputObjectTypeExtensionSequence_Directives = Model.Name "Directives"
_InputObjectTypeExtensionSequence_InputFieldsDefinition = Model.Name "InputFieldsDefinition"
-- | An input object type extension consisting of directives only.
data InputObjectTypeExtensionSequence2 =
InputObjectTypeExtensionSequence2 {
inputObjectTypeExtensionSequence2Name :: Name,
inputObjectTypeExtensionSequence2Directives :: Directives}
deriving (Eq, Ord, Read, Show)
_InputObjectTypeExtensionSequence2 = Model.Name "hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence2"
_InputObjectTypeExtensionSequence2_Name = Model.Name "Name"
_InputObjectTypeExtensionSequence2_Directives = Model.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 = Model.Name "hydra.ext.graphql.syntax.InputValueDefinition"
_InputValueDefinition_Description = Model.Name "Description"
_InputValueDefinition_Name = Model.Name "Name"
_InputValueDefinition_Type = Model.Name "Type"
_InputValueDefinition_DefaultValue = Model.Name "DefaultValue"
_InputValueDefinition_Directives = Model.Name "Directives"
-- | A GraphQL integer literal.
newtype IntValue =
IntValue {
unIntValue :: String}
deriving (Eq, Ord, Read, Show)
_IntValue = Model.Name "hydra.ext.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 = Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinition"
_InterfaceTypeDefinition_seq = Model.Name "seq"
_InterfaceTypeDefinition_seq2 = Model.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 = Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"
_InterfaceTypeDefinitionSequence_Description = Model.Name "Description"
_InterfaceTypeDefinitionSequence_Name = Model.Name "Name"
_InterfaceTypeDefinitionSequence_ImplementsInterfaces = Model.Name "ImplementsInterfaces"
_InterfaceTypeDefinitionSequence_Directives = Model.Name "Directives"
_InterfaceTypeDefinitionSequence_FieldsDefinition = Model.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 = Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2"
_InterfaceTypeDefinitionSequence2_Description = Model.Name "Description"
_InterfaceTypeDefinitionSequence2_Name = Model.Name "Name"
_InterfaceTypeDefinitionSequence2_ImplementsInterfaces = Model.Name "ImplementsInterfaces"
_InterfaceTypeDefinitionSequence2_Directives = Model.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 = Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtension"
_InterfaceTypeExtension_seq = Model.Name "seq"
_InterfaceTypeExtension_seq2 = Model.Name "seq2"
_InterfaceTypeExtension_seq3 = Model.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 = Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence"
_InterfaceTypeExtensionSequence_Name = Model.Name "Name"
_InterfaceTypeExtensionSequence_ImplementsInterfaces = Model.Name "ImplementsInterfaces"
_InterfaceTypeExtensionSequence_Directives = Model.Name "Directives"
_InterfaceTypeExtensionSequence_FieldsDefinition = Model.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 = Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence2"
_InterfaceTypeExtensionSequence2_Name = Model.Name "Name"
_InterfaceTypeExtensionSequence2_ImplementsInterfaces = Model.Name "ImplementsInterfaces"
_InterfaceTypeExtensionSequence2_Directives = Model.Name "Directives"
-- | An interface type extension that adds only implemented interfaces.
data InterfaceTypeExtensionSequence3 =
InterfaceTypeExtensionSequence3 {
interfaceTypeExtensionSequence3Name :: Name,
interfaceTypeExtensionSequence3ImplementsInterfaces :: ImplementsInterfaces}
deriving (Eq, Ord, Read, Show)
_InterfaceTypeExtensionSequence3 = Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence3"
_InterfaceTypeExtensionSequence3_Name = Model.Name "Name"
_InterfaceTypeExtensionSequence3_ImplementsInterfaces = Model.Name "ImplementsInterfaces"
-- | A GraphQL list type, wrapping an inner type in square brackets.
newtype ListType =
ListType {
unListType :: Type}
deriving (Eq, Ord, Read, Show)
_ListType = Model.Name "hydra.ext.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 = Model.Name "hydra.ext.graphql.syntax.ListValue"
_ListValue_seq = Model.Name "seq"
_ListValue_sequence2 = Model.Name "sequence2"
-- | The empty-list form of a GraphQL ListValue.
type ListValueSequence = ()
_ListValueSequence = Model.Name "hydra.ext.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 = Model.Name "hydra.ext.graphql.syntax.Name"
-- | A GraphQL named type, referencing a type by its name.
newtype NamedType =
NamedType {
unNamedType :: Name}
deriving (Eq, Ord, Read, Show)
_NamedType = Model.Name "hydra.ext.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 = Model.Name "hydra.ext.graphql.syntax.NonNullType"
_NonNullType_named = Model.Name "named"
_NonNullType_list = Model.Name "list"
-- | The GraphQL null literal.
newtype NullValue =
NullValue {
unNullValue :: ()}
deriving (Eq, Ord, Read, Show)
_NullValue = Model.Name "hydra.ext.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 = Model.Name "hydra.ext.graphql.syntax.ObjectField"
_ObjectField_Name = Model.Name "Name"
_ObjectField_Value = Model.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 = Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"
_ObjectTypeDefinition_Description = Model.Name "Description"
_ObjectTypeDefinition_Name = Model.Name "Name"
_ObjectTypeDefinition_ImplementsInterfaces = Model.Name "ImplementsInterfaces"
_ObjectTypeDefinition_Directives = Model.Name "Directives"
_ObjectTypeDefinition_FieldsDefinition = Model.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 = Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtension"
_ObjectTypeExtension_seq = Model.Name "seq"
_ObjectTypeExtension_seq2 = Model.Name "seq2"
_ObjectTypeExtension_seq3 = Model.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 = Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence"
_ObjectTypeExtensionSequence_Name = Model.Name "Name"
_ObjectTypeExtensionSequence_ImplementsInterfaces = Model.Name "ImplementsInterfaces"
_ObjectTypeExtensionSequence_Directives = Model.Name "Directives"
_ObjectTypeExtensionSequence_FieldsDefinition = Model.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 = Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence2"
_ObjectTypeExtensionSequence2_Name = Model.Name "Name"
_ObjectTypeExtensionSequence2_ImplementsInterfaces = Model.Name "ImplementsInterfaces"
_ObjectTypeExtensionSequence2_Directives = Model.Name "Directives"
-- | An object type extension that adds only implemented interfaces.
data ObjectTypeExtensionSequence3 =
ObjectTypeExtensionSequence3 {
objectTypeExtensionSequence3Name :: Name,
objectTypeExtensionSequence3ImplementsInterfaces :: ImplementsInterfaces}
deriving (Eq, Ord, Read, Show)
_ObjectTypeExtensionSequence3 = Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence3"
_ObjectTypeExtensionSequence3_Name = Model.Name "Name"
_ObjectTypeExtensionSequence3_ImplementsInterfaces = Model.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 = Model.Name "hydra.ext.graphql.syntax.ObjectValue"
_ObjectValue_seq = Model.Name "seq"
_ObjectValue_sequence2 = Model.Name "sequence2"
-- | The empty-object form of a GraphQL ObjectValue.
type ObjectValueSequence = ()
_ObjectValueSequence = Model.Name "hydra.ext.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 = Model.Name "hydra.ext.graphql.syntax.OperationDefinition"
_OperationDefinition_seq = Model.Name "seq"
_OperationDefinition_SelectionSet = Model.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 = Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"
_OperationDefinitionSequence_OperationType = Model.Name "OperationType"
_OperationDefinitionSequence_Name = Model.Name "Name"
_OperationDefinitionSequence_VariablesDefinition = Model.Name "VariablesDefinition"
_OperationDefinitionSequence_Directives = Model.Name "Directives"
_OperationDefinitionSequence_SelectionSet = Model.Name "SelectionSet"
-- | The type of a GraphQL operation: query, mutation, or subscription.
data OperationType =
OperationTypeQuery |
OperationTypeMutation |
OperationTypeSubscription
deriving (Eq, Ord, Read, Show)
_OperationType = Model.Name "hydra.ext.graphql.syntax.OperationType"
_OperationType_Query = Model.Name "Query"
_OperationType_Mutation = Model.Name "Mutation"
_OperationType_Subscription = Model.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 = Model.Name "hydra.ext.graphql.syntax.RootOperationTypeDefinition"
_RootOperationTypeDefinition_OperationType = Model.Name "OperationType"
_RootOperationTypeDefinition_NamedType = Model.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 = Model.Name "hydra.ext.graphql.syntax.ScalarTypeDefinition"
_ScalarTypeDefinition_Description = Model.Name "Description"
_ScalarTypeDefinition_Name = Model.Name "Name"
_ScalarTypeDefinition_Directives = Model.Name "Directives"
-- | An extension of a GraphQL scalar type, adding directives.
data ScalarTypeExtension =
ScalarTypeExtension {
scalarTypeExtensionName :: Name,
scalarTypeExtensionDirectives :: Directives}
deriving (Eq, Ord, Read, Show)
_ScalarTypeExtension = Model.Name "hydra.ext.graphql.syntax.ScalarTypeExtension"
_ScalarTypeExtension_Name = Model.Name "Name"
_ScalarTypeExtension_Directives = Model.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 = Model.Name "hydra.ext.graphql.syntax.SchemaDefinition"
_SchemaDefinition_Description = Model.Name "Description"
_SchemaDefinition_Directives = Model.Name "Directives"
_SchemaDefinition_RootOperationTypeDefinition = Model.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 = Model.Name "hydra.ext.graphql.syntax.SchemaExtension"
_SchemaExtension_seq = Model.Name "seq"
_SchemaExtension_sequence2 = Model.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 = Model.Name "hydra.ext.graphql.syntax.SchemaExtensionSequence"
_SchemaExtensionSequence_Directives = Model.Name "Directives"
_SchemaExtensionSequence_RootOperationTypeDefinition = Model.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 = Model.Name "hydra.ext.graphql.syntax.Selection"
_Selection_Field = Model.Name "Field"
_Selection_FragmentSpread = Model.Name "FragmentSpread"
_Selection_InlineFragment = Model.Name "InlineFragment"
-- | A braced list of GraphQL selections.
newtype SelectionSet =
SelectionSet {
unSelectionSet :: [Selection]}
deriving (Eq, Ord, Read, Show)
_SelectionSet = Model.Name "hydra.ext.graphql.syntax.SelectionSet"
-- | A GraphQL string literal.
newtype StringValue =
StringValue {
unStringValue :: String}
deriving (Eq, Ord, Read, Show)
_StringValue = Model.Name "hydra.ext.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 = Model.Name "hydra.ext.graphql.syntax.Type"
_Type_named = Model.Name "named"
_Type_list = Model.Name "list"
_Type_nonNull = Model.Name "nonNull"
-- | A GraphQL type condition, naming the type a fragment applies to.
data TypeCondition =
TypeConditionOn |
TypeConditionNamedType NamedType
deriving (Eq, Ord, Read, Show)
_TypeCondition = Model.Name "hydra.ext.graphql.syntax.TypeCondition"
_TypeCondition_On = Model.Name "On"
_TypeCondition_NamedType = Model.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 = Model.Name "hydra.ext.graphql.syntax.TypeDefinition"
_TypeDefinition_scalar = Model.Name "scalar"
_TypeDefinition_object = Model.Name "object"
_TypeDefinition_interface = Model.Name "interface"
_TypeDefinition_union = Model.Name "union"
_TypeDefinition_enum = Model.Name "enum"
_TypeDefinition_inputObject = Model.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 = Model.Name "hydra.ext.graphql.syntax.TypeExtension"
_TypeExtension_scalar = Model.Name "scalar"
_TypeExtension_object = Model.Name "object"
_TypeExtension_interface = Model.Name "interface"
_TypeExtension_union = Model.Name "union"
_TypeExtension_enum = Model.Name "enum"
_TypeExtension_inputObject = Model.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 = Model.Name "hydra.ext.graphql.syntax.TypeSystemDefinition"
_TypeSystemDefinition_schema = Model.Name "schema"
_TypeSystemDefinition_type = Model.Name "type"
_TypeSystemDefinition_directive = Model.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 = Model.Name "hydra.ext.graphql.syntax.TypeSystemDefinitionOrExtension"
_TypeSystemDefinitionOrExtension_definition = Model.Name "definition"
_TypeSystemDefinitionOrExtension_extension = Model.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 = Model.Name "hydra.ext.graphql.syntax.TypeSystemDirectiveLocation"
_TypeSystemDirectiveLocation_SCHEMA = Model.Name "SCHEMA"
_TypeSystemDirectiveLocation_SCALAR = Model.Name "SCALAR"
_TypeSystemDirectiveLocation_OBJECT = Model.Name "OBJECT"
_TypeSystemDirectiveLocation_FIELD_DEFINITION = Model.Name "FIELD_DEFINITION"
_TypeSystemDirectiveLocation_ARGUMENT_DEFINITION = Model.Name "ARGUMENT_DEFINITION"
_TypeSystemDirectiveLocation_INTERFACE = Model.Name "INTERFACE"
_TypeSystemDirectiveLocation_UNION = Model.Name "UNION"
_TypeSystemDirectiveLocation_ENUM = Model.Name "ENUM"
_TypeSystemDirectiveLocation_ENUM_VALUE = Model.Name "ENUM_VALUE"
_TypeSystemDirectiveLocation_INPUT_OBJECT = Model.Name "INPUT_OBJECT"
_TypeSystemDirectiveLocation_INPUT_FIELD_DEFINITION = Model.Name "INPUT_FIELD_DEFINITION"
-- | A GraphQL document consisting only of type system definitions.
newtype TypeSystemDocment =
TypeSystemDocment {
unTypeSystemDocment :: [TypeSystemDefinition]}
deriving (Eq, Ord, Read, Show)
_TypeSystemDocment = Model.Name "hydra.ext.graphql.syntax.TypeSystemDocment"
-- | An extension of a GraphQL schema or type.
data TypeSystemExtension =
TypeSystemExtensionSchema SchemaExtension |
TypeSystemExtensionType TypeExtension
deriving (Eq, Ord, Read, Show)
_TypeSystemExtension = Model.Name "hydra.ext.graphql.syntax.TypeSystemExtension"
_TypeSystemExtension_schema = Model.Name "schema"
_TypeSystemExtension_type = Model.Name "type"
-- | A GraphQL document consisting of type system definitions and extensions.
newtype TypeSystemExtensionDocument =
TypeSystemExtensionDocument {
unTypeSystemExtensionDocument :: [TypeSystemDefinitionOrExtension]}
deriving (Eq, Ord, Read, Show)
_TypeSystemExtensionDocument = Model.Name "hydra.ext.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 = Model.Name "hydra.ext.graphql.syntax.UnionMemberTypes"
_UnionMemberTypes_seq = Model.Name "seq"
_UnionMemberTypes_seq2 = Model.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 = Model.Name "hydra.ext.graphql.syntax.UnionMemberTypesSequence"
_UnionMemberTypesSequence_UnionMemberTypes = Model.Name "UnionMemberTypes"
_UnionMemberTypesSequence_NamedType = Model.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 = Model.Name "hydra.ext.graphql.syntax.UnionMemberTypesSequence2"
_UnionMemberTypesSequence2_Or = Model.Name "Or"
_UnionMemberTypesSequence2_NamedType = Model.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 = Model.Name "hydra.ext.graphql.syntax.UnionTypeDefinition"
_UnionTypeDefinition_Description = Model.Name "Description"
_UnionTypeDefinition_Name = Model.Name "Name"
_UnionTypeDefinition_Directives = Model.Name "Directives"
_UnionTypeDefinition_UnionMemberTypes = Model.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 = Model.Name "hydra.ext.graphql.syntax.UnionTypeExtension"
_UnionTypeExtension_seq = Model.Name "seq"
_UnionTypeExtension_seq2 = Model.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 = Model.Name "hydra.ext.graphql.syntax.UnionTypeExtensionSequence"
_UnionTypeExtensionSequence_Name = Model.Name "Name"
_UnionTypeExtensionSequence_Directives = Model.Name "Directives"
_UnionTypeExtensionSequence_UnionMemberTypes = Model.Name "UnionMemberTypes"
-- | A union type extension consisting of directives only.
data UnionTypeExtensionSequence2 =
UnionTypeExtensionSequence2 {
unionTypeExtensionSequence2Name :: Name,
unionTypeExtensionSequence2Directives :: Directives}
deriving (Eq, Ord, Read, Show)
_UnionTypeExtensionSequence2 = Model.Name "hydra.ext.graphql.syntax.UnionTypeExtensionSequence2"
_UnionTypeExtensionSequence2_Name = Model.Name "Name"
_UnionTypeExtensionSequence2_Directives = Model.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 = Model.Name "hydra.ext.graphql.syntax.Value"
_Value_Variable = Model.Name "Variable"
_Value_int = Model.Name "int"
_Value_float = Model.Name "float"
_Value_string = Model.Name "string"
_Value_boolean = Model.Name "boolean"
_Value_null = Model.Name "null"
_Value_enum = Model.Name "enum"
_Value_list = Model.Name "list"
_Value_object = Model.Name "object"
-- | A GraphQL variable reference, introduced by a dollar sign.
newtype Variable =
Variable {
unVariable :: Name}
deriving (Eq, Ord, Read, Show)
_Variable = Model.Name "hydra.ext.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 = Model.Name "hydra.ext.graphql.syntax.VariablesDefinition"
_VariablesDefinition_Variable = Model.Name "Variable"
_VariablesDefinition_Type = Model.Name "Type"
_VariablesDefinition_DefaultValue = Model.Name "DefaultValue"
_VariablesDefinition_Directives = Model.Name "Directives"