Skip to main content

Class: QueryableRoot<T>

Fluent query operators that must appear at the root of a compiled query expression.

Extends

Type parameters

Type parameterDescription
TThe type of the entity being queried.

Constructors

new QueryableRoot()

new QueryableRoot<T>(): QueryableRoot<T>

Returns

QueryableRoot<T>

Inherited from

Queryable . constructor

Methods

all()

all<P>(predicate: P): boolean

Determines whether all elements of a sequence satisfy a condition.

Type parameters

Type parameter
P extends (obj: T, ...args: []) => boolean | (...args: readonly unknown[]) => boolean

Parameters

ParameterTypeDescription
predicatePA function to test each element for a condition.

Returns

boolean

true if all elements in the sequence satisfy the condition, otherwise false.

Inherited from

Queryable . all

Source

packages/verse-core/src/query/queryable.ts:330


any()

any<P>(predicate?: P): boolean

Determines whether any element of a sequence satisfies a condition.

Type parameters

Type parameter
P extends (obj: T, ...args: []) => boolean | (...args: readonly unknown[]) => boolean

Parameters

ParameterTypeDescription
predicate?PA function to test each element for a condition.

Returns

boolean

true if any elements in the sequence satisfy the condition, otherwise false.

Inherited from

Queryable . any

Source

packages/verse-core/src/query/queryable.ts:319


array()

array(): Queryable<T[]>

Aggregates the elements of the sequence into an array.

Returns

Queryable<T[]>

An array of the elements in the sequence.

Inherited from

Queryable . array

Source

packages/verse-core/src/query/queryable.ts:436


avg()

avg(expr?: T extends JoinResult<K> ? (...args: readonly [K]) => number : (obj: T) => number): number

Returns the average value of the specified numerical expression for the sequence.

Parameters

ParameterTypeDescription
expr?T extends JoinResult<K> ? (...args: readonly [K]) => number : (obj: T) => numberThe numerical expression to be evaluated.

Returns

number

The average value of the specified numerical expression for the sequence.

Inherited from

Queryable . avg

Source

packages/verse-core/src/query/queryable.ts:428


count()

count(): number

Returns the number of elements in the sequence.

Returns

number

The number of elements in the sequence.

Inherited from

Queryable . count

Source

packages/verse-core/src/query/queryable.ts:388


distinct()

distinct(): QueryableRoot<T>

Removes duplicate elements from the sequence.

Returns

QueryableRoot<T>

The queryable result of the distinct operation.

Inherited from

Queryable . distinct

Source

packages/verse-core/src/query/queryable.ts:197


first()

first<P>(predicate?: P): T

Returns the first element of a sequence that satisfies a specified condition.

Type parameters

Type parameter
P extends (obj: T, ...args: []) => boolean | (...args: readonly unknown[]) => boolean

Parameters

ParameterTypeDescription
predicate?PA function to test each element for a condition.

Returns

T

The first element in the sequence that satisfies the condition.

Inherited from

Queryable . first

Throws

Error, if no such element is found.

Source

packages/verse-core/src/query/queryable.ts:342


groupBy()

groupBy(key)

groupBy<K>(key: K): Queryable<{"items": T[];"key": ReturnType ↗️<K>; }>

Groups the elements of a sequence according to a specified key selector function.

Type parameters
Type parameter
K extends (...args: readonly unknown[]) => unknown | (obj: T) => unknown
Parameters
ParameterTypeDescription
keyKA function to extract the key for each element.
Returns

Queryable<{"items": T[];"key": ReturnType ↗️<K>; }>

The result of the groupBy operation.

items

items: T[]

key

key: ReturnType ↗️<K>

Inherited from

Queryable . groupBy

Source

packages/verse-core/src/query/queryable.ts:268

groupBy(key, result)

groupBy<K, R>(key: K, result: (param: Grouping <ReturnType ↗️<K>, T>) => R): Queryable<R>

Groups the elements of a sequence according to a specified key selector function and creates a result value from each group.

Type parameters
Type parameter
K extends (...args: readonly unknown[]) => unknown | (obj: T) => unknown
R
Parameters
ParameterTypeDescription
keyKA function to extract the key for each element.
result(param: Grouping <ReturnType ↗️<K>, T>) => RA function to create a result value from each group.
Returns

Queryable<R>

The queryable result of the groupBy operation.

Inherited from

Queryable . groupBy

Source

packages/verse-core/src/query/queryable.ts:280


join()

