@alilc/lowcode-editor-core
Version:
Core Api for Ali lowCode engine
45 lines (44 loc) • 1.66 kB
TypeScript
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;