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

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 mergeQueries(qs: List[Query]): Query

Merge the given queries as a single query

Merge the given queries as a single query

def mkPathQuery(paths: List[List[String]]): List[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]
def rootName(q: Query): Option[String]