From 51d39b69e83a9e258c7b6ee4b81dcfcb3063e6fc Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Fri, 25 Oct 2019 09:07:45 +0200 Subject: [PATCH] Remove deprecated functions and aliases --- src/Language/GraphQL/AST.hs | 35 ++++------------------------------ src/Language/GraphQL/Schema.hs | 35 ---------------------------------- 2 files changed, 4 insertions(+), 66 deletions(-) diff --git a/src/Language/GraphQL/AST.hs b/src/Language/GraphQL/AST.hs index 6794ae3..29d7d80 100644 --- a/src/Language/GraphQL/AST.hs +++ b/src/Language/GraphQL/AST.hs @@ -5,14 +5,11 @@ module Language.GraphQL.AST ( Alias , Argument(..) - , Arguments , Definition(..) , Directive(..) - , Directives , Document , Field(..) , FragmentDefinition(..) - , FragmentName , FragmentSpread(..) , InlineFragment(..) , Name @@ -27,7 +24,6 @@ module Language.GraphQL.AST , TypeCondition , Value(..) , VariableDefinition(..) - , VariableDefinitions ) where import Data.Int (Int32) @@ -43,6 +39,9 @@ import Language.GraphQL.AST.Core ( Alias -- | GraphQL document. type Document = NonEmpty Definition +-- | Directive. +data Directive = Directive Name [Argument] deriving (Eq, Show) + -- * Operations -- | Top-level definition of a document, either an operation or a fragment. @@ -88,12 +87,6 @@ data Field = Field (Maybe Alias) Name [Argument] [Directive] SelectionSetOpt deriving (Eq, Show) --- * Arguments - --- | Argument list. -{-# DEPRECATED Arguments "Use [Argument] instead" #-} -type Arguments = [Argument] - -- | Argument. data Argument = Argument Name Value deriving (Eq,Show) @@ -111,10 +104,7 @@ data FragmentDefinition = FragmentDefinition Name TypeCondition [Directive] SelectionSet deriving (Eq, Show) -{-# DEPRECATED FragmentName "Use Name instead" #-} -type FragmentName = Name - --- * Input values +-- * Inputs -- | Input value. data Value = ValueVariable Name @@ -133,18 +123,10 @@ data Value = ValueVariable Name -- A list of 'ObjectField's represents a GraphQL object type. data ObjectField = ObjectField Name Value deriving (Eq, Show) --- * Variables - --- | Variable definition list. -{-# DEPRECATED VariableDefinitions "Use [VariableDefinition] instead" #-} -type VariableDefinitions = [VariableDefinition] - -- | Variable definition. data VariableDefinition = VariableDefinition Name Type (Maybe Value) deriving (Eq, Show) --- * Input types - -- | Type representation. data Type = TypeNamed Name | TypeList Type @@ -156,12 +138,3 @@ data Type = TypeNamed Name data NonNullType = NonNullTypeNamed Name | NonNullTypeList Type deriving (Eq, Show) - --- * Directives - --- | Directive list. -{-# DEPRECATED Directives "Use [Directive] instead" #-} -type Directives = [Directive] - --- | Directive. -data Directive = Directive Name [Argument] deriving (Eq, Show) diff --git a/src/Language/GraphQL/Schema.hs b/src/Language/GraphQL/Schema.hs index 112847f..d7e698b 100644 --- a/src/Language/GraphQL/Schema.hs +++ b/src/Language/GraphQL/Schema.hs @@ -4,17 +4,12 @@ -- functions for defining and manipulating schemas. module Language.GraphQL.Schema ( Resolver - , Schema , Subs , object , objectA , scalar , scalarA - , enum - , enumA , resolve - , wrappedEnum - , wrappedEnumA , wrappedObject , wrappedObjectA , wrappedScalar @@ -29,7 +24,6 @@ import Control.Monad.IO.Class (MonadIO(..)) import Control.Monad.Trans.Class (lift) import Control.Monad.Trans.Except (runExceptT) import Data.Foldable (find, fold) -import Data.List.NonEmpty (NonEmpty) import Data.Maybe (fromMaybe) import qualified Data.Aeson as Aeson import Data.HashMap.Strict (HashMap) @@ -41,11 +35,6 @@ import Language.GraphQL.Trans import Language.GraphQL.Type import Language.GraphQL.AST.Core -{-# DEPRECATED Schema "Use NonEmpty (Resolver m) instead" #-} --- | A GraphQL schema. --- @m@ is usually expected to be an instance of 'MonadIO'. -type Schema m = NonEmpty (Resolver m) - -- | Resolves a 'Field' into an @Aeson.@'Data.Aeson.Types.Object' with error -- information (if an error has occurred). @m@ is usually expected to be an -- instance of 'MonadIO'. @@ -106,30 +95,6 @@ wrappedScalar :: (MonadIO m, Aeson.ToJSON a) => Name -> ActionT m (Wrapping a) -> Resolver m wrappedScalar name = wrappedScalarA name . const -{-# DEPRECATED enum "Use scalar instead" #-} -enum :: MonadIO m => Name -> ActionT m [Text] -> Resolver m -enum name = enumA name . const - -{-# DEPRECATED enumA "Use scalarA instead" #-} -enumA :: MonadIO m => Name -> ([Argument] -> ActionT m [Text]) -> Resolver m -enumA name f = Resolver name $ resolveFieldValue f resolveRight - where - resolveRight fld resolver = withField (return resolver) fld - -{-# DEPRECATED wrappedEnumA "Use wrappedScalarA instead" #-} -wrappedEnumA :: MonadIO m - => Name -> ([Argument] -> ActionT m (Wrapping [Text])) -> Resolver m -wrappedEnumA name f = Resolver name $ resolveFieldValue f resolveRight - where - resolveRight fld (Named resolver) = withField (return resolver) fld - resolveRight fld Null - = return $ HashMap.singleton (aliasOrName fld) Aeson.Null - resolveRight fld (List resolver) = withField (return resolver) fld - -{-# DEPRECATED wrappedEnum "Use wrappedScalar instead" #-} -wrappedEnum :: MonadIO m => Name -> ActionT m (Wrapping [Text]) -> Resolver m -wrappedEnum name = wrappedEnumA name . const - resolveFieldValue :: MonadIO m => ([Argument] -> ActionT m a) -> (Field -> a -> CollectErrsT m (HashMap Text Aeson.Value))