@orbit/record-cache
Version:
Orbit base classes used to access and maintain a set of records.
22 lines (21 loc) • 1.31 kB
TypeScript
import { Evented } from '@orbit/core';
import { RecordQueryExpression, FindRecord, FindRecords, FindRelatedRecord, FindRelatedRecords, RecordQuery, RecordSchema, RecordOperation } from '@orbit/records';
import { RecordChange } from './record-change';
export interface LiveQuerySettings {
debounce: boolean;
query: RecordQuery;
}
export declare abstract class LiveQuery {
readonly debounce: boolean;
protected abstract get cache(): Evented;
protected abstract get schema(): RecordSchema;
protected _query: RecordQuery;
protected _subscribe(onNext: () => void): () => void;
constructor(settings: LiveQuerySettings);
operationRelevantForQuery(operation: RecordOperation): boolean;
protected queryExpressionRelevantForChange(expression: RecordQueryExpression, change: RecordChange): boolean;
protected findRecordQueryExpressionRelevantForChange(expression: FindRecord, change: RecordChange): boolean;
protected findRecordsQueryExpressionRelevantForChange(expression: FindRecords, change: RecordChange): boolean;
protected findRelatedRecordQueryExpressionRelevantForChange(expression: FindRelatedRecord, change: RecordChange): boolean;
protected findRelatedRecordsQueryExpressionRelevantForChange(expression: FindRelatedRecords, change: RecordChange): boolean;
}