UNPKG

typeorm-translatable

Version:

Translation classes, utils and decorators for i18n in TypeORM

55 lines (54 loc) 2.93 kB
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; }