smartrx/dist/smartrx.classes.observablemap.d.ts
2017-11-01 14:59:28 +01:00

24 lines
835 B
TypeScript

/// <reference types="node" />
import * as plugins from './smartrx.plugins';
import { Observable } from 'rxjs';
import { Objectmap } from 'lik';
/**
* bundles an observable with an emitter
*/
export interface ObservableEmitterBundle {
observable: plugins.rxjs.Observable<any>;
emitter: plugins.events.EventEmitter;
event: string;
}
/**
* manages observables by making sure that only one observable is regsitered per event
*/
export declare class Observablemap {
ObservableEmitterBundleObjectmap: Objectmap<ObservableEmitterBundle>;
/**
* creates a new observable if not yet registered for the same event.
* In case event has been registered before the same observable is returned.
*/
getObservableForEmitterEvent(emitterArg: plugins.events.EventEmitter, eventArg: string): Observable<any>;
}