remove rxjs and move Observablemap to smartrx

This commit is contained in:
2017-10-26 22:31:14 +02:00
parent 29d6f2d7e0
commit 3c229e8e26
15 changed files with 4 additions and 163 deletions

View File

@@ -4,6 +4,5 @@ import * as plugins from './lik.plugins'
export * from './lik.looptracker'
export * from './lik.objectmap'
export * from './lik.observablemap'
export * from './lik.stringmap'
export * from './lik.limitedarray'

View File

@@ -1,41 +0,0 @@
import * as plugins from './lik.plugins'
import { Objectmap } from './lik.objectmap'
import { Stringmap } from './lik.stringmap'
import { Observable } from 'rxjs/Rx'
/**
* bundles an observable with an emitter
*/
export interface ObservableEmitterBundle {
observable: plugins.rx.Observable<any>
emitter: plugins.events.EventEmitter
event: string
}
/**
* manages observables by making sure that only one observable is regsitered per event
*/
export class Observablemap {
ObservableEmitterBundleObjectmap = new 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) {
let existingBundle = this.ObservableEmitterBundleObjectmap.find((bundleArg) => {
return (bundleArg.emitter === emitterArg && bundleArg.event === eventArg)
})
if (existingBundle) {
return existingBundle.observable
} else {
let emitterObservable = plugins.rx.Observable.fromEvent(emitterArg, eventArg)
this.ObservableEmitterBundleObjectmap.add({
observable: emitterObservable,
emitter: emitterArg,
event: eventArg
})
return emitterObservable
}
}
}

View File

@@ -3,12 +3,10 @@ import * as smartq from 'smartq'
import * as events from 'events'
import * as lodash from 'lodash'
import * as minimatch from 'minimatch'
import * as rx from 'rxjs/Rx'
export {
smartq,
events,
lodash,
minimatch,
rx
minimatch
}