UNPKG

@syncable/core

Version:
15 lines (14 loc) 894 B
import { ResolvedViewQuery, ViewQueryFilter } from '../connection-client'; import { IContext } from '../context'; import { SyncableRefType } from './syncable'; import { SyncableContainer } from './syncable-container'; import { ISyncableObject } from './syncable-object'; export interface ISyncableAdapterGenericParams { context: IContext; syncableObject: ISyncableObject; } export interface ISyncableAdapter<TGenericParams extends ISyncableAdapterGenericParams = ISyncableAdapterGenericParams> { instantiateByRef(ref: SyncableRefType<TGenericParams['syncableObject']>, container: SyncableContainer): TGenericParams['syncableObject'] | undefined; instantiateBySyncable(syncable: TGenericParams['syncableObject']['syncable']): TGenericParams['syncableObject']; getViewQueryFilter(context: TGenericParams['context'], name: string, query: ResolvedViewQuery): ViewQueryFilter; }