UNPKG

@alilc/lowcode-editor-core

Version:

Core Api for Ali lowCode engine

45 lines (44 loc) 1.66 kB
import { IPublicApiEvent } from '@alilc/lowcode-types'; import EventEmitter from 'events'; export interface IEventBus extends IPublicApiEvent { removeListener(event: string | symbol, listener: (...args: any[]) => void): any; addListener(event: string | symbol, listener: (...args: any[]) => void): any; setMaxListeners(n: number): any; removeAllListeners(event?: string | symbol): any; } export declare class EventBus implements IEventBus { private readonly eventEmitter; private readonly name?; /** * 内核触发的事件名 */ readonly names: any[]; constructor(emitter: EventEmitter, name?: string); private getMsgPrefix; private getLogger; /** * 监听事件 * @param event 事件名称 * @param listener 事件回调 */ on(event: string, listener: (...args: any[]) => void): () => void; prependListener(event: string, listener: (...args: any[]) => void): () => void; /** * 取消监听事件 * @param event 事件名称 * @param listener 事件回调 */ off(event: string, listener: (...args: any[]) => void): void; /** * 触发事件 * @param event 事件名称 * @param args 事件参数 * @returns */ emit(event: string, ...args: any[]): void; removeListener(event: string | symbol, listener: (...args: any[]) => void): any; addListener(event: string | symbol, listener: (...args: any[]) => void): any; setMaxListeners(n: number): any; removeAllListeners(event?: string | symbol): any; } export declare const createModuleEventBus: (moduleName: string, maxListeners?: number) => IEventBus;