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

Type Parameters

  • O
  • A extends string

Implements

Constructors

Properties

Accessors

Methods

Constructors

Properties

#private: any

Accessors

  • get alias(): Expression<unknown> | A
  • Returns the alias.

    Returns Expression<unknown> | A

  • get expression(): Expression<O>
  • Returns the aliased expression.

    Returns Expression<O>

Methods

  • Creates the OperationNode that describes how to compile this expression into SQL.

    Returns kysely.AliasNode