All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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