Provide location information for interface errors
This commit is contained in:
		| @@ -132,12 +132,13 @@ completeValue (Out.ObjectBaseType objectType) fields result = | ||||
| completeValue (Out.InterfaceBaseType interfaceType) fields result | ||||
|     | Type.Object objectMap <- result = do | ||||
|         let abstractType = Internal.AbstractInterfaceType interfaceType | ||||
|         let Transform.Field _ _ _ _ location = NonEmpty.head fields | ||||
|         concreteType <- resolveAbstractType abstractType objectMap | ||||
|         case concreteType of | ||||
|             Just objectType -> executeSelectionSet result objectType | ||||
|                 $ mergeSelectionSets fields | ||||
|             Nothing -> addError null | ||||
|                 $ Error "Interface value completion failed." [] [] | ||||
|                 $ Error "Interface value completion failed." [location] [] | ||||
| completeValue (Out.UnionBaseType unionType) fields result | ||||
|     | Type.Object objectMap <- result = do | ||||
|         let abstractType = Internal.AbstractUnionType unionType | ||||
| @@ -148,7 +149,8 @@ completeValue (Out.UnionBaseType unionType) fields result | ||||
|                 $ mergeSelectionSets fields | ||||
|             Nothing -> addError null | ||||
|                 $ Error "Union value completion failed." [location] [] | ||||
| completeValue _ _ _ = addError null $ Error "Value completion failed." [] [] | ||||
| completeValue _ (Transform.Field _ _ _ _ location :| _) _ = | ||||
|     addError null $ Error "Value completion failed." [location] [] | ||||
|  | ||||
| mergeSelectionSets :: MonadCatch m | ||||
|     => NonEmpty (Transform.Field m) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user