@orbit/record-cache
Version:
Orbit base classes used to access and maintain a set of records.
28 lines (27 loc) • 1.72 kB
TypeScript
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[];
}