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

commonMain.it.unibo.alchemist.boundary.graphql.client.NodesSubscription.kt Maven / Gradle / Ivy

The newest version!
//
// AUTO-GENERATED FILE. DO NOT MODIFY.
//
// This class was automatically generated by Apollo GraphQL version '4.0.0-beta.7'.
//
package it.unibo.alchemist.boundary.graphql.client

import com.apollographql.apollo3.annotations.ApolloAdaptableWith
import com.apollographql.apollo3.api.Adapter
import com.apollographql.apollo3.api.CompiledField
import com.apollographql.apollo3.api.CustomScalarAdapters
import com.apollographql.apollo3.api.Subscription
import com.apollographql.apollo3.api.json.JsonWriter
import com.apollographql.apollo3.api.obj
import it.unibo.alchemist.boundary.graphql.client.adapter.NodesSubscription_ResponseAdapter
import it.unibo.alchemist.boundary.graphql.client.selections.NodesSubscriptionSelections
import kotlin.Any
import kotlin.Boolean
import kotlin.Double
import kotlin.Int
import kotlin.String
import kotlin.collections.List
import it.unibo.alchemist.boundary.graphql.client.type.Subscription as CompiledSubscription

public class NodesSubscription() : Subscription {
  override val ignoreErrors: Boolean = false

  override fun equals(other: Any?): Boolean = other != null && other::class == this::class

  override fun hashCode(): Int = this::class.hashCode()

  override fun id(): String = OPERATION_ID

  override fun document(): String = OPERATION_DOCUMENT

  override fun name(): String = OPERATION_NAME

  override fun serializeVariables(
    writer: JsonWriter,
    customScalarAdapters: CustomScalarAdapters,
    withDefaultValues: Boolean,
  ) {
    // This operation doesn't have any variable
  }

  override fun adapter(): Adapter = NodesSubscription_ResponseAdapter.Data.obj()

  override fun rootField(): CompiledField = CompiledField.Builder(
    name = "data",
    type = CompiledSubscription.type
  )
  .selections(selections = NodesSubscriptionSelections.__root)
  .build()

  @ApolloAdaptableWith(NodesSubscription_ResponseAdapter.Data::class)
  public data class Data(
    /**
     * The simulation
     */
    public val simulation: Simulation,
  ) : Subscription.Data

  public data class Simulation(
    /**
     * The status of the simulation
     */
    public val status: String,
    /**
     * The time of the simulation
     */
    public val time: Double,
    /**
     * The environment of the simulation
     */
    public val environment: Environment,
  )

  public data class Environment(
    /**
     * The nodes in this environment
     */
    public val nodes: List,
  )

  public data class Node(
    /**
     * List of Molecule-Concentration pairs
     */
    public val contents: Contents,
  )

  public data class Contents(
    /**
     * The list of pairs Molecule-Concentration
     */
    public val entries: List,
  )

  public data class Entry(
    public val molecule: Molecule,
    public val concentration: String,
  )

  public data class Molecule(
    public val name: String,
  )

  public companion object {
    public const val OPERATION_ID: String =
        "cc550025b768bafd5d1308ca56f57ab8aa919cd5a8e297b9231d58b8a4cb7385"

    /**
     * The minimized GraphQL document being sent to the server to save a few bytes.
     * The un-minimized version is:
     *
     * ```
     * subscription NodesSubscription {
     *   simulation {
     *     status
     *     time
     *     environment {
     *       nodes {
     *         contents {
     *           entries {
     *             molecule {
     *               name
     *             }
     *             concentration
     *           }
     *         }
     *       }
     *     }
     *   }
     * }
     * ```
     */
    public val OPERATION_DOCUMENT: String
      get() =
          "subscription NodesSubscription { simulation { status time environment { nodes { contents { entries { molecule { name } concentration } } } } } }"

    public const val OPERATION_NAME: String = "NodesSubscription"
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy