Compare commits

..

2 Commits

Author SHA1 Message Date
e8057c0c95 2.0.25 2022-01-24 21:48:32 +01:00
d389d180e5 fix(core): update 2022-01-24 21:48:32 +01:00
4 changed files with 7 additions and 9 deletions

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "@pushrocks/smartrx",
"version": "2.0.24",
"version": "2.0.25",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@pushrocks/smartrx",
"version": "2.0.24",
"version": "2.0.25",
"license": "MIT",
"dependencies": {
"@pushrocks/lik": "^5.0.1",

View File

@ -1,6 +1,6 @@
{
"name": "@pushrocks/smartrx",
"version": "2.0.24",
"version": "2.0.25",
"private": false,
"description": "smart wrapper for rxjs",
"main": "dist_ts/index.js",
@ -22,7 +22,6 @@
"tslint-config-prettier": "^1.18.0"
},
"dependencies": {
"@pushrocks/lik": "^5.0.1",
"@pushrocks/smartpromise": "^3.1.6",
"rxjs": "^7.5.2"
},

View File

@ -18,21 +18,21 @@ export interface IObservableEmitterBundle {
* manages observables by making sure that only one observable is regsitered per event
*/
export class Observablemap {
public observableEmitterBundleObjectmap = new plugins.lik.ObjectMap<IObservableEmitterBundle>();
public observableEmitterBundleArray = new Array<IObservableEmitterBundle>();
/**
* creates a new observable if not yet registered for the same event.
* In case event has been registered before the same observable is returned.
*/
public getObservableForEmitterEvent<T>(emitterArg: IEventEmitter<T>, eventArg: string) {
const existingBundle = this.observableEmitterBundleObjectmap.findSync((bundleArg) => {
const existingBundle = this.observableEmitterBundleArray.find((bundleArg) => {
return bundleArg.emitter === emitterArg && bundleArg.event === eventArg;
});
if (existingBundle) {
return existingBundle.observable;
} else {
const emitterObservable = rxjs.fromEvent<T>(emitterArg as any, eventArg);
this.observableEmitterBundleObjectmap.add({
this.observableEmitterBundleArray.push({
observable: emitterObservable,
emitter: emitterArg,
event: eventArg,

View File

@ -1,4 +1,3 @@
import * as lik from '@pushrocks/lik';
import * as smartpromise from '@pushrocks/smartpromise';
export { lik, smartpromise };
export { smartpromise };