UNPKG

@mikro-orm/core

Version:

TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, PostgreSQL and SQLite databases as well as usage with vanilla JavaScript.

72 lines (71 loc) 2.6 kB
import { type Constructor, EntityMetadata } from '../typings'; import type { Configuration } from '../utils/Configuration'; import { MetadataStorage } from './MetadataStorage'; import { EntitySchema } from './EntitySchema'; import type { Platform } from '../platforms'; export declare class MetadataDiscovery { private readonly metadata; private readonly platform; private readonly config; private readonly namingStrategy; private readonly metadataProvider; private readonly cache; private readonly logger; private readonly schemaHelper; private readonly validator; private readonly discovered; constructor(metadata: MetadataStorage, platform: Platform, config: Configuration); discover(preferTsNode?: boolean): Promise<MetadataStorage>; discoverSync(preferTsNode?: boolean): MetadataStorage; private mapDiscoveredEntities; processDiscoveredEntities(discovered: EntityMetadata[]): EntityMetadata[]; private findEntities; private discoverMissingTargets; private tryDiscoverTargets; private discoverDirectories; discoverReferences<T>(refs: (Constructor<T> | EntitySchema<T>)[]): EntityMetadata<T>[]; reset(className: string): void; private prepare; private getSchema; private discoverEntity; private saveToCache; private initNullability; private applyNamingStrategy; private initOwnColumns; private initFieldName; private initManyToOneFieldName; private initManyToManyFieldName; private initManyToManyFields; private initManyToOneFields; private initOneToManyFields; private processEntity; private findReferencingProperties; private initFactoryField; private ensureCorrectFKOrderInPivotEntity; private definePivotTableEntity; private defineFixedOrderProperty; private definePivotProperty; private autoWireBidirectionalProperties; private defineBaseEntityProperties; private initPolyEmbeddables; private initEmbeddables; private initSingleTableInheritance; private createDiscriminatorProperty; private initAutoincrement; private initCheckConstraints; private initGeneratedColumn; private getDefaultVersionValue; private inferDefaultValue; private initDefaultValue; private inferTypeFromDefault; private initVersionProperty; private initCustomType; private initRelation; private initColumnType; private getMappedType; private getPrefix; private initUnsigned; private initIndexes; private getEntityClassOrSchema; private shouldForceConstructorUsage; }