65 lines
6.0 KiB
JavaScript
65 lines
6.0 KiB
JavaScript
"use strict";
|
|
/// <reference path="./typings/index.d.ts" />
|
|
var colors = require("colors");
|
|
var readline = require("readline");
|
|
var rl;
|
|
var initReadline = function () {
|
|
rl = readline.createInterface({
|
|
input: process.stdin,
|
|
output: process.stdout
|
|
});
|
|
};
|
|
var moduleName;
|
|
var loaderLength;
|
|
var frameCounter = 0;
|
|
var makeFrame = function () {
|
|
var resultString = "["
|
|
+ "/".green.repeat(frameCounter)
|
|
+ " ".repeat(loaderLength - frameCounter)
|
|
+ "]"
|
|
+ " starting "
|
|
+ moduleName.cyan;
|
|
if (frameCounter == loaderLength) {
|
|
frameCounter = 0;
|
|
}
|
|
else {
|
|
frameCounter++;
|
|
}
|
|
return resultString;
|
|
};
|
|
var abort = true;
|
|
var logEarly = function () {
|
|
rl.write(null, { ctrl: true, name: 'u' });
|
|
rl.write(makeFrame());
|
|
setTimeout(function () {
|
|
if (!abort) {
|
|
logEarly();
|
|
}
|
|
}, 200);
|
|
};
|
|
// exports
|
|
exports.start = function (moduleNameArg, loaderLengthArg) {
|
|
if (moduleNameArg === void 0) { moduleNameArg = ""; }
|
|
if (loaderLengthArg === void 0) { loaderLengthArg = 10; }
|
|
abort = false;
|
|
moduleName = moduleNameArg;
|
|
loaderLength = loaderLengthArg;
|
|
if (!process.env.CI) {
|
|
initReadline();
|
|
logEarly();
|
|
}
|
|
else {
|
|
console.log("**** starting " + moduleName + " ****");
|
|
}
|
|
;
|
|
};
|
|
exports.stop = function () {
|
|
abort = true;
|
|
if (!process.env.CI) {
|
|
rl.write(null, { ctrl: true, name: 'u' });
|
|
rl.close();
|
|
}
|
|
};
|
|
|
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw2Q0FBNkM7QUFDN0MsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQy9CLElBQUksUUFBUSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUVuQyxJQUFJLEVBQUUsQ0FBQztBQUNQLElBQUksWUFBWSxHQUFHO0lBQ2YsRUFBRSxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUM7UUFDOUIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1FBQ3BCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtLQUNyQixDQUFDLENBQUM7QUFDUCxDQUFDLENBQUM7QUFFRixJQUFJLFVBQWlCLENBQUM7QUFDdEIsSUFBSSxZQUFtQixDQUFDO0FBQ3hCLElBQUksWUFBWSxHQUFVLENBQUMsQ0FBQztBQUU1QixJQUFJLFNBQVMsR0FBRztJQUNaLElBQUksWUFBWSxHQUFVLEdBQUc7VUFDdkIsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO1VBQzlCLEdBQUcsQ0FBQyxNQUFNLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztVQUN2QyxHQUFHO1VBQ0gsWUFBWTtVQUNaLFVBQVUsQ0FBQyxJQUFJLENBQUM7SUFFdEIsRUFBRSxDQUFBLENBQUMsWUFBWSxJQUFJLFlBQVksQ0FBQyxDQUFBLENBQUM7UUFDN0IsWUFBWSxHQUFHLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixZQUFZLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxDQUFDLFlBQVksQ0FBQztBQUN4QixDQUFDLENBQUM7QUFFRixJQUFJLEtBQUssR0FBVyxJQUFJLENBQUM7QUFDekIsSUFBSSxRQUFRLEdBQUc7SUFDWCxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBQyxDQUFDLENBQUM7SUFDeEMsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3RCLFVBQVUsQ0FBQztRQUNQLEVBQUUsQ0FBQSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUEsQ0FBQztZQUNQLFFBQVEsRUFBRSxDQUFDO1FBQ2YsQ0FBQztJQUNMLENBQUMsRUFBQyxHQUFHLENBQUMsQ0FBQztBQUNYLENBQUMsQ0FBQztBQUdGLFVBQVU7QUFDQyxhQUFLLEdBQUcsVUFBUyxhQUF5QixFQUFDLGVBQTJCO0lBQXJELDZCQUF5QixHQUF6QixrQkFBeUI7SUFBQywrQkFBMkIsR0FBM0Isb0JBQTJCO0lBQzdFLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDZCxVQUFVLEdBQUcsYUFBYSxDQUFDO0lBQzNCLFlBQVksR0FBRyxlQUFlLENBQUM7SUFDL0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUM7UUFDakIsWUFBWSxFQUFFLENBQUM7UUFDZixRQUFRLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNKLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEdBQUcsVUFBVSxHQUFHLE9BQU8sQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFBQSxDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBRVMsWUFBSSxHQUFHO0lBQ2QsS0FBSyxHQUFHLElBQUksQ0FBQztJQUNiLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDO1FBQ2pCLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFDLENBQUMsQ0FBQztRQUN4QyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0FBQ0wsQ0FBQyxDQUFDIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4vdHlwaW5ncy9pbmRleC5kLnRzXCIgLz5cclxubGV0IGNvbG9ycyA9IHJlcXVpcmUoXCJjb2xvcnNcIik7XHJcbmxldCByZWFkbGluZSA9IHJlcXVpcmUoXCJyZWFkbGluZVwiKTtcclxuXHJcbmxldCBybDsgXHJcbmxldCBpbml0UmVhZGxpbmUgPSAoKSA9PiB7XHJcbiAgICBybCA9IHJlYWRsaW5lLmNyZWF0ZUludGVyZmFjZSh7XHJcbiAgICBpbnB1dDogcHJvY2Vzcy5zdGRpbixcclxuICAgIG91dHB1dDogcHJvY2Vzcy5zdGRvdXRcclxuICAgIH0pO1xyXG59O1xyXG5cclxubGV0IG1vZHVsZU5hbWU6c3RyaW5nO1xyXG5sZXQgbG9hZGVyTGVuZ3RoOm51bWJlcjtcclxubGV0IGZyYW1lQ291bnRlcjpudW1iZXIgPSAwO1xyXG5cclxubGV0IG1ha2VGcmFtZSA9ICgpOnN0cmluZyA9PiB7XHJcbiAgICBsZXQgcmVzdWx0U3RyaW5nOnN0cmluZyA9IFwiW1wiXHJcbiAgICAgICAgKyBcIi9cIi5ncmVlbi5yZXBlYXQoZnJhbWVDb3VudGVyKVxyXG4gICAgICAgICsgXCIgXCIucmVwZWF0KGxvYWRlckxlbmd0aCAtIGZyYW1lQ291bnRlcilcclxuICAgICAgICArIFwiXVwiXHJcbiAgICAgICAgKyBcIiBzdGFydGluZyBcIlxyXG4gICAgICAgICsgbW9kdWxlTmFtZS5jeWFuO1xyXG5cclxuICAgIGlmKGZyYW1lQ291bnRlciA9PSBsb2FkZXJMZW5ndGgpe1xyXG4gICAgICAgIGZyYW1lQ291bnRlciA9IDA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIGZyYW1lQ291bnRlcisrO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdFN0cmluZztcclxufTtcclxuXHJcbmxldCBhYm9ydDpib29sZWFuID0gdHJ1ZTtcclxubGV0IGxvZ0Vhcmx5ID0gKCkgPT4ge1xyXG4gICAgcmwud3JpdGUobnVsbCwge2N0cmw6IHRydWUsIG5hbWU6ICd1J30pO1xyXG4gICAgcmwud3JpdGUobWFrZUZyYW1lKCkpO1xyXG4gICAgc2V0VGltZW91dChmdW5jdGlvbigpe1xyXG4gICAgICAgIGlmKCFhYm9ydCl7XHJcbiAgICAgICAgICAgIGxvZ0Vhcmx5KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwyMDApO1xyXG59O1xyXG5cclxuXHJcbi8vIGV4cG9ydHNcclxuZXhwb3J0IGxldCBzdGFydCA9IGZ1bmN0aW9uKG1vZHVsZU5hbWVBcmc6c3RyaW5nID0gXCJcIixsb2FkZXJMZW5ndGhBcmc6bnVtYmVyID0gMTApe1xyXG4gICAgYWJvcnQgPSBmYWxzZTtcclxuICAgIG1vZHVsZU5hbWUgPSBtb2R1bGVOYW1lQXJnO1xyXG4gICAgbG9hZGVyTGVuZ3RoID0gbG9hZGVyTGVuZ3RoQXJnO1xyXG4gICAgaWYgKCFwcm9jZXNzLmVudi5DSSl7XHJcbiAgICAgICAgaW5pdFJlYWRsaW5lKCk7XHJcbiAgICAgICAgbG9nRWFybHkoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCIqKioqIHN0YXJ0aW5nIFwiICsgbW9kdWxlTmFtZSArIFwiICoqKipcIik7XHJcbiAgICB9O1xyXG59O1xyXG5cclxuZXhwb3J0IGxldCBzdG9wID0gZnVuY3Rpb24oKXtcclxuICAgIGFib3J0ID0gdHJ1ZTtcclxuICAgIGlmICghcHJvY2Vzcy5lbnYuQ0kpe1xyXG4gICAgICAgIHJsLndyaXRlKG51bGwsIHtjdHJsOiB0cnVlLCBuYW1lOiAndSd9KTtcclxuICAgICAgICBybC5jbG9zZSgpO1xyXG4gICAgfVxyXG59O1xyXG5cclxuIl19
|