Query

object Query
Companion:
class
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Query.type

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 Count(name: String, child: Query) extends Query

Computes the number of top-level elements of child as field name

Computes the number of top-level elements of child as field name

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

Add env to the environment for the continuation child

Add env to the environment for the continuation child

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

Retains only elements satisfying pred and continues with child

Retains only elements satisfying pred and continues with child

Constructor/extractor for nested Filter/OrderBy/Limit/Offset patterns in the query algebra

Constructor/extractor for nested Filter/OrderBy/Limit/Offset patterns in the query algebra

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 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

Evaluates an introspection query relative to schema

Evaluates an introspection query relative to schema

case class Limit(num: Int, child: Query) extends Query

Limits the results of list-producing continuation child to num elements

Limits the results of list-producing continuation child to num elements

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 Offset(num: Int, child: Query) extends Query

Drops the first num elements of list-producing continuation child.

Drops the first num elements of list-producing continuation child.

case class OrderBy(selections: OrderSelections, child: Query) extends Query

Orders the results of list-producing continuation child by fields specified by selections.

Orders the results of list-producing continuation child by fields specified by selections.

case class OrderSelection[T](term: Term[T], ascending: Boolean, nullsLast: Boolean)(implicit evidence$1: Order[T])
case class OrderSelections(selections: List[OrderSelection[_]])

Extractor for nested Rename/Select patterns in the query algebra

Extractor for nested Rename/Select patterns in the query algebra

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

Skips/includes the continuation child depending on the value of cond

Skips/includes the continuation child depending on the value of cond

case object Skipped extends Query

A placeholder for a skipped node

A placeholder for a skipped node

object TypeCase

Extractor for grouped Narrow patterns in the query algebra

Extractor for grouped Narrow patterns in the query algebra

case class Unique(child: Query) extends Query

Continues with single-element-list-producing child and yields the single element

Continues with single-element-list-producing child and yields the single element

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.

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Inherited from:
Mirror

The name of the type

The name of the type

Inherited from:
Mirror

Value members

Concrete methods

Merge the given queries as a single query

Merge the given queries as a single query

Construct a query which yields all the supplied paths

Construct a query which yields all the supplied paths

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