summaryrefslogtreecommitdiff
path: root/src/Language/GraphQL/Execute
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2020-06-09 10:02:34 +0200
committerEugen Wissner <belka@caraus.de>2020-06-09 10:02:34 +0200
commitfdb1268213f9ea6da33d82fc57e1b0c7874c3fe2 (patch)
tree3d5d23f201fc22541f79fd577e77c2a88ca2a1de /src/Language/GraphQL/Execute
parent377c87045e468b9a34e7bee40129fcd03e519968 (diff)
downloadgraphql-fdb1268213f9ea6da33d82fc57e1b0c7874c3fe2.tar.gz
Add custom Eq instances to the types
Diffstat (limited to 'src/Language/GraphQL/Execute')
-rw-r--r--src/Language/GraphQL/Execute/Execution.hs13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/Language/GraphQL/Execute/Execution.hs b/src/Language/GraphQL/Execute/Execution.hs
index a46316f..79646c3 100644
--- a/src/Language/GraphQL/Execute/Execution.hs
+++ b/src/Language/GraphQL/Execute/Execution.hs
@@ -79,9 +79,7 @@ doesFragmentTypeApply :: forall m
-> Out.ObjectType m
-> Bool
doesFragmentTypeApply (CompositeObjectType fragmentType) objectType =
- let Out.ObjectType fragmentName _ _ _ = fragmentType
- Out.ObjectType objectName _ _ _ = objectType
- in fragmentName == objectName
+ fragmentType == objectType
doesFragmentTypeApply (CompositeInterfaceType fragmentType) objectType =
instanceOf objectType $ AbstractInterfaceType fragmentType
doesFragmentTypeApply (CompositeUnionType fragmentType) objectType =
@@ -92,16 +90,13 @@ instanceOf objectType (AbstractInterfaceType interfaceType) =
let Out.ObjectType _ _ interfaces _ = objectType
in foldr go False interfaces
where
- go (Out.InterfaceType that _ interfaces _) acc =
- let Out.InterfaceType this _ _ _ = interfaceType
- in acc || foldr go (this == that) interfaces
+ go objectInterfaceType@(Out.InterfaceType _ _ interfaces _) acc =
+ acc || foldr go (interfaceType == objectInterfaceType) interfaces
instanceOf objectType (AbstractUnionType unionType) =
let Out.UnionType _ _ members = unionType
in foldr go False members
where
- go (Out.ObjectType that _ _ _) acc =
- let Out.ObjectType this _ _ _ = objectType
- in acc || this == that
+ go unionMemberType acc = acc || objectType == unionMemberType
executeField :: Monad m
=> Definition.Value