52 lines
4.9 KiB
JavaScript
52 lines
4.9 KiB
JavaScript
"use strict";
|
|
/// <reference path="./typings/index.d.ts" />
|
|
var colors = require("colors");
|
|
var readline = require("readline");
|
|
var 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 (loaderLengthArg === void 0) { loaderLengthArg = 10; }
|
|
abort = false;
|
|
moduleName = moduleNameArg;
|
|
loaderLength = loaderLengthArg;
|
|
logEarly();
|
|
};
|
|
exports.stop = function () {
|
|
abort = true;
|
|
rl.write(null, { ctrl: true, name: 'u' });
|
|
rl.close();
|
|
};
|
|
|
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw2Q0FBNkM7QUFDN0MsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQy9CLElBQUksUUFBUSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUVuQyxJQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDO0lBQ2xDLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztJQUNwQixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07Q0FDdkIsQ0FBQyxDQUFDO0FBRUgsSUFBSSxVQUFpQixDQUFDO0FBQ3RCLElBQUksWUFBbUIsQ0FBQztBQUN4QixJQUFJLFlBQVksR0FBVSxDQUFDLENBQUM7QUFFNUIsSUFBSSxTQUFTLEdBQUc7SUFDWixJQUFJLFlBQVksR0FBVSxHQUFHO1VBQ3ZCLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztVQUM5QixHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7VUFDdkMsR0FBRztVQUNILFlBQVk7VUFDWixVQUFVLENBQUMsSUFBSSxDQUFDO0lBRXRCLEVBQUUsQ0FBQSxDQUFDLFlBQVksSUFBSSxZQUFZLENBQUMsQ0FBQSxDQUFDO1FBQzdCLFlBQVksR0FBRyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ0osWUFBWSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUNELE1BQU0sQ0FBQyxZQUFZLENBQUM7QUFDeEIsQ0FBQyxDQUFDO0FBRUYsSUFBSSxLQUFLLEdBQVcsSUFBSSxDQUFDO0FBQ3pCLElBQUksUUFBUSxHQUFHO0lBQ1gsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUMsQ0FBQyxDQUFDO0lBQ3hDLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN0QixVQUFVLENBQUM7UUFDUCxFQUFFLENBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBLENBQUM7WUFDUCxRQUFRLEVBQUUsQ0FBQztRQUNmLENBQUM7SUFDTCxDQUFDLEVBQUMsR0FBRyxDQUFDLENBQUM7QUFDWCxDQUFDLENBQUM7QUFHRixVQUFVO0FBQ0MsYUFBSyxHQUFHLFVBQVMsYUFBb0IsRUFBQyxlQUEyQjtJQUEzQiwrQkFBMkIsR0FBM0Isb0JBQTJCO0lBQ3hFLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDZCxVQUFVLEdBQUcsYUFBYSxDQUFDO0lBQzNCLFlBQVksR0FBRyxlQUFlLENBQUM7SUFDL0IsUUFBUSxFQUFFLENBQUM7QUFDZixDQUFDLENBQUM7QUFFUyxZQUFJLEdBQUc7SUFDZCxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ2IsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUMsQ0FBQyxDQUFDO0lBQ3hDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUNmLENBQUMsQ0FBQyIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuL3R5cGluZ3MvaW5kZXguZC50c1wiIC8+XHJcbmxldCBjb2xvcnMgPSByZXF1aXJlKFwiY29sb3JzXCIpO1xyXG5sZXQgcmVhZGxpbmUgPSByZXF1aXJlKFwicmVhZGxpbmVcIik7XHJcblxyXG5jb25zdCBybCA9IHJlYWRsaW5lLmNyZWF0ZUludGVyZmFjZSh7XHJcbiAgaW5wdXQ6IHByb2Nlc3Muc3RkaW4sXHJcbiAgb3V0cHV0OiBwcm9jZXNzLnN0ZG91dFxyXG59KTtcclxuXHJcbmxldCBtb2R1bGVOYW1lOnN0cmluZztcclxubGV0IGxvYWRlckxlbmd0aDpudW1iZXI7XHJcbmxldCBmcmFtZUNvdW50ZXI6bnVtYmVyID0gMDtcclxuXHJcbmxldCBtYWtlRnJhbWUgPSAoKTpzdHJpbmcgPT4ge1xyXG4gICAgbGV0IHJlc3VsdFN0cmluZzpzdHJpbmcgPSBcIltcIlxyXG4gICAgICAgICsgXCIvXCIuZ3JlZW4ucmVwZWF0KGZyYW1lQ291bnRlcilcclxuICAgICAgICArIFwiIFwiLnJlcGVhdChsb2FkZXJMZW5ndGggLSBmcmFtZUNvdW50ZXIpXHJcbiAgICAgICAgKyBcIl1cIlxyXG4gICAgICAgICsgXCIgc3RhcnRpbmcgXCJcclxuICAgICAgICArIG1vZHVsZU5hbWUuY3lhbjtcclxuXHJcbiAgICBpZihmcmFtZUNvdW50ZXIgPT0gbG9hZGVyTGVuZ3RoKXtcclxuICAgICAgICBmcmFtZUNvdW50ZXIgPSAwO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICBmcmFtZUNvdW50ZXIrKztcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHRTdHJpbmc7XHJcbn07XHJcblxyXG5sZXQgYWJvcnQ6Ym9vbGVhbiA9IHRydWU7XHJcbmxldCBsb2dFYXJseSA9ICgpID0+IHtcclxuICAgIHJsLndyaXRlKG51bGwsIHtjdHJsOiB0cnVlLCBuYW1lOiAndSd9KTtcclxuICAgIHJsLndyaXRlKG1ha2VGcmFtZSgpKTtcclxuICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXtcclxuICAgICAgICBpZighYWJvcnQpe1xyXG4gICAgICAgICAgICBsb2dFYXJseSgpO1xyXG4gICAgICAgIH1cclxuICAgIH0sMjAwKTtcclxufTtcclxuXHJcblxyXG4vLyBleHBvcnRzXHJcbmV4cG9ydCBsZXQgc3RhcnQgPSBmdW5jdGlvbihtb2R1bGVOYW1lQXJnOnN0cmluZyxsb2FkZXJMZW5ndGhBcmc6bnVtYmVyID0gMTApe1xyXG4gICAgYWJvcnQgPSBmYWxzZTtcclxuICAgIG1vZHVsZU5hbWUgPSBtb2R1bGVOYW1lQXJnO1xyXG4gICAgbG9hZGVyTGVuZ3RoID0gbG9hZGVyTGVuZ3RoQXJnO1xyXG4gICAgbG9nRWFybHkoKTtcclxufTtcclxuXHJcbmV4cG9ydCBsZXQgc3RvcCA9IGZ1bmN0aW9uKCl7XHJcbiAgICBhYm9ydCA9IHRydWU7XHJcbiAgICBybC53cml0ZShudWxsLCB7Y3RybDogdHJ1ZSwgbmFtZTogJ3UnfSk7XHJcbiAgICBybC5jbG9zZSgpO1xyXG59O1xyXG5cclxuIl19
|