summaryrefslogtreecommitdiff
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
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.
-rw-r--r--package.yaml2
-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
3 files changed, 6 insertions, 6 deletions
diff --git a/package.yaml b/package.yaml
index 222b64e..dff96d4 100644
--- a/package.yaml
+++ b/package.yaml
@@ -37,7 +37,7 @@ dependencies:
library:
source-dirs: src
other-modules:
- - Language.GraphQL.AST.Transform
+ - Language.GraphQL.Execute.Transform
- Language.GraphQL.Execute.Directive
tests:
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