@mikro-orm/reflection
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.
24 lines (23 loc) • 982 B
TypeScript
import { type SourceFile } from 'ts-morph';
import { type EntityMetadata, MetadataProvider } from '@mikro-orm/core';
/** Metadata provider that uses ts-morph to infer property types from TypeScript source files or declaration files. */
export declare class TsMorphMetadataProvider extends MetadataProvider {
private project;
private sources;
static useCache(): boolean;
useCache(): boolean;
loadEntityMetadata(meta: EntityMetadata): void;
getExistingSourceFile(path: string, ext?: string, validate?: boolean): SourceFile;
protected initProperties(meta: EntityMetadata): void;
private extractType;
private cleanUpTypeTags;
private initPropertyType;
private readTypeFromSource;
private getSourceFile;
private stripRelativePath;
private processWrapper;
private initProject;
private initSourceFiles;
saveToCache(meta: EntityMetadata): void;
getCacheKey(meta: Pick<EntityMetadata, 'className' | 'path'>): string;
}