summaryrefslogtreecommitdiff
path: root/src/Language/GraphQL/AST.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Language/GraphQL/AST.hs')
-rw-r--r--src/Language/GraphQL/AST.hs58
1 files changed, 16 insertions, 42 deletions
diff --git a/src/Language/GraphQL/AST.hs b/src/Language/GraphQL/AST.hs
index e0a30e6..667e4d7 100644
--- a/src/Language/GraphQL/AST.hs
+++ b/src/Language/GraphQL/AST.hs
@@ -6,7 +6,6 @@ module Language.GraphQL.AST
( Alias
, Argument(..)
, Arguments
- , DefaultValue
, Definition(..)
, Directive(..)
, Directives
@@ -16,11 +15,9 @@ module Language.GraphQL.AST
, FragmentName
, FragmentSpread(..)
, InlineFragment(..)
- , ListValue
, Name
, NonNullType(..)
, ObjectField(..)
- , ObjectValue
, OperationDefinition(..)
, OperationType(..)
, Selection(..)
@@ -29,7 +26,6 @@ module Language.GraphQL.AST
, Type(..)
, TypeCondition
, Value(..)
- , Variable
, VariableDefinition(..)
, VariableDefinitions
) where
@@ -37,10 +33,9 @@ module Language.GraphQL.AST
import Data.Int (Int32)
import Data.List.NonEmpty (NonEmpty)
import Data.Text (Text)
-
--- * Name
-
-type Name = Text
+import Language.GraphQL.AST.Core ( Alias
+ , Name
+ )
-- * Document
@@ -78,8 +73,6 @@ data Selection = SelectionField Field
data Field = Field (Maybe Alias) Name Arguments Directives SelectionSetOpt
deriving (Eq,Show)
-type Alias = Name
-
-- * Arguments
type Arguments = [Argument]
@@ -101,48 +94,29 @@ type FragmentName = Name
type TypeCondition = Name
--- Input Values
+-- * Input values
-data Value = ValueVariable Variable
- | ValueInt IntValue
- | ValueFloat FloatValue
- | ValueString StringValue
- | ValueBoolean BooleanValue
+data Value = ValueVariable Name
+ | ValueInt Int32
+ | ValueFloat Double
+ | ValueString Text
+ | ValueBoolean Bool
| ValueNull
- | ValueEnum EnumValue
- | ValueList ListValue
- | ValueObject ObjectValue
- deriving (Eq,Show)
-
-type IntValue = Int32
-
--- GraphQL Float is double precison
-type FloatValue = Double
-
-type StringValue = Text
+ | ValueEnum Name
+ | ValueList [Value]
+ | ValueObject [ObjectField]
+ deriving (Eq, Show)
-type BooleanValue = Bool
-
-type EnumValue = Name
-
-type ListValue = [Value]
-
-type ObjectValue = [ObjectField]
-
-data ObjectField = ObjectField Name Value deriving (Eq,Show)
+data ObjectField = ObjectField Name Value deriving (Eq, Show)
-- * Variables
type VariableDefinitions = [VariableDefinition]
-data VariableDefinition = VariableDefinition Variable Type (Maybe DefaultValue)
+data VariableDefinition = VariableDefinition Name Type (Maybe Value)
deriving (Eq,Show)
-type Variable = Name
-
-type DefaultValue = Value
-
--- * Input Types
+-- * Input types
data Type = TypeNamed Name
| TypeList Type