UNPKG

@pushrocks/smartrx

Version:

smart wrapper for rxjs

26 lines (25 loc) 1 kB
import * as rxjs from './smartrx.plugins.rxjs.js'; export interface IEventEmitter<T = any> { on: (eventNameArg: string, eventHandlerArg: (eventPayload: T) => any) => void; } /** * bundles an observable with an emitter */ export interface IObservableEventBundle<T> { subject: rxjs.Subject<any>; eventRef: T; event: string; } /** * manages observables by making sure that only one observable is regsitered per event */ export declare class Observablemap { observableEventEmitterBundleArray: IObservableEventBundle<IEventEmitter<unknown>>[]; observableEventTargetBundleArray: IObservableEventBundle<EventTarget>[]; /** * creates a hot subject if not yet registered for the event. * In case event has been registered before the same observable is returned. */ getSubjectForEmitterEvent<T>(emitterArg: IEventEmitter<T>, eventArg: string): rxjs.Subject<T>; getSubjectForEventTarget<T>(eventTargetArg: EventTarget, eventNameArg: string): rxjs.Subject<T>; }