Introduce graphql function

This simplifies Attoparsec parsing when executing a GraphQL
query.
This commit is contained in:
Danny Navarro
2016-02-05 12:32:35 +01:00
parent eca3c2d8d4
commit c81ddb0335
3 changed files with 26 additions and 16 deletions

16
Data/GraphQL.hs Normal file
View File

@ -0,0 +1,16 @@
module Data.GraphQL where
import Control.Applicative (Alternative, empty)
import Data.Text (Text)
import qualified Data.Aeson as Aeson
import qualified Data.Attoparsec.Text as Attoparsec
import Data.GraphQL.Execute
import Data.GraphQL.Parser
import Data.GraphQL.Schema
graphql :: (Alternative m, Monad m) => Schema m -> Text -> m Aeson.Value
graphql schema = either (const empty) (execute schema)
. Attoparsec.parseOnly document