{-# LANGUAGE OverloadedStrings #-}
module Data.Morpheus.Error.Fragment
( cannotSpreadWithinItself
) where
import Data.Morpheus.Types.Core (EnhancedKey (..))
import Data.Morpheus.Types.Error (GQLError (..), GQLErrors)
import qualified Data.Text as T
cannotSpreadWithinItself :: [EnhancedKey] -> GQLErrors
cannotSpreadWithinItself fragments = [GQLError {desc = text, posIndex = map location fragments}]
where
text =
T.concat
[ "Cannot spread fragment \""
, uid $ head fragments
, "\" within itself via "
, T.intercalate "," (map uid fragments)
, "."
]