typeorm-translatable
Version:
Translation classes, utils and decorators for i18n in TypeORM
55 lines (54 loc) • 2.93 kB
TypeScript
import { EntityManager, EntityTarget, ObjectLiteral } from 'typeorm';
import { TranslatableEntity } from './TranslatableEntity';
import { TranslationEntity } from './TranslationEntity';
import { IConfigurableTranslationConfig, ITranslationConfig, ITranslationMetaDataArgsStorage, TranslationEntityConstructor } from './types';
export declare class TranslationConfig implements ITranslationConfig {
getLocale: () => string | undefined;
private _shouldDelete;
get shouldDelete(): boolean;
private _shouldMutate;
get shouldMutate(): boolean;
private _entitySuffix;
get entitySuffix(): string;
private _translationMetadataArgsStorage;
getTranslationMetadataArgsStorage(): ITranslationMetaDataArgsStorage;
private _translationEntitiesMap;
getTranslationEntities(): (new () => TranslationEntity<TranslatableEntity<ObjectLiteral>>)[];
getEntityManager: () => EntityManager | undefined;
/**
* Use provided translation config
* @param config Config to initialize
* @throws {AlreadyGeneratedException} when trying to change entitySuffix after translation entities are already generated
*/
static use(config: IConfigurableTranslationConfig): void;
private static _instance;
static getInstance(): TranslationConfig;
/**
* Whether or not translation entities are already generated
*/
private hasGenerated;
/**
* Generate translation entities for usage with decorators
* @throws {AlreadyGeneratedException} when trying to generate translation entities again
* @returns generated translation entities
* @experimental
*/
static generate(): (new () => TranslationEntity<TranslatableEntity<ObjectLiteral>>)[];
/**
* Get respective translation entity repository for given entity
* @param target entity to get translation entity for
* @param manager entity manager to get translation entity repository, if not provided, will try to get from default config
* @returns translation entity repository
* @experimental
*/
static getTranslationRepository<T extends ObjectLiteral>(target: EntityTarget<TranslatableEntity<TranslationEntity<T>>>, manager?: EntityManager): import("typeorm").Repository<TranslationEntity<TranslatableEntity<T>>>;
/**
* Get respective translation entity for given entity
* @param target entity to get translation entity for
* @param manager entity manager to get translation entity, if not provided, will try to get from default config
* @returns translation entity
* @experimental
*/
static getTranslationEntity<P extends ObjectLiteral = ObjectLiteral, T extends ObjectLiteral = ObjectLiteral>(target: EntityTarget<TranslatableEntity<TranslationEntity<T>>>, manager?: EntityManager): TranslationEntityConstructor<P, T>;
private static getResolvedManager;
}