UNPKG

1.78 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3/**
4 * Contains all information about entity's relation count.
5 */
6var RelationCountMetadata = /** @class */ (function () {
7 // ---------------------------------------------------------------------
8 // Constructor
9 // ---------------------------------------------------------------------
10 function RelationCountMetadata(options) {
11 this.entityMetadata = options.entityMetadata;
12 this.target = options.args.target;
13 this.propertyName = options.args.propertyName;
14 this.relationNameOrFactory = options.args.relation;
15 this.alias = options.args.alias;
16 this.queryBuilderFactory = options.args.queryBuilderFactory;
17 }
18 // ---------------------------------------------------------------------
19 // Public Builder Methods
20 // ---------------------------------------------------------------------
21 /**
22 * Builds some depend relation count metadata properties.
23 * This builder method should be used only after entity metadata, its properties map and all relations are build.
24 */
25 RelationCountMetadata.prototype.build = function () {
26 var propertyPath = this.relationNameOrFactory instanceof Function ? this.relationNameOrFactory(this.entityMetadata.propertiesMap) : this.relationNameOrFactory;
27 var relation = this.entityMetadata.findRelationWithPropertyPath(propertyPath);
28 if (!relation)
29 throw new Error("Cannot find relation " + propertyPath + ". Wrong relation specified for @RelationCount decorator.");
30 this.relation = relation;
31 };
32 return RelationCountMetadata;
33}());
34exports.RelationCountMetadata = RelationCountMetadata;
35
36//# sourceMappingURL=RelationCountMetadata.js.map