smartlog-destination-local/ts/beautylog.classes.ora.ts
2016-07-24 01:17:38 +02:00

51 lines
1.3 KiB
TypeScript

import "typings-global";
import * as plugins from "./beautylog.plugins";
import {logNode} from "./beautylog.log.helpers";
export let oraActive:boolean = false; // when an Ora is active (e.g. start()) this is true;
export let activeOra:Ora; //points to the currently active Ora object
export class Ora {
private _oraObject;
state:string;
constructor(textArg:string,colorArg:string,startArg:boolean = false){
this._oraObject = plugins.ora({
spinner:"dots",
text:textArg,
color:colorArg
});
startArg ? this._oraObject.start() : void(0);
}
text(textArg){
this._oraObject.text = textArg;
};
start(textArg?:string,colorArg?:string){
if(textArg) this._oraObject.text = textArg;
if(colorArg) this._oraObject.color = colorArg;
activeOra = this;
oraActive = true;
this._oraObject.start();
};
end(){
this._oraObject.stop();
this._oraObject.clear();
activeOra = undefined;
oraActive = false;
}
endOk(textArg){
this.end();
logNode("ok",textArg);
};
endError(textArg){
this.end();
logNode("error",textArg);
};
pause(){
this._oraObject.stop();
}
stop(){ // alias for end
this.end();
};
}