Skip to content

Commit 53a8ced

Browse files
committed
feat(codegen): move meta properties and argument resolver functions into companion object
1 parent 6bdbc15 commit 53a8ced

File tree

2 files changed

+17
-17
lines changed

2 files changed

+17
-17
lines changed

graphql-kotlin-toolkit-codegen/src/main/kotlin/com/auritylab/graphql/kotlin/toolkit/codegen/generator/fieldResolver/AbstractFieldResolverGenerator.kt

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,12 @@ internal abstract class AbstractFieldResolverGenerator(
7373
typeBuilder.addAnnotation(springBootIntegrationAnnotationSpec)
7474

7575
// Add the common functions and types.
76-
typeBuilder.addFunctions(argumentResolverFunSpecs)
77-
typeBuilder.addType(metaTypeSpec)
76+
typeBuilder.addType(
77+
TypeSpec.companionObjectBuilder()
78+
.addProperties(metaPropertySpecs)
79+
.addFunctions(argumentResolverFunSpecs)
80+
.build()
81+
)
7882

7983
builder.addType(typeBuilder.build())
8084
}
@@ -141,19 +145,15 @@ internal abstract class AbstractFieldResolverGenerator(
141145
* The meta type is required for the spring boot annotation, which relies on the values of the meta type.
142146
* As the properties of the meta type are constant they're open to use for everything.
143147
*/
144-
private val metaTypeSpec: TypeSpec =
145-
TypeSpec.companionObjectBuilder("Meta")
146-
.addProperty(
147-
PropertySpec.builder("CONTAINER", STRING, KModifier.CONST)
148-
.initializer("\"${container.name}\"")
149-
.build()
150-
)
151-
.addProperty(
152-
PropertySpec.builder("FIELD", STRING, KModifier.CONST)
153-
.initializer("\"${field.name}\"")
154-
.build()
155-
)
156-
.build()
148+
private val metaPropertySpecs: List<PropertySpec> =
149+
listOf(
150+
PropertySpec.builder("META_CONTAINER", STRING, KModifier.CONST)
151+
.initializer("\"${container.name}\"")
152+
.build(),
153+
PropertySpec.builder("META_FIELD", STRING, KModifier.CONST)
154+
.initializer("\"${field.name}\"")
155+
.build()
156+
)
157157

158158
/**
159159
* Will build the [FunSpec] for all arguments on the current [field]. The returned value also holds a [MemberName]

graphql-kotlin-toolkit-codegen/src/main/kotlin/com/auritylab/graphql/kotlin/toolkit/codegen/mapper/GeneratedMapper.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ internal class GeneratedMapper(
6767
container: GraphQLFieldsContainer,
6868
field: GraphQLFieldDefinition
6969
): MemberName =
70-
MemberName(getGeneratedFieldResolverClassName(container, field).addSimpleNames("Meta"), "CONTAINER")
70+
MemberName(getGeneratedFieldResolverClassName(container, field).addSimpleNames("Companion"), "META_CONTAINER")
7171

7272
/**
7373
* Will return the [MemberName] which points to a string which contains the name of the field for the given field resolver.
@@ -76,7 +76,7 @@ internal class GeneratedMapper(
7676
container: GraphQLFieldsContainer,
7777
field: GraphQLFieldDefinition
7878
): MemberName =
79-
MemberName(getGeneratedFieldResolverClassName(container, field).addSimpleNames("Meta"), "FIELD")
79+
MemberName(getGeneratedFieldResolverClassName(container, field).addSimpleNames("Companion"), "META_FIELD")
8080

8181
/**
8282
* Will return the [ClassName] which points to the Environment class for the given resolver.

0 commit comments

Comments
 (0)