UNPKG

dehub

Version:
109 lines (108 loc) 3.46 kB
/** * DEHub 模块 * 这是一个事件中心模块,负责管理组件注册、事件分发和组件间通信 * @module DEHub */ import { EmitContext, EventStage, IDEComp, ObjTag, IData, DEEventFunction, ObjectStatus, Tag, ObjWithTag, DERecord, IEventContext } from "./DETypes"; /** * DEHub配置选项接口 */ interface DEHubOptions { /** 应用加载事件延迟时间(ms) */ AppLoadEventDelay: number; /** 函数执行超时时间(ms) */ FuncExeTimeout: number; /** 是否静默日志 */ silent?: boolean; } /** * 配置DEHub选项 * @param options - 配置选项 */ export declare const DEHubConfig: (options: Partial<DEHubOptions>) => void; /** * Event Context * 事件上下文 */ export declare class EventContext implements EmitContext, IEventContext { #private; constructor(emitContext: EmitContext, output: DERecord); get sender(): IData | ObjWithTag | IDEComp<any>; get event(): string; get stage(): EventStage; get detail(): any; get status(): ObjectStatus | undefined; get attribute(): string | undefined; get property(): string | undefined; get database(): string | undefined; /** * Cancel the event * 取消事件 */ get cancel(): boolean; set cancel(value: boolean); /** * Output of the event * 事件的输出 */ get output(): DERecord; /** * Components of the event * 事件的组件列表 */ get components(): Map<string, IDEComp<any>>; } /** * 清除组件会话存储 */ export declare const clearComponentSession: () => void; /** * 根据标签获取组件 * @param tag - 组件标签,可以是Tag对象、ObjTag对象或字符串 * @returns 返回匹配的组件或undefined */ export declare const getComponent: (tag: Tag | ObjTag | string) => IDEComp<any> | undefined; /** * 获取所有已注册组件 * @returns 组件映射表副本 */ export declare const getAllComponents: () => Map<string, IDEComp<any>>; /** * 注册组件 * @param comp - 要注册的组件 * @returns 返回注册的组件 */ export declare const regComponent: (comp: IDEComp<any>) => IDEComp<any>; /** * 删除组件 * @param comp - 要删除的组件 * @returns Promise<void> */ export declare const delComponent: (comp: IDEComp<any>) => Promise<void>; /** * 触发事件 * @param context - 事件上下文 * @param proxyTag - 代理标签 * @returns [事件上下文, Promise数组, 事件ID] */ export declare const emit: (context: EmitContext, proxyTag?: ObjTag) => [EventContext, Promise<any>[], string]; /** * 错误处理(同步版本,内部自消化异步异常) * @param sender - 错误发送者 * @param exception - 错误对象 */ export declare const error: (sender: IDEComp<any> | IData | ObjWithTag, exception: Error | string | unknown) => readonly [EventContext, Promise<any>[]] | readonly [null, readonly []]; /** * 注册事件监听 * @param tagFilter - 标签过滤器 * @param callback - 回调函数 * @param alias - 函数别名 */ export declare const when: (tagFilter: ObjTag, callback: DEEventFunction, alias?: string) => void; /** * 移除事件监听 * @param tagFilter - 标签过滤器 * @param callback - 要移除的回调函数 */ export declare const stop: (tagFilter: ObjTag, callback: DEEventFunction) => void; export {};