UNPKG

typeorm

Version:

Data-Mapper ORM for TypeScript and ES2023+. Supports MySQL/MariaDB, PostgreSQL, MS SQL Server, Oracle, SAP HANA, SQLite, MongoDB databases.

56 lines (55 loc) 1.73 kB
import type { RelationIdMetadataArgs } from "../metadata-args/RelationIdMetadataArgs"; import type { EntityMetadata } from "./EntityMetadata"; import type { RelationMetadata } from "./RelationMetadata"; import type { SelectQueryBuilder } from "../query-builder/SelectQueryBuilder"; import type { ObjectLiteral } from "../common/ObjectLiteral"; /** * Contains all information about entity's relation count. */ export declare class RelationIdMetadata { /** * Entity metadata where this column metadata is. */ entityMetadata: EntityMetadata; /** * Relation from which ids will be extracted. */ relation: RelationMetadata; /** * Relation name which need to count. */ relationNameOrFactory: string | ((object: any) => any); /** * Target class to which metadata is applied. */ target: Function | string; /** * Target's property name to which this metadata is applied. */ propertyName: string; /** * Alias of the joined (destination) table. */ alias?: string; /** * Extra condition applied to "ON" section of join. */ queryBuilderFactory?: (qb: SelectQueryBuilder<any>) => SelectQueryBuilder<any>; constructor(options: { entityMetadata: EntityMetadata; args: RelationIdMetadataArgs; }); /** * Sets relation id value from the given entity. * * todo: make it to work in embeds as well. * * @param entity */ setValue(entity: ObjectLiteral): void; /** * Builds some depend relation id properties. * This builder method should be used only after entity metadata, its properties map and all relations are build. */ build(): void; }