SelectionBuilder

sealed
trait SelectionBuilder[-Origin, +A]

Represents a selection from parent type Origin that returns a result of type A.

Companion
object
class Object
trait Matchable
class Any
class Concat[Origin, A, B]
class Field[Origin, A]
class Mapping[Origin, A, B]
class Pure[A]
SelectionBuilder[Origin, A]

Value members

Abstract methods

def withAlias(alias: String): SelectionBuilder[Origin, A]

Use the given alias for this selection

Use the given alias for this selection

def withDirective(directive: Directive): SelectionBuilder[Origin, A]

Add the given directive to the selection

Add the given directive to the selection

Concrete methods

def decode(payload: String): Either[CalibanClientError, (A, List[GraphQLResponseError], Option[Json])]

Parse the given response payload into the expected return type, with an potential list of partial errors and an optional extensions object

Parse the given response payload into the expected return type, with an potential list of partial errors and an optional extensions object

def map[B](f: A => B): SelectionBuilder[Origin, B]

Maps the result of this selection to a new type B

Maps the result of this selection to a new type B

def mapEither[B](f: A => Either[DecodingError, B]): SelectionBuilder[Origin, B]

Maps the result of this selection to a new type B or make the decoding fail with a DecodingError

Maps the result of this selection to a new type B or make the decoding fail with a DecodingError

def mapN[B, C, Res](f: (B, C) => Res)(implicit ev: A <:< (B, C)): SelectionBuilder[Origin, Res]

Maps a tupled result to a type Res using a function f with 2 parameters

Maps a tupled result to a type Res using a function f with 2 parameters

def mapN[B, C, D, Res](f: (B, C, D) => Res)(implicit ev: A <:< ((B, C), D)): SelectionBuilder[Origin, Res]

Maps a tupled result to a type Res using a function f with 3 parameters

Maps a tupled result to a type Res using a function f with 3 parameters

def mapN[B, C, D, E, Res](f: (B, C, D, E) => Res)(implicit ev: A <:< (((B, C), D), E)): SelectionBuilder[Origin, Res]

Maps a tupled result to a type Res using a function f with 4 parameters

Maps a tupled result to a type Res using a function f with 4 parameters

def mapN[B, C, D, E, F, Res](f: (B, C, D, E, F) => Res)(implicit ev: A <:< ((((B, C), D), E), F)): SelectionBuilder[Origin, Res]

Maps a tupled result to a type Res using a function f with 5 parameters

Maps a tupled result to a type Res using a function f with 5 parameters

def mapN[B, C, D, E, F, G, Res](f: (B, C, D, E, F, G) => Res)(implicit ev: A <:< (((((B, C), D), E), F), G)): SelectionBuilder[Origin, Res]

Maps a tupled result to a type Res using a function f with 6 parameters

Maps a tupled result to a type Res using a function f with 6 parameters

def mapN[B, C, D, E, F, G, H, Res](f: (B, C, D, E, F, G, H) => Res)(implicit ev: A <:< ((((((B, C), D), E), F), G), H)): SelectionBuilder[Origin, Res]

Maps a tupled result to a type Res using a function f with 7 parameters

Maps a tupled result to a type Res using a function f with 7 parameters

def mapN[B, C, D, E, F, G, H, I, Res](f: (B, C, D, E, F, G, H, I) => Res)(implicit ev: A <:< (((((((B, C), D), E), F), G), H), I)): SelectionBuilder[Origin, Res]

Maps a tupled result to a type Res using a function f with 8 parameters

Maps a tupled result to a type Res using a function f with 8 parameters

def mapN[B, C, D, E, F, G, H, I, J, Res](f: (B, C, D, E, F, G, H, I, J) => Res)(implicit ev: A <:< ((((((((B, C), D), E), F), G), H), I), J)): SelectionBuilder[Origin, Res]

Maps a tupled result to a type Res using a function f with 9 parameters

Maps a tupled result to a type Res using a function f with 9 parameters

def mapN[B, C, D, E, F, G, H, I, J, K, Res](f: (B, C, D, E, F, G, H, I, J, K) => Res)(implicit ev: A <:< (((((((((B, C), D), E), F), G), H), I), J), K)): SelectionBuilder[Origin, Res]

Maps a tupled result to a type Res using a function f with 10 parameters

Maps a tupled result to a type Res using a function f with 10 parameters

def mapN[B, C, D, E, F, G, H, I, J, K, L, Res](f: (B, C, D, E, F, G, H, I, J, K, L) => Res)(implicit ev: A <:< ((((((((((B, C), D), E), F), G), H), I), J), K), L)): SelectionBuilder[Origin, Res]

Maps a tupled result to a type Res using a function f with 11 parameters

Maps a tupled result to a type Res using a function f with 11 parameters

def mapN[B, C, D, E, F, G, H, I, J, K, L, M, Res](f: (B, C, D, E, F, G, H, I, J, K, L, M) => Res)(implicit ev: A <:< (((((((((((B, C), D), E), F), G), H), I), J), K), L), M)): SelectionBuilder[Origin, Res]

Maps a tupled result to a type Res using a function f with 12 parameters

Maps a tupled result to a type Res using a function f with 12 parameters

def mapN[B, C, D, E, F, G, H, I, J, K, L, M, N, Res](f: (B, C, D, E, F, G, H, I, J, K, L, M, N) => Res)(implicit ev: A <:< ((((((((((((B, C), D), E), F), G), H), I), J), K), L), M), N)): SelectionBuilder[Origin, Res]

Maps a tupled result to a type Res using a function f with 13 parameters

Maps a tupled result to a type Res using a function f with 13 parameters

