UNPKG

create-cttq

Version:

CTTQ大前端脚手架项目

65 lines (55 loc) 1.04 kB
const ora = require('ora') const { green } = require('kolorist') const spinner = ora() let lastMsg = null let isPaused = false exports.logWithSpinner = (symbol, msg) => { if (!msg) { msg = symbol symbol = green('✔') } if (lastMsg) { spinner.stopAndPersist({ symbol: lastMsg.symbol, text: lastMsg.text }) } spinner.text = ' ' + msg lastMsg = { symbol: symbol + ' ', text: msg } spinner.start() } exports.stopSpinner = (persist) => { if (!spinner.isSpinning) { return } if (lastMsg && persist !== false) { spinner.stopAndPersist({ symbol: lastMsg.symbol, text: lastMsg.text }) } else { spinner.stop() } lastMsg = null } exports.pauseSpinner = () => { if (spinner.isSpinning) { spinner.stop() isPaused = true } } exports.resumeSpinner = () => { if (isPaused) { spinner.start() isPaused = false } } exports.failSpinner = (text) => { spinner.fail(text) } exports.succeedSpinner = (text) => { spinner.succeed(text) }