From 282946560e14a94748b4a0599ac7419c27848c04 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Tue, 23 Jul 2019 06:04:33 +0200 Subject: Add singleError utility function --- src/Language/GraphQL/Error.hs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'src/Language/GraphQL/Error.hs') diff --git a/src/Language/GraphQL/Error.hs b/src/Language/GraphQL/Error.hs index 69fc8db..d0bc84d 100644 --- a/src/Language/GraphQL/Error.hs +++ b/src/Language/GraphQL/Error.hs @@ -7,6 +7,7 @@ module Language.GraphQL.Error , addErrMsg , runCollectErrs , runAppendErrs + , singleError ) where import qualified Data.Aeson as Aeson @@ -46,12 +47,19 @@ type CollectErrsT m = StateT [Aeson.Value] m addErr :: Monad m => Aeson.Value -> CollectErrsT m () addErr v = modify (v :) -makeErrorMsg :: Text -> Aeson.Value -makeErrorMsg s = Aeson.object [("message", Aeson.toJSON s)] +makeErrorMessage :: Text -> Aeson.Value +makeErrorMessage s = Aeson.object [("message", Aeson.toJSON s)] + +-- | Constructs a response object containing only the error with the given +-- message. +singleError :: Text -> Aeson.Value +singleError message = Aeson.object + [ ("errors", Aeson.toJSON [makeErrorMessage message]) + ] -- | Convenience function for just wrapping an error message. addErrMsg :: Monad m => Text -> CollectErrsT m () -addErrMsg = addErr . makeErrorMsg +addErrMsg = addErr . makeErrorMessage -- | Appends the given list of errors to the current list of errors. appendErrs :: Monad m => [Aeson.Value] -> CollectErrsT m () -- cgit v1.2.3