11package graphql.kickstart.tools
22
3+ import graphql.language.Description
34import graphql.language.SchemaDefinition
45import graphql.language.TypeName
56
@@ -9,7 +10,8 @@ import graphql.language.TypeName
910internal class RootTypeInfo private constructor(
1011 private val queryType : TypeName ? ,
1112 private val mutationType : TypeName ? ,
12- private val subscriptionType : TypeName ?
13+ private val subscriptionType : TypeName ? ,
14+ private val description : Description ?
1315) {
1416 companion object {
1517 const val DEFAULT_QUERY_NAME = " Query"
@@ -20,14 +22,16 @@ internal class RootTypeInfo private constructor(
2022 val queryType = definitions.lastOrNull()?.operationTypeDefinitions?.find { it.name == " query" }?.typeName
2123 val mutationType = definitions.lastOrNull()?.operationTypeDefinitions?.find { it.name == " mutation" }?.typeName
2224 val subscriptionType = definitions.lastOrNull()?.operationTypeDefinitions?.find { it.name == " subscription" }?.typeName
25+ val description = definitions.lastOrNull()?.description
2326
24- return RootTypeInfo (queryType, mutationType, subscriptionType)
27+ return RootTypeInfo (queryType, mutationType, subscriptionType, description )
2528 }
2629 }
2730
2831 fun getQueryName () = queryType?.name ? : DEFAULT_QUERY_NAME
2932 fun getMutationName () = mutationType?.name ? : DEFAULT_MUTATION_NAME
3033 fun getSubscriptionName () = subscriptionType?.name ? : DEFAULT_SUBSCRIPTION_NAME
34+ fun getDescription () = description?.content
3135
3236 fun isMutationRequired () = mutationType != null
3337 fun isSubscriptionRequired () = subscriptionType != null
0 commit comments