Compare commits
14 Commits
Author | SHA1 | Date | |
---|---|---|---|
552cae9755 | |||
610c1d6beb | |||
037e33caee | |||
2400e61024 | |||
0fe16f4fc4 | |||
fa8fb5b622 | |||
389f502dd0 | |||
ea3e7dd2ab | |||
e4ac6232b8 | |||
fd9c57dcd0 | |||
090142cb16 | |||
b05a8e4fa4 | |||
66ee8ba0df | |||
f9d8175c8c |
9170
package-lock.json
generated
9170
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
21
package.json
21
package.json
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@pushrocks/smartrx",
|
"name": "@pushrocks/smartrx",
|
||||||
"version": "2.0.11",
|
"version": "2.0.18",
|
||||||
"private": false,
|
"private": false,
|
||||||
"description": "smart wrapper for rxjs",
|
"description": "smart wrapper for rxjs",
|
||||||
"main": "dist_ts/index.js",
|
"main": "dist_ts/index.js",
|
||||||
@ -9,22 +9,22 @@
|
|||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "(tstest test/)",
|
"test": "(tstest test/)",
|
||||||
"build": "(tsbuild && tsbundle npm)"
|
"build": "(tsbuild --web && tsbundle npm)"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@gitzone/tsbuild": "^2.1.24",
|
"@gitzone/tsbuild": "^2.1.24",
|
||||||
"@gitzone/tsbundle": "^1.0.69",
|
"@gitzone/tsbundle": "^1.0.72",
|
||||||
"@gitzone/tsrun": "^1.2.8",
|
"@gitzone/tsrun": "^1.2.12",
|
||||||
"@gitzone/tstest": "^1.0.28",
|
"@gitzone/tstest": "^1.0.43",
|
||||||
"@pushrocks/tapbundle": "^3.2.1",
|
"@pushrocks/tapbundle": "^3.2.9",
|
||||||
"@types/node": "^14.0.5",
|
"@types/node": "^14.0.22",
|
||||||
"tslint": "^6.1.2",
|
"tslint": "^6.1.2",
|
||||||
"tslint-config-prettier": "^1.18.0"
|
"tslint-config-prettier": "^1.18.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@pushrocks/lik": "^4.0.8",
|
"@pushrocks/lik": "^4.0.14",
|
||||||
"@pushrocks/smartpromise": "^3.0.6",
|
"@pushrocks/smartpromise": "^3.0.6",
|
||||||
"rxjs": "^6.5.5"
|
"rxjs": "^6.6.0"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"ts/**/*",
|
"ts/**/*",
|
||||||
@ -37,5 +37,8 @@
|
|||||||
"cli.js",
|
"cli.js",
|
||||||
"npmextra.json",
|
"npmextra.json",
|
||||||
"readme.md"
|
"readme.md"
|
||||||
|
],
|
||||||
|
"browserslist": [
|
||||||
|
"last 1 chrome versions"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
21
readme.md
21
readme.md
@ -8,13 +8,20 @@ smart wrapper for rxjs
|
|||||||
* [docs (typedoc)](https://pushrocks.gitlab.io/smartrx/)
|
* [docs (typedoc)](https://pushrocks.gitlab.io/smartrx/)
|
||||||
|
|
||||||
## Status for master
|
## Status for master
|
||||||
[](https://gitlab.com/pushrocks/smartrx/commits/master)
|
|
||||||
[](https://gitlab.com/pushrocks/smartrx/commits/master)
|
Status Category | Status Badge
|
||||||
[](https://www.npmjs.com/package/@pushrocks/smartrx)
|
-- | --
|
||||||
[](https://snyk.io/test/npm/@pushrocks/smartrx)
|
GitLab Pipelines | [](https://lossless.cloud)
|
||||||
[](https://nodejs.org/dist/latest-v10.x/docs/api/)
|
GitLab Pipline Test Coverage | [](https://lossless.cloud)
|
||||||
[](https://nodejs.org/dist/latest-v10.x/docs/api/)
|
npm | [](https://lossless.cloud)
|
||||||
[](https://prettier.io/)
|
Snyk | [](https://lossless.cloud)
|
||||||
|
TypeScript Support | [](https://lossless.cloud)
|
||||||
|
node Support | [](https://nodejs.org/dist/latest-v10.x/docs/api/)
|
||||||
|
Code Style | [](https://lossless.cloud)
|
||||||
|
PackagePhobia (total standalone install weight) | [](https://lossless.cloud)
|
||||||
|
PackagePhobia (package size on registry) | [](https://lossless.cloud)
|
||||||
|
BundlePhobia (total size when bundled) | [](https://lossless.cloud)
|
||||||
|
Platform support | [](https://lossless.cloud) [](https://lossless.cloud)
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
@ -7,9 +7,9 @@ tap.test('should create a valid instance of observableinstake', async () => {
|
|||||||
expect(testObservableIntake).to.be.instanceOf(smartrx.ObservableIntake);
|
expect(testObservableIntake).to.be.instanceOf(smartrx.ObservableIntake);
|
||||||
});
|
});
|
||||||
|
|
||||||
tap.test('expect testObserservableIntake to push things', async tools => {
|
tap.test('expect testObserservableIntake to push things', async (tools) => {
|
||||||
const testObserservableIntake = new smartrx.ObservableIntake();
|
const testObserservableIntake = new smartrx.ObservableIntake();
|
||||||
testObserservableIntake.subscribe(value => {
|
testObserservableIntake.subscribe((value) => {
|
||||||
console.log(value);
|
console.log(value);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -19,13 +19,13 @@ tap.test('expect testObserservableIntake to push things', async tools => {
|
|||||||
await testObserservableIntake.completed;
|
await testObserservableIntake.completed;
|
||||||
});
|
});
|
||||||
|
|
||||||
tap.test('expect testObserservableIntake to push things', async tools => {
|
tap.test('expect testObserservableIntake to push things', async (tools) => {
|
||||||
const testObserservableIntake = new smartrx.ObservableIntake();
|
const testObserservableIntake = new smartrx.ObservableIntake();
|
||||||
testObserservableIntake.push('hi');
|
testObserservableIntake.push('hi');
|
||||||
testObserservableIntake.push('wow');
|
testObserservableIntake.push('wow');
|
||||||
testObserservableIntake.makeBuffered();
|
testObserservableIntake.makeBuffered();
|
||||||
testObserservableIntake.push('jo');
|
testObserservableIntake.push('jo');
|
||||||
testObserservableIntake.subscribe(value => {
|
testObserservableIntake.subscribe((value) => {
|
||||||
console.log(value);
|
console.log(value);
|
||||||
testObserservableIntake.signalComplete();
|
testObserservableIntake.signalComplete();
|
||||||
});
|
});
|
||||||
|
@ -22,7 +22,7 @@ tap.test('should accept a new emitter', async () => {
|
|||||||
let done = smartpromise.defer();
|
let done = smartpromise.defer();
|
||||||
testEmitter = new events.EventEmitter();
|
testEmitter = new events.EventEmitter();
|
||||||
testObservable1 = testObservablemap.getObservableForEmitterEvent(testEmitter, 'event1');
|
testObservable1 = testObservablemap.getObservableForEmitterEvent(testEmitter, 'event1');
|
||||||
testObservable1.subscribe(x => {
|
testObservable1.subscribe((x) => {
|
||||||
done.resolve();
|
done.resolve();
|
||||||
});
|
});
|
||||||
testObservable2 = testObservablemap.getObservableForEmitterEvent(testEmitter, 'event1');
|
testObservable2 = testObservablemap.getObservableForEmitterEvent(testEmitter, 'event1');
|
||||||
|
@ -2,6 +2,5 @@ import * as plugins from './smartrx.plugins';
|
|||||||
export * from './smartrx.classes.observablemap';
|
export * from './smartrx.classes.observablemap';
|
||||||
export * from './smartrx.classes.observableintake';
|
export * from './smartrx.classes.observableintake';
|
||||||
|
|
||||||
import * as rxjs from 'rxjs';
|
import * as rxjs from './smartrx.plugins.rxjs';
|
||||||
|
|
||||||
export { rxjs };
|
export { rxjs };
|
||||||
|
@ -8,19 +8,19 @@ export class ObservableIntake<T> {
|
|||||||
public completed: Promise<void>;
|
public completed: Promise<void>;
|
||||||
private completedDeffered: plugins.smartpromise.Deferred<void>;
|
private completedDeffered: plugins.smartpromise.Deferred<void>;
|
||||||
private observableFunctions: any = {
|
private observableFunctions: any = {
|
||||||
next: payloadArg => {
|
next: (payloadArg) => {
|
||||||
// nothing
|
// nothing
|
||||||
},
|
},
|
||||||
complete: payloadArg => {
|
complete: (payloadArg) => {
|
||||||
// nothing
|
// nothing
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
private generator = null;
|
private generator = null;
|
||||||
private buffered = false;
|
private buffered = false;
|
||||||
private payloadBuffer = [];
|
private payloadBuffer = [];
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
this.observable = plugins.rxjs.Observable.create(observerArg => {
|
this.observable = plugins.rxjs.Observable.create((observerArg) => {
|
||||||
this.observableFunctions.next = (...args) => {
|
this.observableFunctions.next = (...args) => {
|
||||||
return observerArg.next(...args);
|
return observerArg.next(...args);
|
||||||
};
|
};
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import * as plugins from './smartrx.plugins';
|
import * as plugins from './smartrx.plugins';
|
||||||
|
|
||||||
export interface IEventEmitter<T = any> {
|
export interface IEventEmitter<T = any> {
|
||||||
on: (eventNameArg: string, eventHandlerArg: ((eventPayload: T) => any)) => void;
|
on: (eventNameArg: string, eventHandlerArg: (eventPayload: T) => any) => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -24,7 +24,7 @@ export class Observablemap {
|
|||||||
* In case event has been registered before the same observable is returned.
|
* In case event has been registered before the same observable is returned.
|
||||||
*/
|
*/
|
||||||
public getObservableForEmitterEvent<T>(emitterArg: IEventEmitter<T>, eventArg: string) {
|
public getObservableForEmitterEvent<T>(emitterArg: IEventEmitter<T>, eventArg: string) {
|
||||||
const existingBundle = this.observableEmitterBundleObjectmap.find(bundleArg => {
|
const existingBundle = this.observableEmitterBundleObjectmap.find((bundleArg) => {
|
||||||
return bundleArg.emitter === emitterArg && bundleArg.event === eventArg;
|
return bundleArg.emitter === emitterArg && bundleArg.event === eventArg;
|
||||||
});
|
});
|
||||||
if (existingBundle) {
|
if (existingBundle) {
|
||||||
@ -34,7 +34,7 @@ export class Observablemap {
|
|||||||
this.observableEmitterBundleObjectmap.add({
|
this.observableEmitterBundleObjectmap.add({
|
||||||
observable: emitterObservable,
|
observable: emitterObservable,
|
||||||
emitter: emitterArg,
|
emitter: emitterArg,
|
||||||
event: eventArg
|
event: eventArg,
|
||||||
});
|
});
|
||||||
return emitterObservable;
|
return emitterObservable;
|
||||||
}
|
}
|
||||||
|
13
ts/smartrx.plugins.rxjs.ts
Normal file
13
ts/smartrx.plugins.rxjs.ts
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
// this file is intended to keep the bundle size down
|
||||||
|
|
||||||
|
export { Observable, Subject, fromEvent, ReplaySubject } from 'rxjs';
|
||||||
|
|
||||||
|
import { startWith, takeUntil, map, debounce, debounceTime } from 'rxjs/operators';
|
||||||
|
|
||||||
|
export const ops = {
|
||||||
|
debounce,
|
||||||
|
debounceTime,
|
||||||
|
map,
|
||||||
|
startWith,
|
||||||
|
takeUntil,
|
||||||
|
};
|
@ -1,5 +1,5 @@
|
|||||||
import * as lik from '@pushrocks/lik';
|
import * as lik from '@pushrocks/lik';
|
||||||
import * as rxjs from 'rxjs';
|
import * as rxjs from './smartrx.plugins.rxjs';
|
||||||
import * as smartpromise from '@pushrocks/smartpromise';
|
import * as smartpromise from '@pushrocks/smartpromise';
|
||||||
|
|
||||||
export { lik, rxjs, smartpromise };
|
export { lik, rxjs, smartpromise };
|
||||||
|
Reference in New Issue
Block a user