From 7b92e5bcfded2a592b9be25d0865d26320421570 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Sat, 16 Nov 2019 11:41:40 +0100 Subject: Rewrite selections into a Sequence. Fix #21 --- src/Language/GraphQL/AST/Core.hs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/Language/GraphQL/AST/Core.hs') diff --git a/src/Language/GraphQL/AST/Core.hs b/src/Language/GraphQL/AST/Core.hs index 2cdb122..f7a008f 100644 --- a/src/Language/GraphQL/AST/Core.hs +++ b/src/Language/GraphQL/AST/Core.hs @@ -15,6 +15,7 @@ module Language.GraphQL.AST.Core import Data.Int (Int32) import Data.HashMap.Strict (HashMap) import Data.List.NonEmpty (NonEmpty) +import Data.Sequence (Seq) import Data.String (IsString(..)) import Data.Text (Text) import Language.GraphQL.AST (Alias, Name, TypeCondition) @@ -26,19 +27,21 @@ type Document = NonEmpty Operation -- -- Currently only queries and mutations are supported. data Operation - = Query (Maybe Text) (NonEmpty Selection) - | Mutation (Maybe Text) (NonEmpty Selection) + = Query (Maybe Text) (Seq Selection) + | Mutation (Maybe Text) (Seq Selection) deriving (Eq, Show) -- | Single GraphQL field. -data Field = Field (Maybe Alias) Name [Argument] [Selection] deriving (Eq, Show) +data Field + = Field (Maybe Alias) Name [Argument] (Seq Selection) + deriving (Eq, Show) -- | Single argument. data Argument = Argument Name Value deriving (Eq, Show) -- | Represents fragments and inline fragments. data Fragment - = Fragment TypeCondition (NonEmpty Selection) + = Fragment TypeCondition (Seq Selection) deriving (Eq, Show) -- | Single selection element. -- cgit v1.2.3