import { AnyEntity, EntityData, FilterQuery, Primary } from '../typings'; import { Collection, Reference } from '../entity'; import { ChangeSet } from './ChangeSet'; import { EntityManager } from '../EntityManager'; import { LockMode } from '../enums'; export declare class UnitOfWork { private readonly em; /** map of references to managed entities */ private readonly identityMap; private readonly persistStack; private readonly removeStack; private readonly orphanRemoveStack; private readonly changeSets; private readonly collectionUpdates; private readonly extraUpdates; private readonly metadata; private readonly platform; private readonly eventManager; private readonly comparator; private readonly changeSetComputer; private readonly changeSetPersister; private working; constructor(em: EntityManager); merge>(entity: T, visited?: WeakSet>, mergeData?: boolean): void; /** * @internal */ registerManaged>(entity: T, data?: EntityData, refresh?: boolean, newEntity?: boolean): T; /** * Returns entity from the identity map. For composite keys, you need to pass an array of PKs in the same order as they are defined in `meta.primaryKeys`. */ getById>(entityName: string, id: Primary | Primary[]): T; tryGetById>(entityName: string, where: FilterQuery, strict?: boolean): T | null; /** * Returns map of all managed entities. */ getIdentityMap(): Map; /** * @deprecated use `uow.getOriginalEntityData(entity)` */ getOriginalEntityData>(): AnyEntity[]; /** * Returns stored snapshot of entity state that is used for change set computation. */ getOriginalEntityData>(entity: T): EntityData | undefined; getPersistStack(): Set; getRemoveStack(): Set; getChangeSets(): ChangeSet[]; getCollectionUpdates(): Collection[]; getExtraUpdates(): Set<[AnyEntity, string, (AnyEntity | Reference)]>; computeChangeSet>(entity: T): void; recomputeSingleChangeSet>(entity: T): void; persist>(entity: T, visited?: WeakSet>, checkRemoveStack?: boolean): void; remove(entity: AnyEntity, visited?: WeakSet>): void; commit(): Promise; lock>(entity: T, mode: LockMode, version?: number | Date): Promise; clear(): void; unsetIdentity(entity: AnyEntity): void; computeChangeSets(): void; scheduleOrphanRemoval(entity: AnyEntity): void; cancelOrphanRemoval(entity: AnyEntity): void; private findNewEntities; private checkOrphanRemoval; private initIdentifier; private processReference; private processToOneReference; private processToManyReference; private runHooks; private postCommitCleanup; private cascade; private cascadeReference; private isCollectionSelfReferenced; private shouldCascade; private lockPessimistic; private lockOptimistic; private fixMissingReference; private persistToDatabase; private commitCreateChangeSets; private findExtraUpdates; private commitUpdateChangeSets; private commitDeleteChangeSets; /** * Orders change sets so FK constrains are maintained, ensures stable order (needed for node < 11) */ private getChangeSetGroups; private getCommitOrder; private addCommitDependency; }