quaerateum
Version:
Simple 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 JS.
22 lines (15 loc) • 694 B
text/typescript
import { EntityMetadata, IEntityType } from '../decorators';
export class MetadataStorage {
private static readonly metadata: Record<string, EntityMetadata> = {};
static getMetadata(): Record<string, EntityMetadata>;
static getMetadata<T extends IEntityType<T> = any>(entity: string): EntityMetadata<T>;
static getMetadata<T extends IEntityType<T> = any>(entity?: string): Record<string, EntityMetadata> | EntityMetadata<T> {
if (entity && !MetadataStorage.metadata[entity]) {
MetadataStorage.metadata[entity] = { properties: {} } as EntityMetadata;
}
if (entity) {
return MetadataStorage.metadata[entity];
}
return MetadataStorage.metadata;
}
}