SelectQueryBuilder
Generated API reference for SelectQueryBuilder in @kysoql/core.
@kysoql/core / SelectQueryBuilder
Type-safe fluent builder for Salesforce SELECT queries.
Type Parameters
| Type Parameter | Default type |
|---|---|
DB | - |
TB extends keyof DB | - |
O | - |
Mode extends SelectQueryMode | SelectQueryMode |
Methods
$call()
$call<T>(func): T;Passes this builder to func and returns the callback result.
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type |
|---|---|
func | (qb) => T |
Returns
T
$assertType()
$assertType<T>(): O extends T ? SelectQueryBuilder<DB, TB, T, Mode> : KysoqlTypeError<"$assertType() call failed: The type passed in is not equal to the output type of the query.">;Asserts at compile time that the current query output exactly matches T.
Type Parameters
| Type Parameter |
|---|
T |
Returns
O extends T ? SelectQueryBuilder<DB, TB, T, Mode> : KysoqlTypeError<"$assertType() call failed: The type passed in is not equal to the output type of the query.">
$castTo()
$castTo<C>(): SelectQueryBuilder<DB, TB, C, Mode>;Changes only the TypeScript output type; the generated SOQL is unchanged.
Type Parameters
| Type Parameter |
|---|
C |
Returns
SelectQueryBuilder<DB, TB, C, Mode>
$narrowType()
$narrowType<T>(): SelectQueryBuilder<DB, TB, NarrowPartial<O, T>, Mode>;Narrows selected output properties at the type level without changing SOQL.
Type Parameters
| Type Parameter |
|---|
T |
Returns
SelectQueryBuilder<DB, TB, NarrowPartial<O, T>, Mode>
$if()
$if<O2>(condition, func): SelectQueryBuilder<DB, TB, ConditionalOutput<O, O2>, Mode>;Conditionally applies a builder callback; when false, the runtime query is unchanged.
Type Parameters
| Type Parameter |
|---|
O2 |
Parameters
| Parameter | Type |
|---|---|
condition | boolean |
func | (qb) => SelectQueryBuilder<DB, TB, O & O2, Mode> |
Returns
SelectQueryBuilder<DB, TB, ConditionalOutput<O, O2>, Mode>
clearLimit()
clearLimit(): SelectQueryBuilder<DB, TB, O, Mode>;Returns a builder with the LIMIT clause removed.
Returns
SelectQueryBuilder<DB, TB, O, Mode>
clearOffset()
clearOffset(): SelectQueryBuilder<DB, TB, O, Mode>;Returns a builder with the OFFSET clause removed.
Returns
SelectQueryBuilder<DB, TB, O, Mode>
clearOrderBy()
clearOrderBy(): SelectQueryBuilder<DB, TB, O, Mode>;Returns a builder with all ORDER BY items removed.
Returns
SelectQueryBuilder<DB, TB, O, Mode>
clearSelect()
clearSelect(): SelectQueryBuilder<DB, TB, unknown, "plain">;Returns a builder with all current selections removed.
Returns
SelectQueryBuilder<DB, TB, unknown, "plain">
clearWhere()
clearWhere(): SelectQueryBuilder<DB, TB, O, Mode>;Returns a builder with the WHERE predicate removed.
Returns
SelectQueryBuilder<DB, TB, O, Mode>
compile()
compile(): CompiledQuery<O>;Compiles the current operation tree into a CompiledQuery.
Returns
execute()
execute(options?): Promise<readonly O[]>;Compiles and executes the query with the configured executor.
Parameters
| Parameter | Type |
|---|---|
options? | AbortableQueryOptions |
Returns
Promise<readonly O[]>
executeTakeFirst()
executeTakeFirst(options?): Promise<O | undefined>;Executes the query and returns the first row, or undefined when no rows match.
Parameters
| Parameter | Type |
|---|---|
options? | AbortableQueryOptions |
Returns
Promise<O | undefined>
executeTakeFirstOrThrow()
executeTakeFirstOrThrow(options?): Promise<O>;Executes the query and returns the first row, throwing when no rows match.
Parameters
| Parameter | Type |
|---|---|
options? | | ExecuteTakeFirstOrThrowOptions | NoResultErrorConstructor | ((node) => Error) |
Returns
Promise<O>
executeAll()
executeAll(options?): Promise<readonly O[]>;Executes with the executor's Salesforce query-all semantics.
Parameters
| Parameter | Type |
|---|---|
options? | AbortableQueryOptions |
Returns
Promise<readonly O[]>
apex()
apex(): ApexSelectQueryBuilder<DB, TB, O, Mode, "static">;Switches to the static Apex builder for the current query.
Returns
ApexSelectQueryBuilder<DB, TB, O, Mode, "static">
dynamicApex()
dynamicApex(): ApexSelectQueryBuilder<DB, TB, O, Mode, "dynamic">;Switches to the dynamic Apex builder for the current query.
Returns
ApexSelectQueryBuilder<DB, TB, O, Mode, "dynamic">
limit()
limit(limit): SelectQueryBuilder<DB, TB, O, Mode>;Adds or replaces the SOQL LIMIT clause.
Parameters
| Parameter | Type |
|---|---|
limit | number |
Returns
SelectQueryBuilder<DB, TB, O, Mode>
offset()
offset(offset): SelectQueryBuilder<DB, TB, O, Mode>;Adds or replaces the SOQL OFFSET clause.
Parameters
| Parameter | Type |
|---|---|
offset | number |
Returns
SelectQueryBuilder<DB, TB, O, Mode>
groupBy()
Call Signature
groupBy<GE>(field): AggregateSelectQueryBuilder<DB, TB, O, GE, "ordinary", 0>;Adds a GROUP BY expression and enters aggregate-query mode.
Type Parameters
| Type Parameter |
|---|
GE extends string |
Parameters
| Parameter | Type |
|---|---|
field | UnselectedOnly<O, GE & GroupableFieldName<DB, TB, GE>> |
Returns
AggregateSelectQueryBuilder<DB, TB, O, GE, "ordinary", 0>
Call Signature
groupBy<GE>(fields): AggregateSelectQueryBuilder<DB, TB, O, GE, "ordinary", 0>;Adds a GROUP BY expression and enters aggregate-query mode.
Type Parameters
| Type Parameter |
|---|
GE extends string |
Parameters
| Parameter | Type |
|---|---|
fields | UnselectedOnly<O, readonly GE & GroupableFieldName<DB, TB, GE>[]> |
Returns
AggregateSelectQueryBuilder<DB, TB, O, GE, "ordinary", 0>
Call Signature
groupBy<Expression>(expression): AggregateSelectQueryBuilder<DB, TB, O, DateFunctionIdentityOf<Expression>, "ordinary", 0>;Adds a GROUP BY expression and enters aggregate-query mode.
Type Parameters
| Type Parameter |
|---|
Expression extends DateFunctionExpression<unknown, unknown, ComparisonOperator, string> |
Parameters
| Parameter | Type |
|---|---|
expression | UnselectedOnly<O, (eb) => Expression> |
Returns
AggregateSelectQueryBuilder<DB, TB, O, DateFunctionIdentityOf<Expression>, "ordinary", 0>
forView()
forView(..._mruCheck): SelectQueryBuilder<DB, TB, O, Mode>;Adds FOR VIEW; available only for MRU-enabled objects.
Parameters
| Parameter | Type |
|---|---|
..._mruCheck | SalesforceObjectMruEnabled<DB[TB]> extends false ? readonly [never] : readonly [] |
Returns
SelectQueryBuilder<DB, TB, O, Mode>
forReference()
forReference(..._mruCheck): SelectQueryBuilder<DB, TB, O, Mode>;Adds FOR REFERENCE; available only for MRU-enabled objects.
Parameters
| Parameter | Type |
|---|---|
..._mruCheck | SalesforceObjectMruEnabled<DB[TB]> extends false ? readonly [never] : readonly [] |
Returns
SelectQueryBuilder<DB, TB, O, Mode>
updateTracking()
updateTracking(..._knowledgeArticleCheck): SelectQueryBuilder<DB, TB, O, Mode>;Adds the KnowledgeArticle UPDATE TRACKING clause.
Parameters
| Parameter | Type |
|---|---|
..._knowledgeArticleCheck | KnowledgeArticleUpdateCheck<TB> |
Returns
SelectQueryBuilder<DB, TB, O, Mode>
updateViewstat()
updateViewstat(..._knowledgeArticleCheck): SelectQueryBuilder<DB, TB, O, Mode>;Adds the KnowledgeArticle UPDATE VIEWSTAT clause.
Parameters
| Parameter | Type |
|---|---|
..._knowledgeArticleCheck | KnowledgeArticleUpdateCheck<TB> |
Returns
SelectQueryBuilder<DB, TB, O, Mode>
usingScope()
usingScope(scope): SelectQueryBuilder<DB, TB, O, Mode>;Adds a Salesforce USING SCOPE clause validated against schema metadata.
Parameters
| Parameter | Type |
|---|---|
scope | SalesforceObjectSupportedScope<DB[TB]> |
Returns
SelectQueryBuilder<DB, TB, O, Mode>
withUserId()
withUserId(userId, ..._userProfileFeedCheck): SelectQueryBuilder<DB, TB, O, Mode>;Adds the UserProfileFeed WITH USER_ID clause.
Parameters
| Parameter | Type |
|---|---|
userId | string |
..._userProfileFeedCheck | UserProfileFeedWithUserIdCheck<TB> |
Returns
SelectQueryBuilder<DB, TB, O, Mode>
withRecordVisibilityContext()
withRecordVisibilityContext(parameters): SelectQueryBuilder<DB, TB, O, Mode>;Adds WITH RECORD_VISIBILITY_CONTEXT options.
Parameters
| Parameter | Type |
|---|---|
parameters | RecordVisibilityContextOptions |
Returns
SelectQueryBuilder<DB, TB, O, Mode>
setOptions()
setOptions(options): SelectQueryBuilder<DB, TB, O, Mode>;Adds object-specific Salesforce SET OPTIONS values.
Parameters
| Parameter | Type |
|---|---|
options | Data360SetOptionsFor<DB[TB]> |
Returns
SelectQueryBuilder<DB, TB, O, Mode>
withDataCategory()
withDataCategory<Group>(
group,
selector,
categories
): SelectQueryBuilder<DB, TB, O, Mode>;Adds a typed WITH DATA CATEGORY filter.
Type Parameters
| Type Parameter |
|---|
Group extends never |
Parameters
| Parameter | Type |
|---|---|
group | Group |
selector | DataCategorySelector |
categories | DataCategoryInput<SalesforceObjectDataCategory<DB[TB], Group>> |
Returns
SelectQueryBuilder<DB, TB, O, Mode>
orderBy()
Call Signature
orderBy(
expression,
direction?,
nulls?
): SelectQueryBuilder<DB, TB, O, Mode>;Adds a typed ORDER BY item.
Parameters
| Parameter | Type |
|---|---|
expression | SoqlRawBuilder |
direction? | OrderByDirection |
nulls? | OrderByNulls |
Returns
SelectQueryBuilder<DB, TB, O, Mode>
Call Signature
orderBy(
expression,
direction?,
nulls?
): SelectQueryBuilder<DB, TB, O, Mode>;Adds a typed ORDER BY item.
Parameters
| Parameter | Type |
|---|---|
expression | DistanceOrderByFactory<DB, TB> |
direction? | OrderByDirection |
nulls? | OrderByNulls |
Returns
SelectQueryBuilder<DB, TB, O, Mode>
Call Signature
orderBy<OE>(
field,
direction?,
nulls?
): SelectQueryBuilder<DB, TB, O, Mode>;Adds a typed ORDER BY item.
Type Parameters
| Type Parameter |
|---|
OE extends string |
Parameters
| Parameter | Type |
|---|---|
field | OE & SortableFieldName<DB, TB, OE> |
direction? | OrderByDirection |
nulls? | OrderByNullsForReference<DB, TB, OE> |
Returns
SelectQueryBuilder<DB, TB, O, Mode>
where()
Call Signature
where(expression): SelectQueryBuilder<DB, TB, O, Mode>;Adds a typed WHERE predicate and combines it with any existing predicate using AND.
Parameters
| Parameter | Type |
|---|---|
expression | SoqlRawBuilder |
Returns
SelectQueryBuilder<DB, TB, O, Mode>
Call Signature
where(expression): SelectQueryBuilder<DB, TB, O, Mode>;Adds a typed WHERE predicate and combines it with any existing predicate using AND.
Parameters
| Parameter | Type |
|---|---|
expression | WhereExpressionFactory<DB, TB> |
Returns
SelectQueryBuilder<DB, TB, O, Mode>
Call Signature
where<RE, OP, RHS>(
lhs,
op,
rhs
): SelectQueryBuilder<DB, TB, O, Mode>;Adds a typed WHERE predicate and combines it with any existing predicate using AND.
Type Parameters
| Type Parameter |
|---|
RE extends string |
OP extends | "=" | "!=" | OrderedComparisonOperator | "in" | "not in" | MultiSelectComparisonOperator | "like" |
RHS |
Parameters
| Parameter | Type |
|---|---|
lhs | RE & FilterableFieldName<DB, TB, RE> |
op | OP |
rhs | RHS |
Returns
SelectQueryBuilder<DB, TB, O, Mode>
select()
Call Signature
select<RawOutput>(selection): SelectQueryBuilder<DB, TB, O & RawOutput, Mode>;Adds one or more typed selections to the query output.
Type Parameters
| Type Parameter |
|---|
RawOutput |
Parameters
| Parameter | Type |
|---|---|
selection | SoqlRawBuilder<RawOutput> |
Returns
SelectQueryBuilder<DB, TB, O & RawOutput, Mode>
Call Signature
select(selection): CountQueryBuilder<DB, TB>;Adds one or more typed selections to the query output.
Parameters
| Parameter | Type |
|---|---|
selection | UnselectedOnly<O, CountSelectionFactory<DB, TB>> |
Returns
CountQueryBuilder<DB, TB>
Call Signature
select<FunctionSelection>(selection): SelectQueryBuilder<DB, TB, O & SelectFunctionSelection<FunctionSelection>, AfterSelectFunctionMode<Mode>>;Adds one or more typed selections to the query output.
Type Parameters
| Type Parameter |
|---|
FunctionSelection extends SelectFunctionSelectionArg |
Parameters
| Parameter | Type |
|---|---|
selection | SelectFunctionFactoryForMode<Mode, SelectFunctionSelectionFactory<DB, TB, FunctionSelection>> |
Returns
SelectQueryBuilder<DB, TB, O & SelectFunctionSelection<FunctionSelection>, AfterSelectFunctionMode<Mode>>
Call Signature
select<Aggregate>(selection): AggregateSelectQueryBuilder<DB, TB, AggregateSelection<Aggregate>>;Adds one or more typed selections to the query output.
Type Parameters
| Type Parameter |
|---|
Aggregate extends AggregateSelectionArg |
Parameters
| Parameter | Type |
|---|---|
selection | UnselectedOnly<O, AggregateSelectionFactory<DB, TB, Aggregate>> |
Returns
AggregateSelectQueryBuilder<DB, TB, AggregateSelection<Aggregate>>
Call Signature
select<Selections>(selections): SelectQueryBuilder<DB, TB, O & Selection<DB, TB, Selections[number]>, Mode>;Adds one or more typed selections to the query output.
Type Parameters
| Type Parameter |
|---|
Selections extends readonly string[] |
Parameters
| Parameter | Type |
|---|---|
selections | Selections & CheckedSelectExpressionList<DB, TB, O, Selections> |
Returns
SelectQueryBuilder<DB, TB, O & Selection<DB, TB, Selections[number]>, Mode>
Call Signature
select<SE>(selection): SelectQueryBuilder<DB, TB, O & Selection<DB, TB, SE>, Mode>;Adds one or more typed selections to the query output.
Type Parameters
| Type Parameter |
|---|
SE extends string |
Parameters
| Parameter | Type |
|---|---|
selection | SE & SelectExpression<DB, TB, SE> & AvailableSelectExpression<DB, TB, O, SE> |
Returns
SelectQueryBuilder<DB, TB, O & Selection<DB, TB, SE>, Mode>
selectFields()
selectFields<Selector>(selector, ...check): SelectQueryBuilder<DB, TB, O & FieldsSelection<DB, TB, Selector>, Mode>;Select a server-expanded group; unavailable on field-filtered schemas.
Type Parameters
| Type Parameter |
|---|
Selector extends FieldsSelector |
Parameters
| Parameter | Type |
|---|---|
selector | Selector |
...check | FieldsSelectionCheck<DB, TB, O, Selector> |
Returns
SelectQueryBuilder<DB, TB, O & FieldsSelection<DB, TB, Selector>, Mode>
selectTypeOf()
selectTypeOf<Reference, Builder>(
reference,
callback,
..._modeCheck
): SelectQueryBuilder<DB, TB, O & TypeOfSelection<DB, TB, Reference, TypeOfValue<PolymorphicRelationshipTargets<DB, TB, Reference>, Builder>>, AfterTypeOfMode<Mode>>;Adds a typed TYPEOF selection for a polymorphic relationship.
Type Parameters
| Type Parameter |
|---|
Reference extends string |
Builder extends CompletedTypeOfBuilder |
Parameters
| Parameter | Type |
|---|---|
reference | Reference & PolymorphicRelationshipReference<DB, TB, Reference> & AvailableTypeOfReference<O, Reference> |
callback | (typeOf) => Builder |
..._modeCheck | TypeOfModeCheck<Mode> |
Returns
SelectQueryBuilder<DB, TB, O & TypeOfSelection<DB, TB, Reference, TypeOfValue<PolymorphicRelationshipTargets<DB, TB, Reference>, Builder>>, AfterTypeOfMode<Mode>>
selectSubquery()
selectSubquery<Relationship, SubqueryOutput, SubqueryFunctionMode>(relationship, callback): SelectQueryBuilder<DB, TB, O & { readonly [Key in string]: SalesforceQueryResult<Simplify<SubqueryOutput>> }, AfterSubqueryMode<Mode, SubqueryFunctionMode>>;Adds a typed child-relationship subquery selection.
Type Parameters
| Type Parameter |
|---|
Relationship extends string |
SubqueryOutput |
SubqueryFunctionMode extends "none" | "present" | "forbidden" |
Parameters
| Parameter | Type |
|---|---|
relationship | Relationship & ChildRelationshipReference<DB, TB, Relationship> |
callback | (query) => RelationshipSubqueryBuilder<DB, ChildObjectName<DB, TB, Extract<Relationship, ChildRelationshipName<DB, TB>>>, SubqueryOutput, readonly [unknown], SubqueryFunctionMode> |
Returns
SelectQueryBuilder<DB, TB, O & { readonly [Key in string]: SalesforceQueryResult<Simplify<SubqueryOutput>> }, AfterSubqueryMode<Mode, SubqueryFunctionMode>>
toOperationNode()
toOperationNode(): SelectQueryNode;Returns the immutable operation node represented by this builder.