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