AliasedExpression
A type that holds an expression and an alias for it.
AliasedExpression<T, A>
can be used in places where, in addition to the value type T
, you
also need a name A
for that value. For example anything you can pass into the select
method
needs to implement an AliasedExpression<T, A>
. A
becomes the name of the selected expression
in the result and T
becomes its type.
@example
class SomeAliasedExpression<T, A extends string> implements AliasedExpression<T, A> {
#expression: Expression<T>
#alias: A
constructor(expression: Expression<T>, alias: A) {
this.#expression = expression
this.#alias = alias
}
get expression(): Expression<T> {
return this.#expression
}
get alias(): A {
return this.#alias
}
toOperationNode(): AliasNode {
return AliasNode.create(this.#expression.toOperationNode(), IdentifierNode.create(this.#alias))
}
}
interface AliasedExpression <T, A extends string> extends OperationNodeSource {
get alias(): A | Expression<unknown>;
get expression(): Expression<T>;
toOperationNode(): AliasNode;
}§Extends
§Methods
§
get alias(): A | Expression<unknown>
[src]Returns the alias.
§
get expression(): Expression<T>
[src]Returns the aliased expression.