publisher-subscriber-pattern
Version:
Publisher subscriber pattern that can be used with different event emitters including browser window
19 lines (18 loc) • 706 B
TypeScript
import { EventCallback, PublisherProps } from './_types';
export declare class Publisher {
private eventData;
private addEventListener;
private removeEventListener;
constructor(...args: PublisherProps);
subscribe: (eventName: string, eventCallback: EventCallback<{}>, subscriberInstance?: Record<string | number | symbol, unknown> | undefined) => () => void;
unsubscribeAll: () => void;
eventSubscribersCount: (eventName: string) => number;
subscribersCount: () => number;
private getEventData;
private getEventCallback;
private getSubscribers;
private buildInformSubscribers;
private unsubscribe;
private observeEvent;
private unobserveEvent;
}