UNPKG

alwaysai

Version:

The alwaysAI command-line interface (CLI)

49 lines (46 loc) 1.16 kB
import ora = require('ora'); import { NODE_ENV } from '../environment'; import { audit } from './audit'; type Spinner = { fail: (message?: string) => void; succeed: (message?: string) => void; warn: (message?: string) => void; setMessage: (message: string) => void; }; export function Spinner(message: string) { audit(`Spinner: ${message}`); let spinner: Spinner; if (NODE_ENV === 'test') { spinner = { fail(message) { console.log(`Spinner test: ${message}`); }, succeed(message) { console.log(`Spinner test: ${message}`); }, warn(message) { console.log(`Spinner test: ${message}`); }, setMessage(message) { console.log(`Spinner test: ${message}`); } }; } else { const oraSpinner = ora({ text: message, discardStdin: false }).start(); spinner = { fail(message) { oraSpinner.fail(message); }, warn(message) { oraSpinner.warn(message); }, succeed(message) { oraSpinner.succeed(message); }, setMessage(message) { oraSpinner.text = message; } }; } return spinner; }