UNPKG

mysql-live-client

Version:
52 lines (51 loc) 1.91 kB
import { default as BaseCollection, LoopFn } from "./BaseCollection"; import { Task } from "./tasks/index"; export declare type NextFn = () => void; export declare type onAcknowledgementType = (result: any) => void; export declare type onCollectionReceiveEventType = { name: string; items?: any[]; }; export declare type onObjectReceiveEventType = { name: string; item: any; }; export declare type onInsertObjectEventType = { name: string; newItem?: any; }; export declare type onUpdateObjectEventType = { name: string; newItem?: any; selector?: any; }; export declare type onRemoveObjectEventType = { name: string; selector?: any; }; export declare type onAnyChangeEventType = onCollectionReceiveEventType | onObjectReceiveEventType | onInsertObjectEventType | onUpdateObjectEventType | onRemoveObjectEventType; export declare type onChangeEvent = (evt: onAnyChangeEventType, next?: NextFn | LoopFn, loop?: (_loop: LoopFn) => void) => void; export default class ObservableCollection extends BaseCollection { static ON_RECEIVE: string; static ON_INSERT: string; static ON_UPDATE: string; static ON_REMOVE: string; static ON_CHANGE: string; static EVENT_ID_START: string; listeners: onChangeEvent[]; simultaneouslyListeners: onChangeEvent[]; hasReceived: boolean; protected registerOnceCbIds: string[]; static getRandomEventId(): string; constructor(name: string); tasks: Task[]; addTask(task: Task): void; hasTasks: boolean; onChange(cb: onChangeEvent, cbId?: string): void; on(eventName: string, cb: onChangeEvent, cbId?: string): void; removeOnChange(): void; fireChange(event: onAnyChangeEventType): void; runTasks(event: onAnyChangeEventType, finish: () => void, index?: number): void; fireChangeNow(evt: onAnyChangeEventType, listenerIndex?: number): void; destroy(): void; }