UNPKG

1.4 kBPlain TextView Raw
1import chalk from 'chalk';
2
3const SEPARATOR = ', ';
4
5let verbose = false;
6let disabled = false;
7
8const formatMessages = (messages: Array<string>) =>
9 chalk.reset(messages.join(SEPARATOR));
10
11const success = (...messages: Array<string>) => {
12 if (!disabled) {
13 console.log(`${chalk.green.bold('success')} ${formatMessages(messages)}`);
14 }
15};
16
17const info = (...messages: Array<string>) => {
18 if (!disabled) {
19 console.log(`${chalk.cyan.bold('info')} ${formatMessages(messages)}`);
20 }
21};
22
23const warn = (...messages: Array<string>) => {
24 if (!disabled) {
25 console.warn(`${chalk.yellow.bold('warn')} ${formatMessages(messages)}`);
26 }
27};
28
29const error = (...messages: Array<string>) => {
30 if (!disabled) {
31 console.error(`${chalk.red.bold('error')} ${formatMessages(messages)}`);
32 }
33};
34
35const debug = (...messages: Array<string>) => {
36 if (verbose && !disabled) {
37 console.log(`${chalk.gray.bold('debug')} ${formatMessages(messages)}`);
38 }
39};
40
41const log = (...messages: Array<string>) => {
42 if (!disabled) {
43 console.log(`${formatMessages(messages)}`);
44 }
45};
46
47const setVerbose = (level: boolean) => {
48 verbose = level;
49};
50
51const isVerbose = () => verbose;
52
53const disable = () => {
54 disabled = true;
55};
56
57const enable = () => {
58 disabled = false;
59};
60
61export default {
62 success,
63 info,
64 warn,
65 error,
66 debug,
67 log,
68 setVerbose,
69 isVerbose,
70 disable,
71 enable,
72};