Compare commits

..

4 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
d92123dcb9 2.0.24 2022-01-24 07:37:53 +01:00
5d8f569339 fix(core): update 2022-01-24 07:37:52 +01:00
5 changed files with 12 additions and 12 deletions

4
package-lock.json generated
View File

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

View File

@ -1,6 +1,6 @@
{
"name": "@pushrocks/smartrx",
"version": "2.0.23",
"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

@ -1,10 +1,12 @@
import * as plugins from './smartrx.plugins';
import * as rxjs from './smartrx.plugins.rxjs';
/**
* ObservableIntake
*/
export class ObservableIntake<T> {
public observable: plugins.rxjs.Observable<T>;
public observable: rxjs.Observable<T>;
public completed: Promise<void>;
private completedDeffered: plugins.smartpromise.Deferred<void>;
private observableFunctions: any = {
@ -20,7 +22,7 @@ export class ObservableIntake<T> {
private payloadBuffer: any[] = [];
constructor() {
this.observable = plugins.rxjs.Observable.create((observerArg: plugins.rxjs.Observer<any>) => {
this.observable = rxjs.Observable.create((observerArg: rxjs.Observer<any>) => {
this.observableFunctions.next = (...args: any) => {
return observerArg.next(args);
};
@ -33,7 +35,7 @@ export class ObservableIntake<T> {
this.completed = this.completedDeffered.promise;
}
public setObservable(observableFunc: plugins.rxjs.Observable<any>) {
public setObservable(observableFunc: rxjs.Observable<any>) {
this.observable = observableFunc;
}

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 };