From 7cd48217187911855cd2ad473e58d11df0c69d48 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Sat, 23 May 2020 06:46:21 +0200 Subject: Don't fail on invalid fragments and variables --- src/Language/GraphQL/Type/Definition.hs | 12 ++++++------ src/Language/GraphQL/Type/Schema.hs | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) (limited to 'src/Language/GraphQL/Type') diff --git a/src/Language/GraphQL/Type/Definition.hs b/src/Language/GraphQL/Type/Definition.hs index a916d51..559611b 100644 --- a/src/Language/GraphQL/Type/Definition.hs +++ b/src/Language/GraphQL/Type/Definition.hs @@ -44,21 +44,21 @@ import Prelude hiding (id) -- -- Almost all of the GraphQL types you define will be object types. Object -- types have a name, but most importantly describe their fields. -data ObjectType m = ObjectType - { name :: Text - , fields :: HashMap Name (Field m) - } +data ObjectType m = ObjectType Name (Maybe Text) (HashMap Name (Field m)) -- | Output object field definition. data Field m = Field - (Maybe Text) (OutputType m) (HashMap Name Argument) (FieldResolver m) + (Maybe Text) -- ^ Description. + (OutputType m) -- ^ Field type. + (HashMap Name Argument) -- ^ Arguments. + (FieldResolver m) -- ^ Resolver. -- | Resolving a field can result in a leaf value or an object, which is -- represented as a list of nested resolvers, used to resolve the fields of that -- object. data FieldResolver m = ValueResolver (ActionT m Aeson.Value) - | NestingResolver (ActionT m (Type.Wrapping (HashMap Name (FieldResolver m)))) + | NestingResolver (ActionT m (Type.Wrapping (FieldResolver m))) -- | Field argument definition. data Argument = Argument (Maybe Text) InputType (Maybe Value) diff --git a/src/Language/GraphQL/Type/Schema.hs b/src/Language/GraphQL/Type/Schema.hs index fa44694..095f27d 100644 --- a/src/Language/GraphQL/Type/Schema.hs +++ b/src/Language/GraphQL/Type/Schema.hs @@ -62,7 +62,7 @@ collectReferencedTypes schema = let (EnumType typeName _ _) = enumType in collect Prelude.id typeName (EnumTypeDefinition enumType) traverseObjectType objectType foundTypes = - let (ObjectType typeName objectFields) = objectType + let (ObjectType typeName _ objectFields) = objectType element = ObjectTypeDefinition objectType traverser = flip (foldr visitFields) objectFields in collect traverser typeName element foundTypes -- cgit v1.2.3