Wrap executed result in "data" object

This commit is contained in:
Danny Navarro 2017-02-10 18:40:08 -03:00
parent 4ab4660d36
commit e716bc57e7
No known key found for this signature in database
GPG Key ID: 81E5F99780FA6A32

View File

@ -1,3 +1,4 @@
{-# LANGUAGE OverloadedStrings #-}
-- | This module provides the function to execute a @GraphQL@ request -- -- | This module provides the function to execute a @GraphQL@ request --
-- according to a 'Schema'. -- according to a 'Schema'.
module Data.GraphQL.Execute (execute) where module Data.GraphQL.Execute (execute) where
@ -7,6 +8,7 @@ import qualified Data.List.NonEmpty as NE
import Data.List.NonEmpty (NonEmpty((:|))) import Data.List.NonEmpty (NonEmpty((:|)))
import qualified Data.Aeson as Aeson import qualified Data.Aeson as Aeson
import qualified Data.HashMap.Strict as HashMap
import qualified Data.GraphQL.AST as AST import qualified Data.GraphQL.AST as AST
import qualified Data.GraphQL.AST.Core as AST.Core import qualified Data.GraphQL.AST.Core as AST.Core
@ -31,7 +33,8 @@ document _ _ = error "Multiple operations not supported yet"
operation :: Alternative f => Schema f -> AST.Core.Operation -> f Aeson.Value operation :: Alternative f => Schema f -> AST.Core.Operation -> f Aeson.Value
operation schema (AST.Core.Query flds) = operation schema (AST.Core.Query flds) =
Schema.resolve (NE.toList schema) (NE.toList flds) Aeson.Object . HashMap.singleton "data"
<$> Schema.resolve (NE.toList schema) (NE.toList flds)
operation _ _ = error "Mutations not supported yet" operation _ _ = error "Mutations not supported yet"
-- | Takes a variable substitution function and a @GraphQL@ document. -- | Takes a variable substitution function and a @GraphQL@ document.