事件回调映射
EventsDelegator 实例
type AppEvents = { data: { value: number }; close: undefined };
const delegator = createDelegator<AppEvents>({
data: ({ value }) => console.log('received', value),
close: [() => console.log('closed'), () => cleanup()],
});
delegator.inject(emitter); // 注册所有回调
delegator.inject(emitter, true); // 强制所有回调只触发一次
delegator.eject(); // 取消所有回调(无需传 emitter)
创建函数式事件委托者
将一组回调映射(EventsCallbacks)封装为 EventsDelegator,通过 inject/eject 与 emitter 绑定或解绑。inject 时存储反注册函数,eject 时统一清理。