Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
e8057c0c95 | |||
d389d180e5 | |||
d92123dcb9 | |||
5d8f569339 |
4
package-lock.json
generated
4
package-lock.json
generated
@ -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",
|
||||
|
@ -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"
|
||||
},
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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,
|
||||
|
@ -1,4 +1,3 @@
|
||||
import * as lik from '@pushrocks/lik';
|
||||
import * as smartpromise from '@pushrocks/smartpromise';
|
||||
|
||||
export { lik, smartpromise };
|
||||
export { smartpromise };
|
||||
|
Reference in New Issue
Block a user