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

caliban.parsing.adt.Selection.scala Maven / Gradle / Ivy

The newest version!
package caliban.parsing.adt

import caliban.InputValue
import caliban.parsing.adt.Type.NamedType

sealed trait Selection extends Serializable {
  @transient final override lazy val hashCode: Int = super.hashCode()
}

object Selection {

  case class Field(
    alias: Option[String],
    name: String,
    arguments: Map[String, InputValue],
    directives: List[Directive],
    selectionSet: List[Selection],
    index: Int
  ) extends Selection

  case class FragmentSpread(name: String, directives: List[Directive]) extends Selection

  case class InlineFragment(
    typeCondition: Option[NamedType],
    dirs: List[Directive],
    selectionSet: List[Selection]
  ) extends Selection

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy