
commonMain.com.apollographql.apollo.ApolloClient.kt Maven / Gradle / Ivy
package com.apollographql.apollo
import com.apollographql.apollo.api.ApolloExperimental
import com.apollographql.apollo.api.ExecutionContext
import com.apollographql.apollo.api.Mutation
import com.apollographql.apollo.api.Operation
import com.apollographql.apollo.api.Query
import com.apollographql.apollo.api.ScalarTypeAdapters
import com.apollographql.apollo.interceptor.NetworkRequestInterceptor
import com.apollographql.apollo.interceptor.ApolloRequestInterceptor
import com.apollographql.apollo.internal.RealApolloCall
import com.apollographql.apollo.network.NetworkTransport
import kotlinx.coroutines.ExperimentalCoroutinesApi
@ApolloExperimental
@ExperimentalCoroutinesApi
class ApolloClient constructor(
private val networkTransport: NetworkTransport,
private val scalarTypeAdapters: ScalarTypeAdapters = ScalarTypeAdapters.DEFAULT,
private val interceptors: List = emptyList(),
private val executionContext: ExecutionContext = ExecutionContext.Empty
) {
fun mutate(mutation: Mutation): ApolloMutationCall {
return RealApolloCall(
operation = mutation,
scalarTypeAdapters = scalarTypeAdapters,
interceptors = interceptors + NetworkRequestInterceptor(networkTransport),
executionContext = executionContext
)
}
fun query(query: Query): ApolloQueryCall {
return RealApolloCall(
operation = query,
scalarTypeAdapters = scalarTypeAdapters,
interceptors = interceptors + NetworkRequestInterceptor(networkTransport),
executionContext = executionContext
)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy