UNPKG

@orbit/record-cache

Version:

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

27 lines (26 loc) 1.9 kB
import { RequestOptions } from '@orbit/data'; import { RecordQuery, RecordQueryBuilder, RecordQueryResult, RecordSchema, RecordTransformBuilder } from '@orbit/records'; import { RecordCacheQueryOptions, RecordCacheTransformOptions } from '../record-cache'; import { SyncRecordCache } from '../sync-record-cache'; import { LiveQuery, LiveQuerySettings } from './live-query'; export interface SyncLiveQueryUpdateSettings<QO extends RequestOptions = RecordCacheQueryOptions, TO extends RequestOptions = RecordCacheTransformOptions, QB = RecordQueryBuilder, TB = RecordTransformBuilder> { cache: SyncRecordCache<QO, TO, QB, TB>; query: RecordQuery; } export declare class SyncLiveQueryUpdate<QO extends RequestOptions = RecordCacheQueryOptions, TO extends RequestOptions = RecordCacheTransformOptions, QB = RecordQueryBuilder, TB = RecordTransformBuilder> { private _cache; private _query; constructor(settings: SyncLiveQueryUpdateSettings<QO, TO, QB, TB>); query<Result extends RecordQueryResult = RecordQueryResult>(): Result; } export interface SyncLiveQuerySettings<QO extends RequestOptions = RecordCacheQueryOptions, TO extends RequestOptions = RecordCacheTransformOptions, QB = RecordQueryBuilder, TB = RecordTransformBuilder> extends LiveQuerySettings { cache: SyncRecordCache<QO, TO, QB, TB>; } export declare class SyncLiveQuery<QO extends RequestOptions = RecordCacheQueryOptions, TO extends RequestOptions = RecordCacheTransformOptions, QB = RecordQueryBuilder, TB = RecordTransformBuilder> extends LiveQuery { protected cache: SyncRecordCache<QO, TO, QB, TB>; protected get schema(): RecordSchema; private get _update(); constructor(settings: SyncLiveQuerySettings<QO, TO, QB, TB>); query<Result extends RecordQueryResult = RecordQueryResult>(): Result; subscribe(cb: (update: SyncLiveQueryUpdate<QO, TO, QB, TB>) => void): () => void; }