UNPKG

@node-elion/syncron

Version:

Provides a simple way to delivery models between sender and receiver

27 lines (26 loc) 971 B
import { ModelEventMeta, ModelSubscribeEventLike, JSONLike, ModelSubscribeManualUpdateEvent } from "./types"; export type ModelEventConstructorConfig = { onUpdate?(state: { models: JSONLike[]; metadataState: ModelEventMeta; }): void | Promise<void>; onMetaUpdate?(metadataState: ModelEventMeta): void | Promise<void>; onModelUpdate?(models: JSONLike[]): void | Promise<void>; onSystemEvent?(events: ModelSubscribeManualUpdateEvent[]): void | Promise<void>; }; export declare class ModelEventConstructor { private config; private modelState; private metadataState; private modelIndexMap; constructor(config: ModelEventConstructorConfig); onEvent(events: ModelSubscribeEventLike[]): void; private cleanModelFromIndexList; private onUpdateIndex; private onUpdate; private onDelete; private onMeta; private updateInnerState; private updateMetadataState; private updateModelsState; }