//
// AUTO-GENERATED FILE. DO NOT MODIFY.
//
// This class was automatically generated by Apollo GraphQL version '3.3.0'.
//
package io.sentry.apollo4.generated.selections

import com.apollographql.apollo.api.CompiledArgument
import com.apollographql.apollo.api.CompiledArgumentDefinition
import com.apollographql.apollo.api.CompiledField
import com.apollographql.apollo.api.CompiledSelection
import com.apollographql.apollo.api.notNull
import io.sentry.apollo4.generated.type.GraphQLID
import io.sentry.apollo4.generated.type.GraphQLString
import io.sentry.apollo4.generated.type.Launch
import io.sentry.apollo4.generated.type.Mission
import io.sentry.apollo4.generated.type.Query.Companion.type
import io.sentry.apollo4.generated.type.Rocket
import kotlin.collections.List

public object LaunchDetailsQuerySelections {
    private val mission: List<CompiledSelection> =
        listOf(
            CompiledField
                .Builder(
                    name = "name",
                    type = GraphQLString.type,
                ).build(),
            CompiledField
                .Builder(
                    name = "missionPatch",
                    type = GraphQLString.type,
                ).arguments(
                    listOf(
                        CompiledArgument.Builder(CompiledArgumentDefinition.Builder("size").build()).value("LARGE").build(),
                    ),
                ).build(),
        )

    private val rocket: List<CompiledSelection> =
        listOf(
            CompiledField
                .Builder(
                    name = "name",
                    type = GraphQLString.type,
                ).build(),
            CompiledField
                .Builder(
                    name = "type",
                    type = GraphQLString.type,
                ).build(),
        )

    private val launch: List<CompiledSelection> =
        listOf(
            CompiledField
                .Builder(
                    name = "id",
                    type = GraphQLID.type.notNull(),
                ).build(),
            CompiledField
                .Builder(
                    name = "site",
                    type = GraphQLString.type,
                ).build(),
            CompiledField
                .Builder(
                    name = "mission",
                    type = Mission.type,
                ).selections(mission)
                .build(),
            CompiledField
                .Builder(
                    name = "rocket",
                    type = Rocket.type,
                ).selections(rocket)
                .build(),
        )

    public val root: List<CompiledSelection> =
        listOf(
            CompiledField
                .Builder(
                    name = "launch",
                    type = Launch.type,
                ).arguments(
                    listOf(
                        CompiledArgument.Builder(CompiledArgumentDefinition.Builder("id").build()).value("id").build(),
                    ),
                ).selections(launch)
                .build(),
        )
}
