UNPKG

@orbit/record-cache

Version:

Orbit base classes used to access and maintain a set of records.

22 lines (21 loc) 1.41 kB
import { InitializedRecord, RecordIdentity, RecordOperation } from '@orbit/records'; import { SyncOperationProcessor } from '../sync-operation-processor'; /** * An operation processor that ensures that a cache's data is consistent and * doesn't contain any dead references. * * This is achieved by maintaining a mapping of reverse relationships for each * record. When a record is removed, any references to it can also be identified * and removed. */ export declare class SyncCacheIntegrityProcessor extends SyncOperationProcessor { after(operation: RecordOperation): RecordOperation[]; finally(operation: RecordOperation): RecordOperation[]; protected addInverseRelationship(record: RecordIdentity, relationship: string, relatedRecord: RecordIdentity | null): void; protected addInverseRelationships(record: RecordIdentity, relationship: string, relatedRecords: RecordIdentity[]): void; protected addAllInverseRelationships(record: InitializedRecord): void; protected removeInverseRelationship(record: RecordIdentity, relationship: string, relatedRecord?: RecordIdentity | null): void; protected removeInverseRelationships(record: RecordIdentity, relationship: string, relatedRecords?: RecordIdentity[]): void; protected removeAllInverseRelationships(record: RecordIdentity): void; protected clearInverseRelationshipOps(record: RecordIdentity): RecordOperation[]; }