{-# LANGUAGE DeriveLift #-} {-# LANGUAGE DuplicateRecordFields #-} {-# LANGUAGE ExplicitNamespaces #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE NoImplicitPrelude #-} module Data.Morpheus.Types.Internal.AST ( Ref (..), Position (..), Message, FieldName, Description, Stage, CONST, VALID, RAW, Value (..), ScalarValue (..), Object, replaceValue, decodeScientific, RawValue, ValidValue, RawObject, ValidObject, ResolvedObject, ResolvedValue, Argument (..), Arguments, SelectionSet, SelectionContent (..), Selection (..), Fragments, Fragment (..), Operation (..), Variable (..), VariableDefinitions, DefaultValue, getOperationName, ScalarDefinition (..), DataEnum, FieldsDefinition, ArgumentDefinition (..), UnionTypeDefinition, ArgumentsDefinition, FieldDefinition (..), InputFieldsDefinition, TypeContent (..), TypeDefinition (..), Schema (..), TypeKind (..), TypeWrapper (..), TypeRef (..), DataEnumValue (..), OperationType (..), QUERY, MUTATION, SUBSCRIPTION, Directive (..), TypeCategory (..), VariableContent (..), TypeDefinitions, initTypeLib, kindOf, toNullable, isNullable, Subtyping (..), isNotSystemTypeName, isLeaf, isResolverType, mkEnumContent, createScalarType, mkUnionContent, mkTypeRef, mkInputUnionFields, fieldVisibility, lookupDeprecated, lookupDeprecatedReason, lookupWith, ExecutableDocument (..), Variables, unsafeFromFields, OrdMap, GQLError (..), GQLErrors, ObjectEntry (..), UnionTag (..), ANY, IN, OUT, OBJECT, IMPLEMENTABLE, fromAny, toAny, TRUE, FALSE, TypeName, Token, Msg (..), intercalate, fieldsToArguments, Directives, DirectivesDefinition, DirectiveDefinition (..), DirectiveLocation (..), FieldContent (..), fieldArguments, mkType, mkObjectField, UnionMember (..), mkUnionMember, mkNullaryMember, RawTypeDefinition (..), RootOperationTypeDefinition (..), UnionSelection, SchemaDefinition (..), buildSchema, getOperationDataType, Typed (Typed), typed, untyped, LEAF, INPUT_OBJECT, ToCategory (..), FromCategory (..), possibleTypes, possibleInterfaceTypes, mkField, defineSchemaWith, type (<=!), ToOBJECT, constraintInputUnion, getInputUnionValue, unitFieldName, unitTypeName, mkBaseType, mkMaybeType, isPossibleInterfaceType, packName, unpackName, at, atPositions, typeDefinitions, FragmentName, isInternal, internal, isCustom, custom, getCustomErrorType, splitSystemSelection, lookupDataType, Name, withPath, withExtensions, PropName (..), defineDirective, ) where import Data.Mergeable.OrdMap (OrdMap) import Data.Mergeable.SafeHashMap (SafeHashMap) import Data.Morpheus.Types.Internal.AST.Base import Data.Morpheus.Types.Internal.AST.DirectiveLocation (DirectiveLocation (..)) import Data.Morpheus.Types.Internal.AST.Error import Data.Morpheus.Types.Internal.AST.Fields import Data.Morpheus.Types.Internal.AST.Name import Data.Morpheus.Types.Internal.AST.OperationType import Data.Morpheus.Types.Internal.AST.Selection import Data.Morpheus.Types.Internal.AST.Stage import Data.Morpheus.Types.Internal.AST.Type import Data.Morpheus.Types.Internal.AST.TypeCategory import Data.Morpheus.Types.Internal.AST.TypeSystem import Data.Morpheus.Types.Internal.AST.Union import Data.Morpheus.Types.Internal.AST.Value import Language.Haskell.TH.Syntax (Lift) import Prelude (Show) type Variables = SafeHashMap FieldName ResolvedValue data ExecutableDocument = ExecutableDocument { inputVariables :: Variables, operation :: Operation RAW, fragments :: Fragments RAW } deriving (Show, Lift)