summaryrefslogtreecommitdiff
path: root/src/Language/GraphQL
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2019-12-07 09:46:00 +0100
committerEugen Wissner <belka@caraus.de>2019-12-07 09:46:00 +0100
commit4c0d226030015c98ce76ebb4815dc9162ad10b11 (patch)
treec7b9064abbf8805e7981ec4ddb15840944666416 /src/Language/GraphQL
parent3c1a5c800f382db0ae0c7a74ba3a5a1fdc4c23cb (diff)
downloadgraphql-4c0d226030015c98ce76ebb4815dc9162ad10b11.tar.gz
Move Transform to Language.GraphQL.Execute
Language.GraphQL.AST.Transform is an internal module. Even though it works with the AST, it is a part of the execution process, it translates the original parser tree into a simpler one, so the executor has less work to do. Language.GraphQL.AST should contain only the parser and be independent from other packages, so it can be used on its own.
Diffstat (limited to 'src/Language/GraphQL')
-rw-r--r--src/Language/GraphQL/Execute.hs2
-rw-r--r--src/Language/GraphQL/Execute/Transform.hs (renamed from src/Language/GraphQL/AST/Transform.hs)8
2 files changed, 5 insertions, 5 deletions
diff --git a/src/Language/GraphQL/Execute.hs b/src/Language/GraphQL/Execute.hs
index 59e85bf..74f33f9 100644
--- a/src/Language/GraphQL/Execute.hs
+++ b/src/Language/GraphQL/Execute.hs
@@ -15,7 +15,7 @@ import Data.Text (Text)
import qualified Data.Text as Text
import qualified Language.GraphQL.AST as AST
import qualified Language.GraphQL.AST.Core as AST.Core
-import qualified Language.GraphQL.AST.Transform as Transform
+import qualified Language.GraphQL.Execute.Transform as Transform
import Language.GraphQL.Error
import qualified Language.GraphQL.Schema as Schema
diff --git a/src/Language/GraphQL/AST/Transform.hs b/src/Language/GraphQL/Execute/Transform.hs
index fadf929..9bcb3b2 100644
--- a/src/Language/GraphQL/AST/Transform.hs
+++ b/src/Language/GraphQL/Execute/Transform.hs
@@ -4,7 +4,7 @@
-- | After the document is parsed, before getting executed the AST is
-- transformed into a similar, simpler AST. This module is responsible for
-- this transformation.
-module Language.GraphQL.AST.Transform
+module Language.GraphQL.Execute.Transform
( document
) where
@@ -30,6 +30,9 @@ data Replacement = Replacement
type TransformT a = StateT Replacement (ReaderT Schema.Subs Maybe) a
+liftJust :: forall a. a -> TransformT a
+liftJust = lift . lift . Just
+
-- | Rewrites the original syntax tree into an intermediate representation used
-- for query execution.
document :: Schema.Subs -> Full.Document -> Maybe Core.Document
@@ -179,6 +182,3 @@ value (Full.Object o) =
objectField :: Full.ObjectField -> TransformT (Core.Name, Core.Value)
objectField (Full.ObjectField name value') = (name,) <$> value value'
-
-liftJust :: forall a. a -> TransformT a
-liftJust = lift . lift . Just