Mapping

abstract class Mapping[F[_]](implicit val M: Monad[F]) extends QueryExecutor[F, Json]
class Object
trait Matchable
class Any

Type members

Classlikes

case class CursorField[T](fieldName: String, f: Cursor => Result[T], encoder: Encoder[T], required: List[String], hidden: Boolean)(implicit pos: SourcePos) extends FieldMapping
Companion:
object
Companion:
class
case class CursorFieldJson(fieldName: String, f: Cursor => Result[Json], encoder: Encoder[Json], required: List[String], hidden: Boolean)(implicit pos: SourcePos) extends FieldMapping
Companion:
object
Companion:
class
case class Delegate(fieldName: String, interpreter: Mapping[F], join: (Cursor, Query) => Result[Query])(implicit pos: SourcePos) extends FieldMapping
trait FieldMapping extends Product with Serializable
Companion:
class
trait LeafMapping[T] extends TypeMapping
Companion:
object
case class Mutation(run: (Query, Env) => Stream[F, Result[(Query, Env)]])

Root mappings can perform a mutation prior to constructing the result Cursor. A Mutation may perform a Unit effect and simply return the passed arguments; or it may refine the passed Query and/or Env that will be used to interpret the resulting Cursor.

Root mappings can perform a mutation prior to constructing the result Cursor. A Mutation may perform a Unit effect and simply return the passed arguments; or it may refine the passed Query and/or Env that will be used to interpret the resulting Cursor.

Companion:
object
object Mutation
Companion:
class
abstract class ObjectMapping extends TypeMapping
Companion:
object
Companion:
class
case class PrefixedMapping(tpe: Type, mappings: List[(List[String], ObjectMapping)])(implicit pos: SourcePos) extends TypeMapping
case class PrimitiveField(fieldName: String, hidden: Boolean)(implicit pos: SourcePos) extends FieldMapping
case class PrimitiveMapping(tpe: Type)(implicit pos: SourcePos) extends TypeMapping
trait TypeMapping extends Product with Serializable

Value members

Concrete methods

def compileAndRunAll(text: String, name: Option[String], untypedVars: Option[Json], introspectionLevel: IntrospectionLevel, env: Env): Stream[F, Json]
def compileAndRunOne(text: String, name: Option[String], untypedVars: Option[Json], introspectionLevel: IntrospectionLevel, env: Env)(implicit sc: Compiler[F, F]): F[Json]
def fieldMapping(context: Context, fieldName: String): Option[FieldMapping]
def rootCursor(context: Context, fieldName: String, resultName: Option[String], child: Query, env: Env): Stream[F, Result[(Query, Cursor)]]
def rootMapping(context: Context, fieldName: String): Option[RootMapping]
def run(query: Query, rootTpe: Type, env: Env): Stream[F, Json]
def run(op: Operation, env: Env): Stream[F, Json]

Inherited methods

def compileAndRun(text: String, name: Option[String], untypedVars: Option[Json], introspectionLevel: IntrospectionLevel, env: Env)(implicit sc: Compiler[F, F]): F[Json]
Inherited from:
QueryExecutor

Abstract fields

Implicits

Implicits

implicit val M: Monad[F]