def mapN[B, C, D, E, F, G, H, I, J, K, L, M, N, O, Res](f: (B, C, D, E, F, G, H, I, J, K, L, M, N, O) => Res)(implicit ev: A <:< (((((((((((((B, C), D), E), F), G), H), I), J), K), L), M), N), O)): SelectionBuilder[Origin, Res]

Maps a tupled result to a type Res using a function f with 14 parameters

Maps a tupled result to a type Res using a function f with 14 parameters

def mapN[B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Res](f: (B, C, D, E, F, G, H, I, J, K, L, M, N, O, P) => Res)(implicit ev: A <:< ((((((((((((((B, C), D), E), F), G), H), I), J), K), L), M), N), O), P)): SelectionBuilder[Origin, Res]

Maps a tupled result to a type Res using a function f with 15 parameters

Maps a tupled result to a type Res using a function f with 15 parameters

def mapN[B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, Res](f: (B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q) => Res)(implicit ev: A <:< (((((((((((((((B, C), D), E), F), G), H), I), J), K), L), M), N), O), P), Q)): SelectionBuilder[Origin, Res]

Maps a tupled result to a type Res using a function f with 16 parameters

Maps a tupled result to a type Res using a function f with 16 parameters

def mapN[B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, Res](f: (B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R) => Res)(implicit ev: A <:< ((((((((((((((((B, C), D), E), F), G), H), I), J), K), L), M), N), O), P), Q), R)): SelectionBuilder[Origin, Res]

Maps a tupled result to a type Res using a function f with 17 parameters

Maps a tupled result to a type Res using a function f with 17 parameters

def mapN[B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, Res](f: (B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S) => Res)(implicit ev: A <:< (((((((((((((((((B, C), D), E), F), G), H), I), J), K), L), M), N), O), P), Q), R), S)): SelectionBuilder[Origin, Res]

Maps a tupled result to a type Res using a function f with 18 parameters

Maps a tupled result to a type Res using a function f with 18 parameters

def mapN[B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, Res](f: (B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T) => Res)(implicit ev: A <:< ((((((((((((((((((B, C), D), E), F), G), H), I), J), K), L), M), N), O), P), Q), R), S), T)): SelectionBuilder[Origin, Res]

Maps a tupled result to a type Res using a function f with 19 parameters

Maps a tupled result to a type Res using a function f with 19 parameters

def mapN[B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, Res](f: (B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) => Res)(implicit ev: A <:< (((((((((((((((((((B, C), D), E), F), G), H), I), J), K), L), M), N), O), P), Q), R), S), T), U)): SelectionBuilder[Origin, Res]

Maps a tupled result to a type Res using a function f with 20 parameters

Maps a tupled result to a type Res using a function f with 20 parameters

def mapN[B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, Res](f: (B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V) => Res)(implicit ev: A <:< ((((((((((((((((((((B, C), D), E), F), G), H), I), J), K), L), M), N), O), P), Q), R), S), T), U), V)): SelectionBuilder[Origin, Res]

Maps a tupled result to a type Res using a function f with 21 parameters

Maps a tupled result to a type Res using a function f with 21 parameters

def mapN[B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, Res](f: (B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W) => Res)(implicit ev: A <:< (((((((((((((((((((((B, C), D), E), F), G), H), I), J), K), L), M), N), O), P), Q), R), S), T), U), V), W)): SelectionBuilder[Origin, Res]

Maps a tupled result to a type Res using a function f with 22 parameters

Maps a tupled result to a type Res using a function f with 22 parameters

def toGraphQL[A1 >: A, Origin1 <: Origin](useVariables: Boolean, queryName: Option[String], dropNullInputValues: Boolean)(implicit ev: IsOperation[Origin1]): GraphQLRequest

Transforms a root selection into a GraphQL request.

Transforms a root selection into a GraphQL request.

Value Params
dropNullInputValues

if true, drop all null values from input object arguments (default: false)

queryName

if specified, use the given query name

useVariables

if true, all arguments will be passed as variables (default: false)

def toRequest[A1 >: A, Origin1 <: Origin](uri: Uri, useVariables: Boolean, queryName: Option[String], dropNullInputValues: Boolean)(implicit ev: IsOperation[Origin1]): Request[Either[CalibanClientError, A1], Any]

Transforms a root selection into an STTP request ready to be run. To access partial errors and extensions, use toRequestWith.

Transforms a root selection into an STTP request ready to be run. To access partial errors and extensions, use toRequestWith.

Value Params
dropNullInputValues

if true, drop all null values from input object arguments (default: false)

queryName

if specified, use the given query name

uri

the URL of the GraphQL server

useVariables

if true, all arguments will be passed as variables (default: false)

Returns

an STTP request

def toRequestWith[B, Origin1 <: Origin](uri: Uri, useVariables: Boolean, queryName: Option[String], dropNullInputValues: Boolean)(mapResponse: (A, List[GraphQLResponseError], Option[Json]) => B)(implicit ev: IsOperation[Origin1]): Request[Either[CalibanClientError, B], Any]

Transforms a root selection into an STTP request ready to be run. More powerful than toRequest, it gives you access to partial errors and extensions.

Transforms a root selection into an STTP request ready to be run. More powerful than toRequest, it gives you access to partial errors and extensions.

Value Params
dropNullInputValues

if true, drop all null values from input object arguments (default: false)

queryName

if specified, use the given query name

uri

the URL of the GraphQL server

useVariables

if true, all arguments will be passed as variables (default: false)

Returns

an STTP request

def ~[Origin1 <: Origin, B](that: SelectionBuilder[Origin1, B]): SelectionBuilder[Origin1, (A, B)]

Combines this selection with another selection, returning a tuple of both results. To be combines, selections needs to have the same origin.

Combines this selection with another selection, returning a tuple of both results. To be combines, selections needs to have the same origin.