sangria.validation.rules.overlappingfields

Members list

Type members

Classlikes

class CachedCheck

Implements the algorithm for validating "Field Selection Merging" as described in: https://tech.xing.com/graphql-overlapping-fields-can-be-merged-fast-ea6e92e0a01

Implements the algorithm for validating "Field Selection Merging" as described in: https://tech.xing.com/graphql-overlapping-fields-can-be-merged-fast-ea6e92e0a01

Should have the same effect as the algorithm in the GraphQL Specification: https://graphql.github.io/graphql-spec/draft/#sec-Field-Selection-Merging

Attributes

Supertypes
class Object
trait Matchable
class Any
final class FieldNameAndArguments(field: Field)

A hashable representation of field name and arguments, used to check uniqueness of them in a set of fields

A hashable representation of field name and arguments, used to check uniqueness of them in a set of fields

Two fields also have the same name and arguments when the order of arguments differs.

Attributes

Supertypes
class Object
trait Matchable
class Any
final class OutputName(val name: String) extends AnyVal

Attributes

Supertypes
class AnyVal
trait Matchable
class Any

For the validation we need another representation of the query that already contains the effective selection sets for each field and certain properties of the fields. As we don't want to adapt the sangria representation, we build our own here during traversal of the query.

For the validation we need another representation of the query that already contains the effective selection sets for each field and certain properties of the fields. As we don't want to adapt the sangria representation, we build our own here during traversal of the query.

Attributes

Supertypes
class Object
trait Matchable
class Any
case class SelectionConflictViolation(outputName: OutputName, reason: String, sourceMapper: Option[SourceMapper], locations: List[AstLocation]) extends AstNodeViolation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Violation
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
class Object
trait Matchable
class Any

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
class SortedArraySet[T](sortedMembers: ArrayList[T]) extends Iterable[T]

A set representation that is well suited to hash and equality comparisons and fast iteration over members

A set representation that is well suited to hash and equality comparisons and fast iteration over members

Attributes

Companion
object
Supertypes
trait Iterable[T]
class Object
trait Matchable
class Any

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
sealed trait TypeAbstractness

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Abstract.type
class Concrete

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
sealed trait TypeShape

A representation of the output shape of a field

A representation of the output shape of a field

Used to check uniqueness of the output shape in an overlapping set of fields

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Known
object Unknown.type
object TypeShape

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
TypeShape.type