in graphql-dgs-codegen-core/src/main/kotlin/com/netflix/graphql/dgs/codegen/generators/kotlin/KotlinDataTypeGenerator.kt [55:94]
fun generate(
definition: ObjectTypeDefinition,
extensions: List<ObjectTypeExtensionDefinition>,
): CodeGenResult {
if (definition.shouldSkip(config)) {
return CodeGenResult.EMPTY
}
logger.info("Generating data type {}", definition.name)
val fields =
definition.fieldDefinitions
.filterSkipped()
.filter(ReservedKeywordFilter.filterInvalidNames)
.map {
Field(
it.name,
typeUtils.findReturnType(it.type),
typeUtils.isNullable(it.type),
null,
it.description,
it.directives,
)
} +
extensions
.flatMap { it.fieldDefinitions }
.filterSkipped()
.map {
Field(
it.name,
typeUtils.findReturnType(it.type),
typeUtils.isNullable(it.type),
null,
it.description,
it.directives,
)
}
val interfaces = definition.implements + extensions.flatMap { it.implements }
return generate(definition.name, fields, interfaces, document, definition.description, definition.directives)
}