Query

object Query
Companion
class
trait Sum
trait Mirror
class Object
trait Matchable
class Any

Type members

Classlikes

case class Binding(name: String, value: Value)
case class Component[F[_]](mapping: Mapping[F], join: (Cursor, Query) => Result[Query], child: Query) extends Query

Identifies a component boundary. join is applied to the current cursor and child yielding a continuation query which will be evaluated by the interpreter identified by componentId.

Identifies a component boundary. join is applied to the current cursor and child yielding a continuation query which will be evaluated by the interpreter identified by componentId.

case class Context(path: List[String], child: Query) extends Query
case class Defer(join: (Cursor, Query) => Result[Query], child: Query, rootTpe: Type) extends Query

A deferred query. join is applied to the current cursor and child yielding a continuation query which will be evaluated by the current interpreter in its next stage.

A deferred query. join is applied to the current cursor and child yielding a continuation query which will be evaluated by the current interpreter in its next stage.

case object Empty extends Query

The terminal query

The terminal query

case class Environment(env: Env, child: Query) extends Query
case class Filter(pred: Predicate, child: Query) extends Query

Retains only elements satisfying pred and continuse with child

Retains only elements satisfying pred and continuse with child

case class Group(queries: List[Query]) extends Query

A Group of sibling queries at the same level

A Group of sibling queries at the same level

case class GroupBy(discriminator: GroupDiscriminator[_], child: Query) extends Query
case class GroupDiscriminator[T](t: Term[T], ds: List[T])(`evidence$2`: Eq[T])
case class GroupList(queries: List[Query]) extends Query

A Group of sibling queries as a list

A Group of sibling queries as a list

case class Introspect(schema: Schema, child: Query) extends Query
case class Limit(num: Int, child: Query) extends Query
case class Narrow(subtpe: TypeRef, child: Query) extends Query

The result of child if the focus is of type subtpe, Empty otherwise.

The result of child if the focus is of type subtpe, Empty otherwise.

case class OrderBy(selections: OrderSelections, child: Query) extends Query
case class OrderSelection[T](term: Term[T], ascending: Boolean, nullsLast: Boolean)(`evidence$1`: Order[T])
case class OrderSelections(selections: List[OrderSelection[_]])
case class Rename(name: String, child: Query) extends Query

Rename the topmost field of sel to name.

Rename the topmost field of sel to name.

case class Select(name: String, args: List[Binding], child: Query) extends Query

Select field name given arguments args and continue with child

Select field name given arguments args and continue with child

case class Skip(sense: Boolean, cond: Value, child: Query) extends Query
case object Skipped extends Query
case class Unique(pred: Predicate, child: Query) extends Query

Picks out the unique element satisfying pred and continues with child

Picks out the unique element satisfying pred and continues with child

case class UntypedNarrow(tpnme: String, child: Query) extends Query

Untyped precursor of Narrow.

Untyped precursor of Narrow.

Trees of this type will be replaced by a corresponding Narrow by SelectElaborator.

case class UntypedVarDef(name: String, tpe: Type, default: Option[Value])
case class Wrap(name: String, child: Query) extends Query

Wraps the result of child as a field named name of an enclosing object.

Wraps the result of child as a field named name of an enclosing object.

Types

type VarDefs = List[InputValue]
type Vars = Map[String, (Type, Value)]

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Inherited from
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Inherited from
Mirror

Value members

Concrete methods

def renameRoot(q: Query, rootName: String): Option[Query]
def rootName(q: Query): Option[String]