improved README
This commit is contained in:
parent
aabfb2721d
commit
b24b564495
@ -31,6 +31,7 @@ let mySmartstream = new Smartstream([
|
|||||||
])
|
])
|
||||||
|
|
||||||
mySmartstream.onError((err) => { /* handle error */ }) // handles all errors in stream
|
mySmartstream.onError((err) => { /* handle error */ }) // handles all errors in stream
|
||||||
|
myStream.onCustomEvent('myeventname', (args...) => { /* Do something */ }) // emit an custom event anywhere in your stream
|
||||||
mySmartstream.run().then(() => {/* do something when stream is finished */})
|
mySmartstream.run().then(() => {/* do something when stream is finished */})
|
||||||
```
|
```
|
||||||
|
|
||||||
|
20
dist/index.d.ts
vendored
20
dist/index.d.ts
vendored
@ -3,9 +3,6 @@ import * as plugins from './smartstream.plugins';
|
|||||||
export interface IErrorFunction {
|
export interface IErrorFunction {
|
||||||
(err: any): any;
|
(err: any): any;
|
||||||
}
|
}
|
||||||
export interface IStreamStartFunction {
|
|
||||||
(stream: any): any;
|
|
||||||
}
|
|
||||||
export interface ICustomEventFunction {
|
export interface ICustomEventFunction {
|
||||||
(): any;
|
(): any;
|
||||||
}
|
}
|
||||||
@ -17,10 +14,13 @@ export interface ICustomEventObject {
|
|||||||
* class Smartstream handles
|
* class Smartstream handles
|
||||||
*/
|
*/
|
||||||
export declare class Smartstream {
|
export declare class Smartstream {
|
||||||
streamArray: any[];
|
private streamArray;
|
||||||
errorFunction: IErrorFunction;
|
private errorFunction;
|
||||||
streamStartFunction: IStreamStartFunction;
|
private customEventObjectArray;
|
||||||
customEventObjectArray: ICustomEventObject[];
|
private streamStartedDeferred;
|
||||||
|
/**
|
||||||
|
* constructor
|
||||||
|
*/
|
||||||
constructor(streamArrayArg: any[]);
|
constructor(streamArrayArg: any[]);
|
||||||
/**
|
/**
|
||||||
* attach an error handler to the stream to prevent throwing
|
* attach an error handler to the stream to prevent throwing
|
||||||
@ -29,7 +29,11 @@ export declare class Smartstream {
|
|||||||
/**
|
/**
|
||||||
* make something with the stream itself
|
* make something with the stream itself
|
||||||
*/
|
*/
|
||||||
onStreamStart(): plugins.q.Promise<any>;
|
streamStarted(): plugins.q.Promise<any>;
|
||||||
|
/**
|
||||||
|
* attach listener to custom event
|
||||||
|
*/
|
||||||
|
onCustomEvent(eventNameArg: string, eventFunctionArg: ICustomEventFunction): void;
|
||||||
/**
|
/**
|
||||||
* run the stream
|
* run the stream
|
||||||
* @returns Promise
|
* @returns Promise
|
||||||
|
20
dist/index.js
vendored
20
dist/index.js
vendored
@ -4,11 +4,14 @@ const plugins = require("./smartstream.plugins");
|
|||||||
* class Smartstream handles
|
* class Smartstream handles
|
||||||
*/
|
*/
|
||||||
class Smartstream {
|
class Smartstream {
|
||||||
|
/**
|
||||||
|
* constructor
|
||||||
|
*/
|
||||||
constructor(streamArrayArg) {
|
constructor(streamArrayArg) {
|
||||||
this.streamArray = [];
|
this.streamArray = [];
|
||||||
this.errorFunction = null;
|
this.errorFunction = null;
|
||||||
this.streamStartFunction = null;
|
|
||||||
this.customEventObjectArray = [];
|
this.customEventObjectArray = [];
|
||||||
|
this.streamStartedDeferred = plugins.q.defer();
|
||||||
this.streamArray = streamArrayArg;
|
this.streamArray = streamArrayArg;
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
@ -20,7 +23,17 @@ class Smartstream {
|
|||||||
/**
|
/**
|
||||||
* make something with the stream itself
|
* make something with the stream itself
|
||||||
*/
|
*/
|
||||||
onStreamStart() {
|
streamStarted() {
|
||||||
|
return this.streamStartedDeferred.promise;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* attach listener to custom event
|
||||||
|
*/
|
||||||
|
onCustomEvent(eventNameArg, eventFunctionArg) {
|
||||||
|
this.customEventObjectArray.push({
|
||||||
|
eventName: eventNameArg,
|
||||||
|
eventFunction: eventFunctionArg
|
||||||
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* run the stream
|
* run the stream
|
||||||
@ -51,6 +64,7 @@ class Smartstream {
|
|||||||
}
|
}
|
||||||
firstIteration = false;
|
firstIteration = false;
|
||||||
}
|
}
|
||||||
|
this.streamStartedDeferred.resolve();
|
||||||
finalStream.on('end', function () {
|
finalStream.on('end', function () {
|
||||||
done.resolve();
|
done.resolve();
|
||||||
});
|
});
|
||||||
@ -64,4 +78,4 @@ class Smartstream {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.Smartstream = Smartstream;
|
exports.Smartstream = Smartstream;
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsaURBQWdEO0FBbUJoRDs7R0FFRztBQUNIO0lBS0ksWUFBWSxjQUFxQjtRQUpqQyxnQkFBVyxHQUFHLEVBQUUsQ0FBQTtRQUNoQixrQkFBYSxHQUFtQixJQUFJLENBQUE7UUFDcEMsd0JBQW1CLEdBQXlCLElBQUksQ0FBQTtRQUNoRCwyQkFBc0IsR0FBeUIsRUFBRSxDQUFBO1FBRTdDLElBQUksQ0FBQyxXQUFXLEdBQUcsY0FBYyxDQUFBO0lBQ3JDLENBQUM7SUFFRDs7T0FFRztJQUNILE9BQU8sQ0FBQyxnQkFBZ0M7UUFDcEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQTtJQUN6QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxhQUFhO0lBRWIsQ0FBQztJQUVEOzs7T0FHRztJQUNILEdBQUc7UUFDQyxJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBUSxDQUFBO1FBRWxDLGNBQWM7UUFDZCxJQUFJLG9CQUFvQixHQUFHLEVBQUUsQ0FBQTtRQUM3QixHQUFHLENBQUMsQ0FBQyxJQUFJLFVBQVUsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUFDLENBQUM7UUFFbEYscUJBQXFCO1FBQ3JCLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQTtRQUN0QixJQUFJLGNBQWMsR0FBWSxJQUFJLENBQUE7UUFDbEMsR0FBRyxDQUFDLENBQUMsSUFBSSxNQUFNLElBQUksb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLEVBQUUsQ0FBQyxDQUFDLGNBQWMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUMxQixXQUFXLEdBQUcsTUFBTSxDQUFBO1lBQ3hCLENBQUM7WUFDRCxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQzlCLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtZQUMxQyxDQUFDO1lBQ0QsR0FBRyxDQUFDLENBQUMsSUFBSSxpQkFBaUIsSUFBSSxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO2dCQUN4RCxNQUFNLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQTtZQUMzRSxDQUFDO1lBQ0QsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO2dCQUNsQixXQUFXLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUMxQyxDQUFDO1lBQ0QsY0FBYyxHQUFHLEtBQUssQ0FBQTtRQUMxQixDQUFDO1FBQ0QsV0FBVyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUM7WUFDakIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQ2xCLENBQUMsQ0FBQyxDQUFBO1FBQ0YsV0FBVyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUM7WUFDbkIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQ2xCLENBQUMsQ0FBQyxDQUFBO1FBQ0YsV0FBVyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUM7WUFDcEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQ2xCLENBQUMsQ0FBQyxDQUFBO1FBQ0YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDdkIsQ0FBQztDQUNKO0FBL0RELGtDQStEQyJ9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsaURBQWdEO0FBZWhEOztHQUVHO0FBQ0g7SUFNSTs7T0FFRztJQUNILFlBQVksY0FBcUI7UUFSekIsZ0JBQVcsR0FBRyxFQUFFLENBQUE7UUFDaEIsa0JBQWEsR0FBbUIsSUFBSSxDQUFBO1FBQ3BDLDJCQUFzQixHQUF5QixFQUFFLENBQUE7UUFDakQsMEJBQXFCLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQU03QyxJQUFJLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQTtJQUNyQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPLENBQUMsZ0JBQWdDO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsZ0JBQWdCLENBQUE7SUFDekMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNULE1BQU0sQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFBO0lBQzdDLENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWEsQ0FBQyxZQUFvQixFQUFFLGdCQUFzQztRQUN0RSxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDO1lBQzdCLFNBQVMsRUFBRSxZQUFZO1lBQ3ZCLGFBQWEsRUFBRSxnQkFBZ0I7U0FDbEMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVEOzs7T0FHRztJQUNILEdBQUc7UUFDQyxJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBUSxDQUFBO1FBRWxDLGNBQWM7UUFDZCxJQUFJLG9CQUFvQixHQUFHLEVBQUUsQ0FBQTtRQUM3QixHQUFHLENBQUMsQ0FBQyxJQUFJLFVBQVUsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUFDLENBQUM7UUFFbEYscUJBQXFCO1FBQ3JCLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQTtRQUN0QixJQUFJLGNBQWMsR0FBWSxJQUFJLENBQUE7UUFDbEMsR0FBRyxDQUFDLENBQUMsSUFBSSxNQUFNLElBQUksb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLEVBQUUsQ0FBQyxDQUFDLGNBQWMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUMxQixXQUFXLEdBQUcsTUFBTSxDQUFBO1lBQ3hCLENBQUM7WUFDRCxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQzlCLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtZQUMxQyxDQUFDO1lBQ0QsR0FBRyxDQUFDLENBQUMsSUFBSSxpQkFBaUIsSUFBSSxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO2dCQUN4RCxNQUFNLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQTtZQUMzRSxDQUFDO1lBQ0QsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO2dCQUNsQixXQUFXLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUMxQyxDQUFDO1lBQ0QsY0FBYyxHQUFHLEtBQUssQ0FBQTtRQUMxQixDQUFDO1FBRUQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxDQUFBO1FBRXBDLFdBQVcsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFDO1lBQ2pCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUNsQixDQUFDLENBQUMsQ0FBQTtRQUNGLFdBQVcsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFDO1lBQ25CLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUNsQixDQUFDLENBQUMsQ0FBQTtRQUNGLFdBQVcsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFDO1lBQ3BCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUNsQixDQUFDLENBQUMsQ0FBQTtRQUNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFBO0lBQ3ZCLENBQUM7Q0FDSjtBQWhGRCxrQ0FnRkMifQ==
|
31
ts/index.ts
31
ts/index.ts
@ -4,10 +4,6 @@ export interface IErrorFunction {
|
|||||||
(err): any
|
(err): any
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface IStreamStartFunction {
|
|
||||||
(stream): any
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ICustomEventFunction {
|
export interface ICustomEventFunction {
|
||||||
(): any
|
(): any
|
||||||
}
|
}
|
||||||
@ -21,10 +17,14 @@ export interface ICustomEventObject {
|
|||||||
* class Smartstream handles
|
* class Smartstream handles
|
||||||
*/
|
*/
|
||||||
export class Smartstream {
|
export class Smartstream {
|
||||||
streamArray = []
|
private streamArray = []
|
||||||
errorFunction: IErrorFunction = null
|
private errorFunction: IErrorFunction = null
|
||||||
streamStartFunction: IStreamStartFunction = null
|
private customEventObjectArray: ICustomEventObject[] = []
|
||||||
customEventObjectArray: ICustomEventObject[] = []
|
private streamStartedDeferred = plugins.q.defer()
|
||||||
|
|
||||||
|
/**
|
||||||
|
* constructor
|
||||||
|
*/
|
||||||
constructor(streamArrayArg: any[]) {
|
constructor(streamArrayArg: any[]) {
|
||||||
this.streamArray = streamArrayArg
|
this.streamArray = streamArrayArg
|
||||||
}
|
}
|
||||||
@ -39,8 +39,18 @@ export class Smartstream {
|
|||||||
/**
|
/**
|
||||||
* make something with the stream itself
|
* make something with the stream itself
|
||||||
*/
|
*/
|
||||||
onStreamStart(): plugins.q.Promise<any> {
|
streamStarted(): plugins.q.Promise<any> {
|
||||||
|
return this.streamStartedDeferred.promise
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* attach listener to custom event
|
||||||
|
*/
|
||||||
|
onCustomEvent(eventNameArg: string, eventFunctionArg: ICustomEventFunction) {
|
||||||
|
this.customEventObjectArray.push({
|
||||||
|
eventName: eventNameArg,
|
||||||
|
eventFunction: eventFunctionArg
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -72,6 +82,9 @@ export class Smartstream {
|
|||||||
}
|
}
|
||||||
firstIteration = false
|
firstIteration = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.streamStartedDeferred.resolve()
|
||||||
|
|
||||||
finalStream.on('end',function(){
|
finalStream.on('end',function(){
|
||||||
done.resolve()
|
done.resolve()
|
||||||
})
|
})
|
||||||
|
Loading…
Reference in New Issue
Block a user