diff options
Diffstat (limited to 'Data/GraphQL.hs')
| -rw-r--r-- | Data/GraphQL.hs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Data/GraphQL.hs b/Data/GraphQL.hs new file mode 100644 index 0000000..d18ff2f --- /dev/null +++ b/Data/GraphQL.hs @@ -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 |
