UNPKG

985 BJavaScriptView Raw
1const { red, gray } = require('chalk')
2const { UiengineInputError } = require('./error')
3
4const markSample = gray
5
6const getText = msg =>
7 msg instanceof Array ? msg.join('\n\n') : msg
8
9const reportSuccess = msg => {
10 reportInfo(msg, { icon: '✅', transient: false })
11}
12
13const reportInfo = (msg, opts = { icon: 'ℹ️', transient: true }) => {
14 process.stdout.write(`${opts.icon} ${getText(msg)}${opts.transient ? '\r' : '\n'}`)
15}
16
17const reportError = (msg, err) => {
18 const text = getText(msg)
19
20 let errMessage = ''
21 if (err instanceof UiengineInputError) {
22 const { message, stack } = err.originalError || {}
23 const original = stack || message
24 errMessage = `\n\n${err.message}` + (original ? `\n\n${original}` : '')
25 } else if (err) {
26 const { message, stack } = err
27 errMessage = `\n\n${stack || message}`
28 }
29
30 process.stderr.write(`🚨 ${red(text)}${errMessage}\n\n`)
31}
32
33module.exports = {
34 markSample,
35 reportSuccess,
36 reportInfo,
37 reportError
38}