Package-level declarations

Types

Link copied to clipboard
data class GraphQLFragmentInfo(val name: String, val document: String, val variableUsages: List<String> = emptyList())

Parsed information about a GraphQL fragment definition.

Link copied to clipboard
data class GraphQLOperationInfo(val name: String, val type: OperationType, val document: String, val sourceFile: String, val variables: List<GraphQLVariableInfo> = emptyList())

Parsed information about a single GraphQL operation (query, mutation, or subscription).

Link copied to clipboard
sealed class GraphQLType

Represents a parsed GraphQL type reference from a variable or field definition.

Link copied to clipboard
data class GraphQLVariableInfo(val name: String, val type: GraphQLType, val defaultValue: String? = null)

Parsed information about a single GraphQL operation variable.

Link copied to clipboard

Represents the type of a GraphQL operation.

Link copied to clipboard
data class OutputField(val name: String, val type: GraphQLType, val arguments: List<SchemaType.InputField> = emptyList(), val description: String? = null)

A single output field on an object or interface type. Different from SchemaType.InputField: output fields can have arguments.

Link copied to clipboard
data class ProjectedField(val responseName: String, val schemaName: String, val outputType: GraphQLType, val condition: SelectionCondition, val selectionSet: ProjectedSelectionSet? = null)

A single field after projection for a specific RuntimePath.

Link copied to clipboard
data class ProjectedSelectionSet(val parentType: String, val responsePath: ResponsePath, val runtimePath: RuntimePath, val fields: List<ProjectedField>)

A projected selection set for a specific RuntimePath.

Link copied to clipboard
data class ResponseFieldVariant(val responseName: String, val schemaName: String, val outputType: GraphQLType, val argumentsIdentity: String = "", val condition: SelectionCondition = SelectionCondition.UNCONDITIONAL, val selectionSet: ResponseSelectionSet? = null, val runtimePaths: Set<RuntimePath> = emptySet())

A single field variant in a response selection set, normalized against the schema so generators can produce correct Kotlin types.

Link copied to clipboard
data class ResponseModelIdentity(val responsePath: ResponsePath, val runtimePath: RuntimePath)

The identity of a generated response model class.

Link copied to clipboard
typealias ResponsePath = List<String>

A response path is a list of field response names from the root of the query down to a particular selection.

Link copied to clipboard
data class ResponseSelectionSet(val parentType: String, val responsePath: ResponsePath = emptyList(), val fields: List<ResponseFieldVariant>)

A normalized set of response field variants selected from a single parent type in the schema.

Link copied to clipboard
data class RuntimePath(val assignments: Map<ResponsePath, String>)

A conjunctive set of runtime type assignments. All assignments in the map must be satisfied simultaneously.

Link copied to clipboard
data class RuntimeTypeAssignment(val abstractPath: ResponsePath, val concreteType: String)

A single runtime type assignment mapping an abstract path to its concrete type. Used as a building block for RuntimePath.

Link copied to clipboard

Indexed schema metadata used during code generation.

Link copied to clipboard
sealed class SchemaType

Internal representation of a schema-level type definition.

Link copied to clipboard
data class SelectionCondition(val mayBeAbsent: Boolean = false)

Represents a condition that controls whether a selection is included in the response, derived from @include and @skip directives on fields or fragment spreads.