import type { EventsConstraint, SubscriberEntry } from "./common.ts" /** * @description 表示某一事件名下由订阅者函数到订阅项的内部映射。 */ export type InternalSubscriberEntryMap< Events extends EventsConstraint, K extends keyof Events, > = Map> /** * @description 表示代理订阅项及其所管理的下游订阅集合的内部结构。 */ export interface InternalProxySubscriberEntry< Events extends EventsConstraint, K extends keyof Events, > { managedSubscribers: InternalSubscriberEntryMap proxySubscriber: Events[K] } /** * @description 使用对象而非 Map 来保存事件到代理订阅项的内部映射。 */ export type InternalProxySubscriberEntryMap> = { [K in keyof Events]?: InternalProxySubscriberEntry | undefined }