fun generate()

in graphql-dgs-codegen-core/src/main/kotlin/com/netflix/graphql/dgs/codegen/generators/EntitiesRepresentationTypeGeneratorUtils.kt [36:65]


    fun generate(
        config: CodeGenConfig,
        definition: ObjectTypeDefinition,
        generatedRepresentations: MutableMap<String, Any>,
        representationGenerator: RepresentationGenerator,
    ): CodeGenResult {
        if (config.skipEntityQueries) {
            return CodeGenResult.EMPTY
        }
        val representationName = toRepresentationName(definition)
        if (representationName in generatedRepresentations) {
            return CodeGenResult.EMPTY
        }

        val directiveArg =
            definition
                .getDirectives("key")
                .map { it.argumentsByName["fields"]?.value as StringValue }
                .map { it.value }

        val keyFields = parseKeyDirectiveValue(directiveArg)

        return representationGenerator.generate(
            definition.name,
            representationName,
            definition.fieldDefinitions,
            generatedRepresentations,
            keyFields,
        )
    }