UNPKG

@mini-markdown-rc/editor

Version:
54 lines (53 loc) 1.49 kB
import { EventEmitter } from 'events'; export interface EventCallback { (...args: any[]): void; } interface BaseConfig { name?: string; maxListeners?: number; } export declare abstract class BaseClass { protected readonly config: BaseConfig; protected readonly eventEmitter: EventEmitter; protected readonly logger: Console; protected isDestroyed: boolean; constructor(config?: BaseConfig); protected error(...args: unknown[]): void; /** * 添加事件监听器 * @param event 事件名称 * @param listener 监听器回调函数 */ on(event: string, listener: EventCallback): void; /** * 一次性事件监听器 * @param event 事件名称 * @param listener 监听器回调函数 */ once(event: string, listener: EventCallback): void; /** * 移除事件监听器 * @param event 事件名称 * @param listener 监听器回调函数 */ off(event: string, listener: EventCallback): void; /** * 触发事件 * @param event 事件名称 * @param args 事件参数 */ protected emit(event: string, ...args: unknown[]): void; isDestroy(): boolean; /** * 获取当前注册的所有事件 */ getEvents(): string[]; /** * 获取特定事件的监听器数量 * @param event 事件名称 */ listenerCount(event: string): number; destroy(): void; protected checkDestroyed(): void; } export {};