{-# LANGUAGE OverloadedStrings #-} module Data.Morpheus.Error.Input ( typeViolation, ) where import Data.Morpheus.Types.Internal.AST ( Message, ResolvedValue, TypeRef (..), msg, ) import Data.Semigroup ((<>)) typeViolation :: TypeRef -> ResolvedValue -> Message typeViolation expected found = "Expected type " <> msg expected <> " found " <> msg found <> "." {- ARGUMENTS: type Experience { experience ( lang: LANGUAGE ) : String , date: String } - required field !? - experience( lang: "bal" ) -> "Expected type LANGUAGE, found \"a\"." - experience( lang: Bla ) -> "Expected type LANGUAGE, found Bla." - experience( lang: 1 ) -> "Expected type LANGUAGE, found 1." - experience( a1 : 1 ) -> "Unknown argument \"a1\" on field \"experience\" of type \"Experience\".", - date(name: "name") -> "Unknown argument \"name\" on field \"date\" of type \"Experience\"." -}