vasku
Version:
TVM-Solidity contract development framework
33 lines (32 loc) • 862 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.stopPreloader = exports.startPreloader = void 0;
const timers_1 = require("timers");
const colors_1 = require("colors");
const SYMBOLS = '⢿⣻⣽⣾⣷⣯⣟⡿';
const DELAY = 100;
let text;
let timer;
function startPreloader(message) {
clear();
text = message;
let counter = 0;
timer = setInterval(() => {
print(SYMBOLS.charAt(counter++));
counter &= SYMBOLS.length - 1;
}, DELAY);
}
exports.startPreloader = startPreloader;
function stopPreloader() {
clear();
print((0, colors_1.green)('✔'));
console.log();
}
exports.stopPreloader = stopPreloader;
function clear() {
if (timer !== undefined)
(0, timers_1.clearInterval)(timer);
}
function print(symbol) {
process.stdout.write(`\r${text}... ${symbol}`);
}