morpheus-graphql-code-gen 0.25.0 → 0.26.0
raw patch · 4 files changed
+21/−21 lines, 4 filesdep ~morpheus-graphql-code-gen-utilsdep ~morpheus-graphql-coredep ~morpheus-graphql-serverPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: morpheus-graphql-code-gen-utils, morpheus-graphql-core, morpheus-graphql-server
API changes (from Hackage documentation)
Files
- morpheus-graphql-code-gen.cabal +6/−6
- src/Data/Morpheus/CodeGen/Server/Interpreting/Directive.hs +4/−4
- src/Data/Morpheus/CodeGen/Server/Interpreting/Transform.hs +3/−3
- src/Data/Morpheus/CodeGen/Server/Interpreting/Utils.hs +8/−8
morpheus-graphql-code-gen.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: morpheus-graphql-code-gen-version: 0.25.0+version: 0.26.0 synopsis: Morpheus GraphQL CLI description: code generator for Morpheus GraphQL category: web, graphql, cli@@ -44,9 +44,9 @@ , bytestring >=0.10.4 && <0.12.0 , containers >=0.4.2.1 && <0.7.0 , file-embed >=0.0.10 && <1.0.0- , morpheus-graphql-code-gen-utils >=0.25.0 && <0.26.0- , morpheus-graphql-core >=0.25.0 && <0.26.0- , morpheus-graphql-server >=0.25.0 && <0.26.0+ , morpheus-graphql-code-gen-utils >=0.26.0 && <0.27.0+ , morpheus-graphql-core >=0.26.0 && <0.27.0+ , morpheus-graphql-server >=0.26.0 && <0.27.0 , prettyprinter >=1.7.0 && <2.0.0 , relude >=0.3.0 && <2.0.0 , template-haskell >=2.0.0 && <3.0.0@@ -75,8 +75,8 @@ , morpheus-graphql-client , morpheus-graphql-code-gen , morpheus-graphql-code-gen-utils- , morpheus-graphql-core >=0.25.0 && <0.26.0- , morpheus-graphql-server >=0.25.0 && <0.26.0+ , morpheus-graphql-core >=0.26.0 && <0.27.0+ , morpheus-graphql-server >=0.26.0 && <0.27.0 , optparse-applicative >=0.12.0 && <0.18.0 , prettyprinter >=1.7.0 && <2.0.0 , relude >=0.3.0 && <2.0.0
src/Data/Morpheus/CodeGen/Server/Interpreting/Directive.hs view
@@ -22,7 +22,7 @@ import Data.Morpheus.CodeGen.Server.Internal.AST (ServerDirectiveUsage (..), TypeValue (..), unpackName) import Data.Morpheus.CodeGen.Server.Interpreting.Utils ( CodeGenT,- TypeContext (..),+ ServerCodeGenContext (..), getEnumName, getFieldName, inType,@@ -67,7 +67,7 @@ defValDirective :: Value CONST -> TypeValue defValDirective desc = TypeValueObject "DefaultValue" [("defaultValue", PrintableTypeValue $ PrintableValue desc)] -getNamespaceDirs :: MonadReader (TypeContext s) m => Text -> m [ServerDirectiveUsage]+getNamespaceDirs :: MonadReader (ServerCodeGenContext s) m => Text -> m [ServerDirectiveUsage] getNamespaceDirs genTypeName = do namespaces <- asks hasNamespace pure [TypeDirectiveUsage (dirDropNamespace genTypeName) | namespaces]@@ -135,7 +135,7 @@ isUpperCase :: Name t -> Bool isUpperCase = isUpper . head . unpackName -getDirective :: (MonadReader (TypeContext CONST) m, MonadFail m) => FieldName -> m (DirectiveDefinition CONST)+getDirective :: (MonadReader (ServerCodeGenContext CONST) m, MonadFail m) => FieldName -> m (DirectiveDefinition CONST) getDirective directiveName = do dirs <- asks directiveDefinitions case find (\DirectiveDefinition {directiveDefinitionName} -> directiveDefinitionName == directiveName) dirs of@@ -150,7 +150,7 @@ (IsMap FieldName c, MonadFail m) => c (Argument CONST) -> ArgumentDefinition s ->- ReaderT (TypeContext CONST) m (FieldName, TypeValue)+ ReaderT (ServerCodeGenContext CONST) m (FieldName, TypeValue) renderArgumentValue args ArgumentDefinition {..} = do let dirName = AST.fieldName argument gqlValue <- selectOr (pure AST.Null) (pure . argumentValue) dirName args
src/Data/Morpheus/CodeGen/Server/Interpreting/Transform.hs view
@@ -37,7 +37,7 @@ ServerMethod (..), ) import Data.Morpheus.CodeGen.Server.Interpreting.Directive (dirRename, getDefaultValueDir, getDirs, getNamespaceDirs)-import Data.Morpheus.CodeGen.Server.Interpreting.Utils (CodeGenMonad (printWarnings), CodeGenT, TypeContext (..), getEnumName, getFieldName, inType, isParamResolverType, isSubscription)+import Data.Morpheus.CodeGen.Server.Interpreting.Utils (CodeGenMonad (printWarnings), CodeGenT, ServerCodeGenContext (..), getEnumName, getFieldName, inType, isParamResolverType, isSubscription) import Data.Morpheus.CodeGen.TH (ToName (..)) import Data.Morpheus.CodeGen.Utils ( camelCaseTypeName,@@ -95,7 +95,7 @@ generateTypes (RawTypeDefinition typeDef) = runReaderT (genTypeDefinition typeDef)- TypeContext+ ServerCodeGenContext { toArgsTypeName = mkArgsTypeName namespace (typeName typeDef), typeDefinitions, directiveDefinitions,@@ -133,7 +133,7 @@ } ] )- TypeContext+ ServerCodeGenContext { toArgsTypeName = coerce, typeDefinitions, currentTypeName = Just (coerce directiveDefinitionName),
src/Data/Morpheus/CodeGen/Server/Interpreting/Utils.hs view
@@ -8,7 +8,7 @@ module Data.Morpheus.CodeGen.Server.Interpreting.Utils ( CodeGenMonad (..),- TypeContext (..),+ ServerCodeGenContext (..), CodeGenT, getFieldName, getEnumName,@@ -57,9 +57,9 @@ ) import Relude hiding (ByteString, get) -type CodeGenT m = ReaderT (TypeContext CONST) m+type CodeGenT m = ReaderT (ServerCodeGenContext CONST) m -data TypeContext s = TypeContext+data ServerCodeGenContext s = ServerCodeGenContext { toArgsTypeName :: FieldName -> TypeName, typeDefinitions :: [TypeDefinition ANY s], directiveDefinitions :: [DirectiveDefinition s],@@ -70,15 +70,15 @@ getFieldName :: Monad m => FieldName -> CodeGenT m FieldName getFieldName fieldName = do- TypeContext {hasNamespace, currentTypeName} <- ask+ ServerCodeGenContext {hasNamespace, currentTypeName} <- ask pure $ if hasNamespace then maybe fieldName (`camelCaseFieldName` fieldName) currentTypeName else fieldName -getEnumName :: MonadReader (TypeContext s) m => TypeName -> m CodeGenTypeName+getEnumName :: MonadReader (ServerCodeGenContext s) m => TypeName -> m CodeGenTypeName getEnumName enumName = do- TypeContext {hasNamespace, currentTypeName} <- ask+ ServerCodeGenContext {hasNamespace, currentTypeName} <- ask pure $ if hasNamespace then CodeGenTypeName (map coerce $ maybeToList currentTypeName) [] enumName@@ -122,7 +122,7 @@ Just x -> pure (isResolverType x) Nothing -> lift (isParametrizedType name) -isParamResolverType :: CodeGenMonad m => TypeName -> ReaderT (TypeContext CONST) m Bool+isParamResolverType :: CodeGenMonad m => TypeName -> ReaderT (ServerCodeGenContext CONST) m Bool isParamResolverType typeConName = isParametrizedResolverType typeConName =<< asks typeDefinitions @@ -149,5 +149,5 @@ isSubscription (KindObject (Just Subscription)) = True isSubscription _ = False -inType :: MonadReader (TypeContext s) m => Maybe TypeName -> m a -> m a+inType :: MonadReader (ServerCodeGenContext s) m => Maybe TypeName -> m a -> m a inType name = local (\x -> x {currentTypeName = name, currentKind = Nothing})