diff options
| author | Eugen Wissner <belka@caraus.de> | 2019-07-23 06:04:33 +0200 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2019-07-23 07:22:32 +0200 |
| commit | 282946560e14a94748b4a0599ac7419c27848c04 (patch) | |
| tree | 54341b3653bbde17002d8bc119de2d0688d15c13 /src/Language/GraphQL/Error.hs | |
| parent | 1b5094b6a3e6eb68f67bc3238487818f7b7d552a (diff) | |
| download | graphql-0.4.0.0.tar.gz | |
Add singleError utility functionv0.4.0.0
Diffstat (limited to 'src/Language/GraphQL/Error.hs')
| -rw-r--r-- | src/Language/GraphQL/Error.hs | 14 |
1 files changed, 11 insertions, 3 deletions
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 () |
