UNPKG

@orbit/record-cache

Version:

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

22 lines (21 loc) 1.5 kB
import { InitializedRecord, RecordIdentity, RecordOperation } from '@orbit/records'; import { AsyncOperationProcessor } from '../async-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 AsyncCacheIntegrityProcessor extends AsyncOperationProcessor { after(operation: RecordOperation): Promise<RecordOperation[]>; finally(operation: RecordOperation): Promise<RecordOperation[]>; protected addInverseRelationship(record: RecordIdentity, relationship: string, relatedRecord: RecordIdentity | null): Promise<void>; protected addInverseRelationships(record: RecordIdentity, relationship: string, relatedRecords: RecordIdentity[]): Promise<void>; protected addAllInverseRelationships(record: InitializedRecord): Promise<void>; protected removeInverseRelationship(record: RecordIdentity, relationship: string, relatedRecord?: RecordIdentity | null): Promise<void>; protected removeInverseRelationships(record: RecordIdentity, relationship: string, relatedRecords?: RecordIdentity[]): Promise<void>; protected removeAllInverseRelationships(record: RecordIdentity): Promise<void>; protected clearInverseRelationshipOps(record: RecordIdentity): Promise<RecordOperation[]>; }