@node-elion/syncron
Version:
Provides a simple way to delivery models between sender and receiver
27 lines (26 loc) • 971 B
TypeScript
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;
}