Skip to main content

Calculated

Calculated

Used to define calculated entity getters. The decorator simply attaches an array of "calculated" property names to the entity's prototype. This array is then used by the CalculatedPropertySubscriber to transfer the getter function from the prototype to the entity instance.

Signature
function Calculated(queryInstruction?: CalculatedColumnQueryInstruction): MethodDecorator

Parameters

queryInstruction

CalculatedColumnQueryInstruction

Optional metadata used to tell the ListQueryBuilder & Relations decorator how to deal with calculated columns when sorting, filtering and deriving required relations from GraphQL operations.

Signature
interface CalculatedColumnQueryInstruction {
relations?: string[];
query?: (qb: SelectQueryBuilder<any>) => void;
expression?: string;
}

relations

property
string[]

If the calculated property depends on one or more relations being present on the entity (e.g. an Order entity calculating the totalQuantity by adding up the quantities of each OrderLine), then those relations should be defined here.

query

property
(qb: SelectQueryBuilder<any>) => void

expression

property
string