join<S, C>(entityOrQuery: Newable<S> | Queryable<S>, condition: C): Queryable <JoinResult <Parameters ↗️<C>>>

Joins the sequence with another sequence based on a condition.

Type parameters

Type parameter
S
C extends (left: T, right: S) => boolean | (...args: readonly [unknown, S]) => boolean

Parameters

ParameterTypeDescription
entityOrQueryNewable<S> | Queryable<S>The entity or query to join with.
conditionCThe join condition.

Returns

Queryable <JoinResult <Parameters ↗️<C>>>

The queryable result of the join operation.

Inherited from

Queryable . join

Source

packages/verse-core/src/query/queryable.ts:209


leftJoin()

leftJoin<S, C>(entityOrQuery: Newable<S> | Queryable<S>, condition: C): Queryable <JoinResult <Parameters ↗️<C>>>

Left joins the sequence with another sequence based on a condition.

Type parameters

Type parameter
S
C extends (left: T, right: S) => boolean | (...args: readonly [unknown, S]) => boolean

Parameters

ParameterTypeDescription
entityOrQueryNewable<S> | Queryable<S>The entity or query to join with.
conditionCThe join condition.

Returns

Queryable <JoinResult <Parameters ↗️<C>>>

The queryable result of the join operation.

Inherited from

Queryable . leftJoin

Source

packages/verse-core/src/query/queryable.ts:220


limit()

limit(limit: number): QueryableRoot<T>

Returns a specified number of contiguous elements from the start of a sequence.

Parameters

ParameterTypeDescription
limitnumberThe number of elements to return.

Returns

QueryableRoot<T>

The queryable result of the limit operation.

Inherited from

Queryable . limit

Source

packages/verse-core/src/query/queryable.ts:297


max()

max(expr?: T extends JoinResult<K> ? (...args: readonly [K]) => number : (obj: T) => number): number

Returns the maximum value of the specified numerical expression for the sequence.

Parameters

ParameterTypeDescription
expr?T extends JoinResult<K> ? (...args: readonly [K]) => number : (obj: T) => numberThe numerical expression to be evaluated.

Returns

number

The maximum value of the specified numerical expression for the sequence.

Inherited from

Queryable . max

Source

packages/verse-core/src/query/queryable.ts:408


maybeFirst()

maybeFirst<P>(predicate?: P): undefined | T

Returns the first element of a sequence that satisfies a specified condition, or undefined if no such element is found.

Type parameters

Type parameter
P extends (obj: T, ...args: []) => boolean | (...args: readonly unknown[]) => boolean

Parameters

ParameterTypeDescription
predicate?PA function to test each element for a condition.

Returns

undefined | T

Inherited from

Queryable . maybeFirst

Source

packages/verse-core/src/query/queryable.ts:353


maybeSingle()

maybeSingle<P>(predicate?: P): undefined | T

Returns the only element of a sequence that satisfies a specified condition, or undefined if no such element is found.

Type parameters

Type parameter
P extends (obj: T, ...args: []) => boolean | (...args: readonly unknown[]) => boolean

Parameters

ParameterTypeDescription
predicate?PA function to test each element for a condition.

Returns

undefined | T

The only element in the sequence that satisfies the condition, or undefined if no such element is found.

Inherited from

Queryable . maybeSingle

Throws

Error, if multiple elements satisfy the condition.

Source

packages/verse-core/src/query/queryable.ts:378


min()

min(expr?: T extends JoinResult<K> ? (...args: readonly [K]) => number : (obj: T) => number): number

Returns the minimum value of the specified numerical expression for the sequence.

Parameters

ParameterTypeDescription
expr?T extends JoinResult<K> ? (...args: readonly [K]) => number : (obj: T) => numberThe numerical expression to be evaluated.

Returns

number

The minimum value of the specified numerical expression for the sequence.

Inherited from

Queryable . min

Source

packages/verse-core/src/query/queryable.ts:398


offset()

offset(offset: number): QueryableRoot<T>

Skips a specified number of elements in a sequence and then returns the remaining elements.

Parameters

ParameterTypeDescription
offsetnumberThe number of elements to skip.

Returns

QueryableRoot<T>

The queryable result of the offset operation.

Inherited from

Queryable . offset

Source

packages/verse-core/src/query/queryable.ts:308


options()

options(options: QueryOptions): QueryableRoot<T>

Set query options that affect the behaviour of the query.

Parameters

ParameterTypeDescription
optionsQueryOptionsThe query options.

