import { getMetadataArgsStorage } from "../../";
|
/**
|
* One-to-many relation allows to create type of relation when Entity2 can have multiple instances of Entity1.
|
* Entity1 have only one Entity2. Entity1 is an owner of the relationship, and storages Entity2 id on its own side.
|
*/
|
export function OneToMany(typeFunction, inverseSide, options) {
|
return function (object, propertyName) {
|
if (!options)
|
options = {};
|
// now try to determine it its lazy relation
|
var isLazy = options && options.lazy === true ? true : false;
|
if (!isLazy && Reflect && Reflect.getMetadata) { // automatic determination
|
var reflectedType = Reflect.getMetadata("design:type", object, propertyName);
|
if (reflectedType && typeof reflectedType.name === "string" && reflectedType.name.toLowerCase() === "promise")
|
isLazy = true;
|
}
|
getMetadataArgsStorage().relations.push({
|
target: object.constructor,
|
propertyName: propertyName,
|
// propertyType: reflectedType,
|
isLazy: isLazy,
|
relationType: "one-to-many",
|
type: typeFunction,
|
inverseSideProperty: inverseSide,
|
options: options
|
});
|
};
|
}
|
|
//# sourceMappingURL=OneToMany.js.map
|