UNPKG

@syncable/core

Version:
41 lines (40 loc) 1.39 kB
import { Dict } from 'tslang'; import { ChangePacket } from '../change'; import { SyncableRef } from '../syncable'; import { SyncData, SyncUpdateSource } from './sync'; import { IViewQuery, ViewQueryUpdateObject } from './view-query'; export declare type ConnectionRPCDefinition = ConnectionInitializeRPCDefinition | ConnectionChangeRPCDefinition | ConnectionRequestRPCDefinition | ConnectionUpdateViewQueryRPCDefinition; export interface ConnectionInitializeRPCDefinition { name: 'initialize'; args: [Dict<IViewQuery>]; return: void; } export interface ConnectionChangeRPCDefinition { name: 'apply-change'; args: [ChangePacket]; return: void; } export interface ConnectionRequestRPCDefinition { name: 'request-syncables'; args: [SyncableRef[]]; return: void; } export interface ConnectionUpdateViewQueryRPCDefinition { name: 'update-view-query'; args: [ViewQueryUpdateObject]; return: void; } export declare type ClientRPCDefinition = ClientInitializeRPCDefinition | ClientSyncRPCDefinition; export interface ClientInitializeRPCDefinition { name: 'initialize'; /** * [syncing data, context ref, default viewQuery dict] */ args: [SyncData, SyncableRef, ViewQueryUpdateObject]; return: void; } export interface ClientSyncRPCDefinition { name: 'sync'; args: [SyncData, SyncUpdateSource?]; return: void; }