UNPKG

@tecfancy/spinner

Version:
34 lines 1.22 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.spinnerStop = exports.spinnerStart = void 0; const cli_spinners_1 = __importDefault(require("cli-spinners")); let interval; let currentSpinner; /** * Start the spinner * @param message spinner message * @param spinnerName spinner name */ function spinnerStart(message = "", spinnerName = "line") { // choose a spinner style, default is 'line' const spinner = cli_spinners_1.default[spinnerName]; currentSpinner = spinner; // define the display logic of the spinner let i = 0; interval = setInterval(() => { process.stdout.write(`\r${spinner.frames[(i = ++i % spinner.frames.length)]} ${message}`); }, spinner.interval); } exports.spinnerStart = spinnerStart; /** Stop the spinner */ function spinnerStop() { // stop the spinner clearInterval(interval); // clear the last line of the spinner process.stdout.write("\r" + " ".repeat(currentSpinner.frames[0].length) + "\r"); } exports.spinnerStop = spinnerStop; //# sourceMappingURL=index.js.map