UNPKG

@orbit/record-cache

Version:

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

28 lines (27 loc) 1.72 kB
import { Dict } from '@orbit/utils'; import { InitializedRecord, RecordIdentity } from '@orbit/records'; import { RecordChangeset, RecordRelationshipIdentity } from './record-accessor'; import { SyncRecordCache, SyncRecordCacheSettings } from './sync-record-cache'; import { RecordTransformBuffer } from './record-transform-buffer'; export interface SimpleRecordTransformBufferState { records: Dict<InitializedRecord | null>; inverseRelationships: Dict<Dict<RecordRelationshipIdentity | null>>; } export declare class SimpleRecordTransformBuffer extends SyncRecordCache implements RecordTransformBuffer { protected _state: SimpleRecordTransformBufferState; protected _delta?: SimpleRecordTransformBufferState; constructor(settings: SyncRecordCacheSettings); resetState(): void; startTrackingChanges(): void; stopTrackingChanges(): RecordChangeset; getRecordSync(identity: RecordIdentity): InitializedRecord | undefined; getRecordsSync(typeOrIdentities?: string | RecordIdentity[]): InitializedRecord[]; setRecordSync(record: InitializedRecord): void; setRecordsSync(records: InitializedRecord[]): void; removeRecordSync(recordIdentity: RecordIdentity): InitializedRecord | undefined; removeRecordsSync(recordIdentities: RecordIdentity[]): InitializedRecord[]; getInverseRelationshipsSync(recordIdentityOrIdentities: RecordIdentity | RecordIdentity[]): RecordRelationshipIdentity[]; addInverseRelationshipsSync(relationships: RecordRelationshipIdentity[]): void; removeInverseRelationshipsSync(relationships: RecordRelationshipIdentity[]): void; protected _getInverseRelationshipsSync(recordIdentity: RecordIdentity): RecordRelationshipIdentity[]; }