Returns

QueryableRoot<T>

The queryable with the specified options applied.

Example

const query =
db.compile(from =>
from.albums.options({ disabledConditions: ["soft delete"] }));

Source

packages/verse-core/src/query/queryable.ts:476


orderBy()

orderBy<E>(expr: E): QueryableRoot<T>

Sorts the elements of a sequence in ascending order.

Type parameters

Type parameter
E extends (...args: readonly unknown[]) => unknown | (obj: T) => unknown

Parameters

ParameterTypeDescription
exprEA function to extract a sort key from an element.

Returns

QueryableRoot<T>

The queryable result of the orderBy operation.

Inherited from

Queryable . orderBy

Source

packages/verse-core/src/query/queryable.ts:247


orderByDesc()

orderByDesc<E>(expr: E): QueryableRoot<T>

Sorts the elements of a sequence in descending order.

Type parameters

Type parameter
E extends (...args: readonly unknown[]) => unknown | (obj: T) => unknown

Parameters

ParameterTypeDescription
exprEA function to extract a sort key from an element.

Returns

QueryableRoot<T>

The queryable result of the orderByDesc operation.

Inherited from

Queryable . orderByDesc

Source

packages/verse-core/src/query/queryable.ts:258


select()

select<P>(projector: P): Queryable <ReturnType ↗️<P>>

Projects each element of a sequence into a new form.

Type parameters

Type parameter
P extends (obj: T) => unknown | (...args: readonly unknown[]) => unknown

Parameters

ParameterTypeDescription
projectorPA function that transforms the input element.

Returns

Queryable <ReturnType ↗️<P>>

The queryable result of the select operation.

Inherited from

Queryable . select

Source

packages/verse-core/src/query/queryable.ts:177


single()

single<P>(predicate?: P): T

Returns the only element of a sequence that satisfies a specified condition.

Type parameters

Type parameter
P extends (obj: T, ...args: []) => boolean | (...args: readonly unknown[]) => boolean

Parameters

ParameterTypeDescription
predicate?PA function to test each element for a condition.

Returns

T

The only element in the sequence that satisfies the condition.

Inherited from

Queryable . single

Throws

Error, if no such element is found, or multiple elements satisfy the condition.

Source

packages/verse-core/src/query/queryable.ts:365


sql()

sql(strings: TemplateStringsArray, ...values: readonly any[]): QueryableRoot<T>

Inject a raw SQL query using tagged template literals. The returned queryable may be further composed with additional query operators.

Parameters

ParameterTypeDescription
stringsTemplateStringsArrayThe SQL query template string.
...valuesreadonly any[]The values to be inserted into the query.

Returns

QueryableRoot<T>

The queryable result of the injected SQL query.

Example

const query = db.compile(from => from.albums.sql`select * from "Album"`);
const albums = await query.toArray()

Source

packages/verse-core/src/query/queryable.ts:460


sum()

sum(expr?: T extends JoinResult<K> ? (...args: readonly [K]) => number : (obj: T) => number): number

Returns the sum of the specified numerical expression for the sequence.

Parameters

ParameterTypeDescription
expr?T extends JoinResult<K> ? (...args: readonly [K]) => number : (obj: T) => numberThe numerical expression to be evaluated.

Returns

number

The sum of the specified numerical expression for the sequence.

Inherited from

Queryable . sum

Source

packages/verse-core/src/query/queryable.ts:418


where()

where<P>(predicate: P): QueryableRoot<T>

Filters a sequence of values based on a predicate.

Type parameters

Type parameter
P extends (obj: T, ...args: []) => boolean | (...args: readonly unknown[]) => boolean

Parameters

ParameterTypeDescription
predicatePA function to test each element for a condition.

Returns

QueryableRoot<T>

The queryable result of the where operation.

Inherited from

Queryable . where

Source

packages/verse-core/src/query/queryable.ts:236


with()

with<S>(navigation: T extends JoinResult<K> ? (...args: readonly [K]) => S : (obj: T) => S): QueryableRoot<T>

Used to specify eager loading of related entities in queries.

Type parameters

Type parameter
S

Parameters

ParameterTypeDescription
navigationT extends JoinResult<K> ? (...args: readonly [K]) => S : (obj: T) => SThe navigation property to be loaded.

Returns

QueryableRoot<T>

The queryable result of the with operation.

Inherited from

Queryable . with

Source

packages/verse-core/src/query/queryable.ts:188