morpheus-graphql-server 0.28.1 → 0.28.2
raw patch · 21 files changed
+97/−90 lines, 21 filesdep ~bytestringdep ~containersdep ~tastyPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: bytestring, containers, tasty, transformers, unordered-containers, vector
API changes (from Hackage documentation)
- Data.Morpheus.Server.Resolvers: type Composed (m :: Type -> Type) f a :: Type
- Data.Morpheus.Server.Resolvers: type Flexible (m :: Type -> Type) a :: Type
- Data.Morpheus.Server.Types: type Composed (m :: Type -> Type) f a :: Type
- Data.Morpheus.Server.Types: type Flexible (m :: Type -> Type) a :: Type
+ Data.Morpheus.Server.Resolvers: type family Composed (m :: Type -> Type) (f :: Type -> Type) (a :: k)
+ Data.Morpheus.Server.Types: type MonadEvent (m :: Type -> Type);
+ Data.Morpheus.Server.Types: type MonadMutation (m :: Type -> Type) :: Type -> Type;
+ Data.Morpheus.Server.Types: type MonadOperation (m :: Type -> Type) :: OperationType;
+ Data.Morpheus.Server.Types: type MonadParam (m :: Type -> Type) :: Type -> Type;
+ Data.Morpheus.Server.Types: type MonadQuery (m :: Type -> Type) :: Type -> Type;
+ Data.Morpheus.Server.Types: type MonadSubscription (m :: Type -> Type) :: Type -> Type;
- Data.Morpheus.Server: compileTimeSchemaValidation :: SCHEMA qu mu su => proxy (root m event qu mu su) -> Q Exp
+ Data.Morpheus.Server: compileTimeSchemaValidation :: forall {k1} {k2} {k3} (qu :: (Type -> Type) -> Type) (mu :: (Type -> Type) -> Type) (su :: (Type -> Type) -> Type) proxy (root :: k2 -> k3 -> ((Type -> Type) -> Type) -> ((Type -> Type) -> Type) -> ((Type -> Type) -> Type) -> k1) (m :: k2) (event :: k3). SCHEMA qu mu su => proxy (root m event qu mu su) -> Q Exp
- Data.Morpheus.Server: data () => App event (m :: Type -> Type)
+ Data.Morpheus.Server: data App event (m :: Type -> Type)
- Data.Morpheus.Server: debugInterpreter :: (MapAPI a b, RootResolverConstraint m e query mut sub) => RootResolver m e query mut sub -> a -> m b
+ Data.Morpheus.Server: debugInterpreter :: forall a b m e (query :: (Type -> Type) -> Type) (mut :: (Type -> Type) -> Type) (sub :: (Type -> Type) -> Type). (MapAPI a b, RootResolverConstraint m e query mut sub) => RootResolver m e query mut sub -> a -> m b
- Data.Morpheus.Server: interpreter :: (MapAPI a b, RootResolverConstraint m e query mut sub) => RootResolver m e query mut sub -> a -> m b
+ Data.Morpheus.Server: interpreter :: forall a b m e (query :: (Type -> Type) -> Type) (mut :: (Type -> Type) -> Type) (sub :: (Type -> Type) -> Type). (MapAPI a b, RootResolverConstraint m e query mut sub) => RootResolver m e query mut sub -> a -> m b
- Data.Morpheus.Server: printSchema :: RootResolverConstraint m event query mut sub => proxy (RootResolver m event query mut sub) -> ByteString
+ Data.Morpheus.Server: printSchema :: forall (m :: Type -> Type) event (query :: (Type -> Type) -> Type) (mut :: (Type -> Type) -> Type) (sub :: (Type -> Type) -> Type) proxy. RootResolverConstraint m event query mut sub => proxy (RootResolver m event query mut sub) -> ByteString
- Data.Morpheus.Server: type RootResolverConstraint m e query mutation subscription = (DERIVE_RESOLVERS (Resolver QUERY e m) query mutation subscription, SCHEMA query mutation subscription, Monad m)
+ Data.Morpheus.Server: type RootResolverConstraint (m :: Type -> Type) e (query :: Type -> Type -> Type) (mutation :: Type -> Type -> Type) (subscription :: Type -> Type -> Type) = (DERIVE_RESOLVERS Resolver QUERY e m query mutation subscription, SCHEMA query mutation subscription, Monad m)
- Data.Morpheus.Server.CodeGen.Internal: class () => Generic a
+ Data.Morpheus.Server.CodeGen.Internal: class Generic a
- Data.Morpheus.Server.CodeGen.Internal: class () => Typeable (a :: k)
+ Data.Morpheus.Server.CodeGen.Internal: class Typeable (a :: k)
- Data.Morpheus.Server.CodeGen.Internal: data () => Text
+ Data.Morpheus.Server.CodeGen.Internal: data Text
- Data.Morpheus.Server.Resolvers: [NamedResolverT] :: ResolveNamed m (Target a) => m (NamedRef a) -> NamedResolverT m a
+ Data.Morpheus.Server.Resolvers: [NamedResolverT] :: forall (m :: Type -> Type) a. ResolveNamed m (Target a) => m (NamedRef a) -> NamedResolverT m a
- Data.Morpheus.Server.Resolvers: class (ToJSON (Dependency a)) => ResolveNamed (m :: Type -> Type) (a :: Type) where {
+ Data.Morpheus.Server.Resolvers: class ToJSON Dependency a => ResolveNamed (m :: Type -> Type) a where {
- Data.Morpheus.Server.Resolvers: data NamedResolvers (m :: Type -> Type) event (qu :: (Type -> Type) -> Type) (mu :: (Type -> Type) -> Type) (su :: (Type -> Type) -> Type)
+ Data.Morpheus.Server.Resolvers: data NamedResolvers (m :: Type -> Type) event (qu :: Type -> Type -> Type) (mu :: Type -> Type -> Type) (su :: Type -> Type -> Type)
- Data.Morpheus.Server.Resolvers: data RootResolver (m :: Type -> Type) event (query :: (Type -> Type) -> Type) (mutation :: (Type -> Type) -> Type) (subscription :: (Type -> Type) -> Type)
+ Data.Morpheus.Server.Resolvers: data RootResolver (m :: Type -> Type) event (query :: Type -> Type -> Type) (mutation :: Type -> Type -> Type) (subscription :: Type -> Type -> Type)
- Data.Morpheus.Server.Resolvers: defaultRootResolver :: RootResolver m event Undefined Undefined Undefined
+ Data.Morpheus.Server.Resolvers: defaultRootResolver :: forall (m :: Type -> Type) event. RootResolver m event Undefined Undefined Undefined
- Data.Morpheus.Server.Resolvers: resolveBatched :: (ResolveNamed m a, MonadError GQLError m) => [Dependency a] -> m [Maybe a]
+ Data.Morpheus.Server.Resolvers: resolveBatched :: ResolveNamed m a => [Dependency a] -> m [Maybe a]
- Data.Morpheus.Server.Resolvers: resolveNamed :: (ResolveNamed m a, MonadError GQLError m) => Dependency a -> m a
+ Data.Morpheus.Server.Resolvers: resolveNamed :: ResolveNamed m a => Dependency a -> m a
- Data.Morpheus.Server.Resolvers: type ComposedResolver o e m f a = Composed (Resolver o e m) f a
+ Data.Morpheus.Server.Resolvers: type ComposedResolver (o :: OperationType) e (m :: Type -> Type) (f :: Type -> Type) (a :: k) = Composed Resolver o e m f a
- Data.Morpheus.Server.Resolvers: type Dep a :: Type;
+ Data.Morpheus.Server.Resolvers: type Dep a;
- Data.Morpheus.Server.Resolvers: type ResolverM e m a = ResolverO MUTATION e m a
+ Data.Morpheus.Server.Resolvers: type ResolverM e (m :: Type -> Type) (a :: k) = ResolverO MUTATION e m a
- Data.Morpheus.Server.Resolvers: type ResolverO o e m a = Flexible (Resolver o e m) a
+ Data.Morpheus.Server.Resolvers: type ResolverO (o :: OperationType) e (m :: Type -> Type) (a :: k) = Flexible Resolver o e m a
- Data.Morpheus.Server.Resolvers: type ResolverQ e m a = ResolverO QUERY e m a
+ Data.Morpheus.Server.Resolvers: type ResolverQ e (m :: Type -> Type) (a :: k) = ResolverO QUERY e m a
- Data.Morpheus.Server.Resolvers: type ResolverS e m a = ResolverO SUBSCRIPTION e m a
+ Data.Morpheus.Server.Resolvers: type ResolverS e (m :: Type -> Type) (a :: k) = ResolverO SUBSCRIPTION e m a
- Data.Morpheus.Server.Types: class () => DecodeScalar a
+ Data.Morpheus.Server.Types: class DecodeScalar a
- Data.Morpheus.Server.Types: class () => DecodeWrapper (f :: Type -> Type)
+ Data.Morpheus.Server.Types: class DecodeWrapper (f :: Type -> Type)
- Data.Morpheus.Server.Types: class () => EncodeScalar a
+ Data.Morpheus.Server.Types: class EncodeScalar a
- Data.Morpheus.Server.Types: class () => EncodeWrapper (wrapper :: Type -> Type)
+ Data.Morpheus.Server.Types: class EncodeWrapper (wrapper :: Type -> Type)
- Data.Morpheus.Server.Types: class (ToLocations (DIRECTIVE_LOCATIONS a), Typeable a, WITH_VISITOR a VISIT_TYPE TYPE_VISITOR_KIND, WITH_VISITOR a VISIT_FIELD FIELD_VISITOR_KIND, WITH_VISITOR a VISIT_ENUM ENUM_VISITOR_KIND) => GQLDirective a where {
+ Data.Morpheus.Server.Types: class (ToLocations DIRECTIVE_LOCATIONS a, Typeable a, WITH_VISITOR a VISIT_TYPE TYPE_VISITOR_KIND, WITH_VISITOR a VISIT_FIELD FIELD_VISITOR_KIND, WITH_VISITOR a VISIT_ENUM ENUM_VISITOR_KIND) => GQLDirective a where {
- Data.Morpheus.Server.Types: class () => RenderGQL a
+ Data.Morpheus.Server.Types: class RenderGQL a
- Data.Morpheus.Server.Types: data () => App event (m :: Type -> Type)
+ Data.Morpheus.Server.Types: data App event (m :: Type -> Type)
- Data.Morpheus.Server.Types: data () => DirectiveLocation
+ Data.Morpheus.Server.Types: data DirectiveLocation
- Data.Morpheus.Server.Types: data () => GQLError
+ Data.Morpheus.Server.Types: data GQLError
- Data.Morpheus.Server.Types: data () => GQLRequest
+ Data.Morpheus.Server.Types: data GQLRequest
- Data.Morpheus.Server.Types: data () => GQLResponse
+ Data.Morpheus.Server.Types: data GQLResponse
- Data.Morpheus.Server.Types: data () => Resolver (o :: OperationType) event (m :: Type -> Type) value
+ Data.Morpheus.Server.Types: data Resolver (o :: OperationType) event (m :: Type -> Type) value
- Data.Morpheus.Server.Types: data () => ResolverContext
+ Data.Morpheus.Server.Types: data ResolverContext
- Data.Morpheus.Server.Types: data RootResolver (m :: Type -> Type) event (query :: (Type -> Type) -> Type) (mutation :: (Type -> Type) -> Type) (subscription :: (Type -> Type) -> Type)
+ Data.Morpheus.Server.Types: data RootResolver (m :: Type -> Type) event (query :: Type -> Type -> Type) (mutation :: Type -> Type -> Type) (subscription :: Type -> Type -> Type)
- Data.Morpheus.Server.Types: data () => ScalarValue
+ Data.Morpheus.Server.Types: data ScalarValue
- Data.Morpheus.Server.Types: data () => SubscriptionField a
+ Data.Morpheus.Server.Types: data SubscriptionField a
- Data.Morpheus.Server.Types: data () => Value (stage :: Stage)
+ Data.Morpheus.Server.Types: data Value (stage :: Stage)
- Data.Morpheus.Server.Types: defaultRootResolver :: RootResolver m event Undefined Undefined Undefined
+ Data.Morpheus.Server.Types: defaultRootResolver :: forall (m :: Type -> Type) event. RootResolver m event Undefined Undefined Undefined
- Data.Morpheus.Server.Types: newtype () => ID
+ Data.Morpheus.Server.Types: newtype ID
- Data.Morpheus.Server.Types: type family MonadParam (m :: Type -> Type) :: Type -> Type;
+ Data.Morpheus.Server.Types: type family Composed (m :: Type -> Type) (f :: Type -> Type) (a :: k)
Files
- morpheus-graphql-server.cabal +13/−13
- src/Data/Morpheus/Server/Deriving/App.hs +2/−2
- src/Data/Morpheus/Server/Deriving/Internal/Type.hs +2/−2
- src/Data/Morpheus/Server/Deriving/Internal/Value.hs +5/−5
- src/Data/Morpheus/Server/Deriving/Kinded/Channels.hs +2/−1
- src/Data/Morpheus/Server/Deriving/Kinded/NamedResolverFun.hs +4/−2
- src/Data/Morpheus/Server/Deriving/Kinded/Resolver.hs +5/−2
- src/Data/Morpheus/Server/Deriving/Schema.hs +9/−9
- src/Data/Morpheus/Server/Deriving/Utils/Types.hs +5/−5
- src/Data/Morpheus/Server/Resolvers.hs +2/−1
- src/Data/Morpheus/Server/Types/Directives.hs +13/−13
- test/Feature/Collision/CategoryCollisionFail.hs +2/−2
- test/Feature/Collision/CategoryCollisionSuccess.hs +2/−2
- test/Feature/Input/Collections.hs +1/−1
- test/Feature/Input/Enums.hs +1/−1
- test/Feature/Input/Objects.hs +1/−1
- test/Feature/Input/Scalars.hs +1/−1
- test/Feature/NamedResolvers/DB.hs +1/−1
- test/Feature/NamedResolvers/DeitiesApp.hs +10/−10
- test/Feature/NamedResolvers/EntitiesApp.hs +7/−7
- test/Feature/NamedResolvers/RealmsApp.hs +9/−9
morpheus-graphql-server.cabal view
@@ -1,11 +1,11 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.36.0.+-- This file has been generated from package.yaml by hpack version 0.38.1. -- -- see: https://github.com/sol/hpack name: morpheus-graphql-server-version: 0.28.1+version: 0.28.2 synopsis: Morpheus GraphQL description: Build GraphQL APIs with your favourite functional language! category: web, graphql@@ -358,17 +358,17 @@ build-depends: aeson >=1.4.4 && <3.0.0 , base >=4.7.0 && <5.0.0- , bytestring >=0.10.4 && <0.15.0- , containers >=0.4.2.1 && <=0.7+ , bytestring >=0.10.4 && <1.0.0+ , containers >=0.4.2.1 && <1.0.0 , morpheus-graphql-app >=0.28.0 && <0.29.0 , morpheus-graphql-core >=0.28.0 && <0.29.0 , mtl >=2.0.0 && <3.0.0 , relude >=0.3.0 && <2.0.0 , template-haskell >=2.0.0 && <3.0.0 , text >=1.2.3 && <3.0.0- , transformers >=0.3.0 && <0.7.0- , unordered-containers >=0.2.8 && <0.3.0- , vector >=0.12.0.1 && <0.15.0+ , transformers >=0.3.0 && <1.0.0+ , unordered-containers >=0.2.8 && <1.0.0+ , vector >=0.12.0.1 && <1.0.0 default-language: Haskell2010 test-suite morpheus-graphql-server-test@@ -412,8 +412,8 @@ build-depends: aeson >=1.4.4 && <3.0.0 , base >=4.7.0 && <5.0.0- , bytestring >=0.10.4 && <0.15.0- , containers >=0.4.2.1 && <=0.7+ , bytestring >=0.10.4 && <1.0.0+ , containers >=0.4.2.1 && <1.0.0 , file-embed >=0.0.10 && <1.0.0 , morpheus-graphql-app >=0.28.0 && <0.29.0 , morpheus-graphql-core >=0.28.0 && <0.29.0@@ -422,11 +422,11 @@ , morpheus-graphql-tests >=0.28.0 && <0.29.0 , mtl >=2.0.0 && <3.0.0 , relude >=0.3.0 && <2.0.0- , tasty >=0.1.0 && <=1.5+ , tasty >=0.1.0 && <2.0.0 , tasty-hunit >=0.1.0 && <1.0.0 , template-haskell >=2.0.0 && <3.0.0 , text >=1.2.3 && <3.0.0- , transformers >=0.3.0 && <0.7.0- , unordered-containers >=0.2.8 && <0.3.0- , vector >=0.12.0.1 && <0.15.0+ , transformers >=0.3.0 && <1.0.0+ , unordered-containers >=0.2.8 && <1.0.0+ , vector >=0.12.0.1 && <1.0.0 default-language: Haskell2010
src/Data/Morpheus/Server/Deriving/App.hs view
@@ -62,10 +62,10 @@ where deriveApp :: f m event qu mu su -> App event m -instance RootResolverConstraint m e query mut sub => DeriveApp RootResolver m e query mut sub where+instance (RootResolverConstraint m e query mut sub) => DeriveApp RootResolver m e query mut sub where deriveApp root = resultOr FailApp (uncurry mkApp) $ (,) <$> deriveSchema (Identity root) <*> deriveResolvers root -instance NamedResolversConstraint m e query mut sub => DeriveApp NamedResolvers m e query mut sub where+instance (NamedResolversConstraint m e query mut sub) => DeriveApp NamedResolvers m e query mut sub where deriveApp root = resultOr FailApp (uncurry mkApp) $ (,deriveNamedResolvers root) <$> deriveSchema (Identity root)
src/Data/Morpheus/Server/Deriving/Internal/Type.hs view
@@ -210,8 +210,8 @@ GQLResult (TypeDefinition cat CONST) toTypeDefinition ctx proxy content = do dirs <- serializeDirectives ctx (getTypeDirectives ctx proxy)- pure $- TypeDefinition+ pure+ $ TypeDefinition (visitTypeDescription ctx proxy Nothing) (useTypename ctx proxy) dirs
src/Data/Morpheus/Server/Deriving/Internal/Value.hs view
@@ -69,11 +69,11 @@ | name `elem` left = L1 <$> decodeRep drv value | name `elem` right = R1 <$> decodeRep drv value | otherwise =- throwError $- internal $- "Constructor \""- <> msg name- <> "\" could not find in Union"+ throwError+ $ internal+ $ "Constructor \""+ <> msg name+ <> "\" could not find in Union" class DecodeRep ctx (f :: Type -> Type) where decodeRep :: ctx -> ValidValue -> DecoderT (f a)
src/Data/Morpheus/Server/Deriving/Kinded/Channels.hs view
@@ -110,7 +110,8 @@ instance (MonadResolver m, MonadOperation m ~ SUBSCRIPTION, MonadEvent m ~ e, val arg) => GetChannel val e (arg -> SubscriptionField (m a)) where getChannel drv f sel@Selection {selectionArguments} = useDecodeArguments drv selectionArguments- >>= flip (getChannel drv) sel . f+ >>= flip (getChannel drv) sel+ . f ------------------------------------------------------
src/Data/Morpheus/Server/Deriving/Kinded/NamedResolverFun.hs view
@@ -128,8 +128,10 @@ instance (UseNamedResolver namedRes res gql val ~ ctx, Monad m, val a, MonadResolver m, res m b) => KindedNamedFunValue ctx CUSTOM m (a -> b) where kindedNamedFunValue ctx (Kinded f) = getArguments- >>= liftState . useDecodeArguments (namedDrv ctx)- >>= useNamedFieldResolver ctx . f+ >>= liftState+ . useDecodeArguments (namedDrv ctx)+ >>= useNamedFieldResolver ctx+ . f getOptions :: UseNamedResolver namedRes res gql val -> GRepFun gql (res m) Identity (m (ResolverValue m)) getOptions ctx =
src/Data/Morpheus/Server/Deriving/Kinded/Resolver.hs view
@@ -75,8 +75,11 @@ instance (UseResolver res gql val ~ ctx, Generic a, res m b, val a) => KindedResolver ctx CUSTOM m (a -> b) where kindedResolver res (Kinded f) = getArguments- >>= liftState . useDecodeValue res . argumentsToObject- >>= useEncodeResolver res . f+ >>= liftState+ . useDecodeValue res+ . argumentsToObject+ >>= useEncodeResolver res+ . f instance (UseResolver res gql val ~ ctx, res m a) => KindedResolver ctx CUSTOM m (m a) where kindedResolver res (Kinded value) = value >>= useEncodeResolver res
src/Data/Morpheus/Server/Deriving/Schema.hs view
@@ -123,15 +123,15 @@ failureRequirePrefix :: TypeName -> GQLResult b failureRequirePrefix typename =- throwError $- "It appears that the Haskell type "- <> msg typename- <> " was used as both input and output type, which is not allowed by GraphQL specifications."- <> "\n\n "- <> "If you use \"InputTypeNamespace\" directive, "- <> "you can override the default type names for "- <> msg typename- <> " to solve this problem."+ throwError+ $ "It appears that the Haskell type "+ <> msg typename+ <> " was used as both input and output type, which is not allowed by GraphQL specifications."+ <> "\n\n "+ <> "If you use \"InputTypeNamespace\" directive, "+ <> "you can override the default type names for "+ <> msg typename+ <> " to solve this problem." withSameCategory :: TypeFingerprint -> TypeFingerprint withSameCategory (TypeableFingerprint _ xs) = TypeableFingerprint OUT xs
src/Data/Morpheus/Server/Deriving/Utils/Types.hs view
@@ -101,11 +101,11 @@ -- if value is already validated but value has different type typeMismatch :: GQLError -> Value s -> GQLError typeMismatch text jsType =- internal $- "Type mismatch! expected:"- <> text- <> ", got: "- <> msg jsType+ internal+ $ "Type mismatch! expected:"+ <> text+ <> ", got: "+ <> msg jsType coerceInputObject :: (MonadError GQLError m) => ValidValue -> m ValidObject coerceInputObject (Object object) = pure object
src/Data/Morpheus/Server/Resolvers.hs view
@@ -68,7 +68,8 @@ event (query :: (Type -> Type) -> Type) (mutation :: (Type -> Type) -> Type)- (subscription :: (Type -> Type) -> Type) = RootResolver+ (subscription :: (Type -> Type) -> Type)+ = RootResolver { queryResolver :: query (Resolver QUERY event m), mutationResolver :: mutation (Resolver MUTATION event m), subscriptionResolver :: subscription (Resolver SUBSCRIPTION event m)
src/Data/Morpheus/Server/Types/Directives.hs view
@@ -110,7 +110,7 @@ instance ToLocations '[] where toLocations _ = [] -getLocations :: forall f a. ToLocations (DIRECTIVE_LOCATIONS a) => f a -> [DirectiveLocation]+getLocations :: forall f a. (ToLocations (DIRECTIVE_LOCATIONS a)) => f a -> [DirectiveLocation] getLocations _ = toLocations (Proxy :: Proxy (DIRECTIVE_LOCATIONS a)) type ALLOWED (a :: Type) (l :: [DirectiveLocation]) = OVERLAPS l (DIRECTIVE_LOCATIONS a)@@ -140,16 +140,16 @@ -- TYPE VISITORS -visitTypeName' :: forall a. GQLDirective a => a -> Bool -> TypeName -> TypeName+visitTypeName' :: forall a. (GQLDirective a) => a -> Bool -> TypeName -> TypeName visitTypeName' = __visitTypeName (Proxy :: Proxy (ALLOWED a TYPE_VISITOR_KIND)) -visitTypeDescription' :: forall a. GQLDirective a => a -> Maybe Description -> Maybe Description+visitTypeDescription' :: forall a. (GQLDirective a) => a -> Maybe Description -> Maybe Description visitTypeDescription' = __visitTypeDescription (Proxy :: Proxy (ALLOWED a TYPE_VISITOR_KIND)) -visitFieldNames' :: forall a. GQLDirective a => a -> FieldName -> FieldName+visitFieldNames' :: forall a. (GQLDirective a) => a -> FieldName -> FieldName visitFieldNames' = __visitFieldNames (Proxy :: Proxy (ALLOWED a TYPE_VISITOR_KIND)) -visitEnumNames' :: forall a. GQLDirective a => a -> TypeName -> TypeName+visitEnumNames' :: forall a. (GQLDirective a) => a -> TypeName -> TypeName visitEnumNames' = __visitEnumNames (Proxy :: Proxy (ALLOWED a TYPE_VISITOR_KIND)) class VISIT_TYPE a (t :: Bool) where@@ -164,7 +164,7 @@ __visitFieldNames _ _ = id __visitEnumNames _ _ = id -instance Visitors.VisitType a => VISIT_TYPE a TRUE where+instance (Visitors.VisitType a) => VISIT_TYPE a TRUE where __visitTypeName _ x isInput name = packName $ Visitors.visitTypeName x isInput (unpackName name) __visitTypeDescription _ = Visitors.visitTypeDescription __visitFieldNames _ x = packName . Visitors.visitFieldNames x . unpackName@@ -172,13 +172,13 @@ -- FIELD VISITORS -visitFieldName' :: forall a. GQLDirective a => a -> FieldName -> FieldName+visitFieldName' :: forall a. (GQLDirective a) => a -> FieldName -> FieldName visitFieldName' = __visitFieldName (Proxy :: Proxy (ALLOWED a FIELD_VISITOR_KIND)) -visitFieldDescription' :: forall a. GQLDirective a => a -> Maybe Description -> Maybe Description+visitFieldDescription' :: forall a. (GQLDirective a) => a -> Maybe Description -> Maybe Description visitFieldDescription' = __visitFieldDescription (Proxy :: Proxy (ALLOWED a FIELD_VISITOR_KIND)) -visitFieldDefaultValue' :: forall a. GQLDirective a => a -> Maybe (Value CONST) -> Maybe (Value CONST)+visitFieldDefaultValue' :: forall a. (GQLDirective a) => a -> Maybe (Value CONST) -> Maybe (Value CONST) visitFieldDefaultValue' = __visitFieldDefaultValue (Proxy :: Proxy (ALLOWED a FIELD_VISITOR_KIND)) class VISIT_FIELD a (t :: Bool) where@@ -191,17 +191,17 @@ __visitFieldDescription _ _ = id __visitFieldDefaultValue _ _ = id -instance Visitors.VisitField a => VISIT_FIELD a TRUE where+instance (Visitors.VisitField a) => VISIT_FIELD a TRUE where __visitFieldName _ x name = packName $ Visitors.visitFieldName x (unpackName name) __visitFieldDescription _ = Visitors.visitFieldDescription __visitFieldDefaultValue _ = Visitors.visitFieldDefaultValue -- VISIT_ENUM -visitEnumName' :: forall a. GQLDirective a => a -> TypeName -> TypeName+visitEnumName' :: forall a. (GQLDirective a) => a -> TypeName -> TypeName visitEnumName' = __visitEnumName (Proxy :: Proxy (ALLOWED a ENUM_VISITOR_KIND)) -visitEnumDescription' :: forall a. GQLDirective a => a -> Maybe Description -> Maybe Description+visitEnumDescription' :: forall a. (GQLDirective a) => a -> Maybe Description -> Maybe Description visitEnumDescription' = __visitEnumDescription (Proxy :: Proxy (ALLOWED a ENUM_VISITOR_KIND)) class VISIT_ENUM a (t :: Bool) where@@ -212,7 +212,7 @@ __visitEnumName _ _ = id __visitEnumDescription _ _ = id -instance Visitors.VisitEnum a => VISIT_ENUM a TRUE where+instance (Visitors.VisitEnum a) => VISIT_ENUM a TRUE where __visitEnumName _ x name = packName $ Visitors.visitEnumName x (unpackName name) __visitEnumDescription _ = Visitors.visitEnumDescription
test/Feature/Collision/CategoryCollisionFail.hs view
@@ -47,8 +47,8 @@ { queryResolver = Query { deity =- const $- pure+ const+ $ pure Deity { name = "Morpheus",
test/Feature/Collision/CategoryCollisionSuccess.hs view
@@ -59,8 +59,8 @@ { queryResolver = Query { deity =- const $- pure+ const+ $ pure Deity { name = "Morpheus",
test/Feature/Input/Collections.hs view
@@ -31,7 +31,7 @@ import GHC.Generics (Generic) -- query-testRes :: Applicative m => Arg "value" a -> m a+testRes :: (Applicative m) => Arg "value" a -> m a testRes = pure . argValue type Coll m a = Arg "value" a -> m a
test/Feature/Input/Enums.hs view
@@ -47,7 +47,7 @@ deriving (Generic, Show, GQLType) -- query-testRes :: Applicative m => TestArgs a -> m a+testRes :: (Applicative m) => TestArgs a -> m a testRes TestArgs {level} = pure level -- resolver
test/Feature/Input/Objects.hs view
@@ -37,7 +37,7 @@ deriving (Generic, Show, GQLType) -- query-testRes :: Show a => Applicative m => Arg a -> m Text+testRes :: (Show a) => (Applicative m) => Arg a -> m Text testRes Arg {value} = pure $ pack $ show value -- resolver
test/Feature/Input/Scalars.hs view
@@ -27,7 +27,7 @@ deriving (Generic, Show, GQLType) -- query-testRes :: Applicative m => Arg a -> m a+testRes :: (Applicative m) => Arg a -> m a testRes Arg {value} = pure value -- resolver
test/Feature/NamedResolvers/DB.hs view
@@ -40,7 +40,7 @@ getPlace "morpheus" = pure "dreams" getPlace x = pure x -getDocsById :: Monad m => ID -> m (Maybe Text)+getDocsById :: (Monad m) => ID -> m (Maybe Text) getDocsById "morpheus" = pure $ Just "the god of dreams" getDocsById "zeus" = pure $ Just "the king of the gods" getDocsById "olympus" = pure $ Just "Mountain"
test/Feature/NamedResolvers/DeitiesApp.hs view
@@ -36,11 +36,11 @@ getPower "tb" = pure (Just Thunderbolt) getPower _ = pure Nothing -getDeity :: Monad m => ID -> m (Maybe (Deity (NamedResolverT m)))+getDeity :: (Monad m) => ID -> m (Maybe (Deity (NamedResolverT m))) getDeity uid | uid `elem` allDeities =- pure $- Just+ pure+ $ Just Deity { name = resolve (getDeityName uid), power = resolve (getPowers uid),@@ -59,13 +59,13 @@ instance ResolveNamed m (Query (NamedResolverT m)) where type Dep (Query (NamedResolverT m)) = () resolveBatched =- ignoreBatching $- const $- pure- Query- { deity = \(Arg uid) -> resolve (pure uid),- deities = resolve (pure allDeities)- }+ ignoreBatching+ $ const+ $ pure+ Query+ { deity = \(Arg uid) -> resolve (pure uid),+ deities = resolve (pure allDeities)+ } deitiesApp :: App () IO deitiesApp = deriveApp (NamedResolvers :: NamedResolvers IO () Query Undefined Undefined)
test/Feature/NamedResolvers/EntitiesApp.hs view
@@ -46,13 +46,13 @@ instance ResolveNamed m (Query (NamedResolverT m)) where type Dep (Query (NamedResolverT m)) = () resolveBatched =- ignoreBatching $- const $- pure- Query- { entities = resolve (pure allEntities),- entity = \(Arg uid) -> resolve (pure uid)- }+ ignoreBatching+ $ const+ $ pure+ Query+ { entities = resolve (pure allEntities),+ entity = \(Arg uid) -> resolve (pure uid)+ } entitiesApp :: App () IO entitiesApp = deriveApp (NamedResolvers :: NamedResolvers IO () Query Undefined Undefined)
test/Feature/NamedResolvers/RealmsApp.hs view
@@ -41,8 +41,8 @@ getRealm :: (Monad m) => ID -> m (Maybe (Realm (NamedResolverT m))) getRealm uid | uid `elem` allRealms =- pure $- Just+ pure+ $ Just Realm { name = resolve (getRealmName uid), owner = resolve (getOwner uid),@@ -67,13 +67,13 @@ instance ResolveNamed m (Query (NamedResolverT m)) where type Dep (Query (NamedResolverT m)) = () resolveBatched =- ignoreBatching $- const $- pure- Query- { realm = \(Arg arg) -> resolve (pure arg),- realms = resolve (pure allRealms)- }+ ignoreBatching+ $ const+ $ pure+ Query+ { realm = \(Arg arg) -> resolve (pure arg),+ realms = resolve (pure allRealms)+ } realmsApp :: App () IO realmsApp =