diff options
Diffstat (limited to 'Data/GraphQL.hs')
| -rw-r--r-- | Data/GraphQL.hs | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/Data/GraphQL.hs b/Data/GraphQL.hs index dfe9362..c332b6c 100644 --- a/Data/GraphQL.hs +++ b/Data/GraphQL.hs @@ -3,10 +3,12 @@ module Data.GraphQL where import Control.Applicative (Alternative) -import Data.Text (Text) +import qualified Data.Text as T import qualified Data.Aeson as Aeson -import qualified Data.Attoparsec.Text as Attoparsec +import Text.Megaparsec ( errorBundlePretty + , parse + ) import Data.GraphQL.Execute import Data.GraphQL.Parser @@ -19,7 +21,7 @@ import Data.GraphQL.Error -- executed according to the given 'Schema'. -- -- Returns the response as an @Aeson.@'Aeson.Value'. -graphql :: (Alternative m, Monad m) => Schema m -> Text -> m Aeson.Value +graphql :: (Alternative m, Monad m) => Schema m -> T.Text -> m Aeson.Value graphql = flip graphqlSubs $ const Nothing -- | Takes a 'Schema', a variable substitution function and text @@ -28,7 +30,7 @@ graphql = flip graphqlSubs $ const Nothing -- query and the query is then executed according to the given 'Schema'. -- -- Returns the response as an @Aeson.@'Aeson.Value'. -graphqlSubs :: (Alternative m, Monad m) => Schema m -> Subs -> Text -> m Aeson.Value +graphqlSubs :: (Alternative m, Monad m) => Schema m -> Subs -> T.Text -> m Aeson.Value graphqlSubs schema f = - either parseError (execute schema f) - . Attoparsec.parseOnly document + either (parseError . errorBundlePretty) (execute schema f) + . parse document "" |
