@@ -19,6 +19,8 @@ const QUESTION_TYPE = {
19
19
CONFIRM : 'confirm'
20
20
} ;
21
21
22
+ const formatter = new Intl . ListFormat ( 'en' , { type : 'disjunction' } ) ;
23
+
22
24
function head ( text , length = 11 ) {
23
25
return chalk . bold ( text . padEnd ( length ) ) ;
24
26
}
@@ -54,12 +56,11 @@ export default class CLI {
54
56
const availableTypes = Object . values ( QUESTION_TYPE ) ;
55
57
if ( ! availableTypes . includes ( questionType ) ) {
56
58
throw new Error (
57
- `${ questionType } must be one of ${ availableTypes . join ( ', ' ) } ` ) ;
59
+ `${ questionType } must be one of ${ formatter . format ( availableTypes ) } ` ) ;
58
60
}
59
61
60
- const defaultAnswer = ( opts . defaultAnswer === undefined )
61
- ? true
62
- : opts . defaultAnswer ;
62
+ const defaultAnswer = ( opts . defaultAnswer === undefined ) ||
63
+ opts . defaultAnswer ;
63
64
if ( typeof defaultAnswer === 'boolean' &&
64
65
questionType !== QUESTION_TYPE . CONFIRM ) {
65
66
throw new Error (
@@ -95,14 +96,18 @@ export default class CLI {
95
96
96
97
stopSpinner ( rawText , status = SUCCESS ) {
97
98
let symbol ;
98
- if ( status === SUCCESS ) {
99
- symbol = success ;
100
- } else if ( status === FAILED ) {
101
- symbol = error ;
102
- } else if ( status === WARN ) {
103
- symbol = warning ;
104
- } else if ( status === INFO ) {
105
- symbol = info ;
99
+ switch ( status ) {
100
+ case SUCCESS :
101
+ symbol = success ;
102
+ break ;
103
+ case FAILED :
104
+ symbol = error ;
105
+ break ;
106
+ case WARN :
107
+ symbol = warning ;
108
+ break ;
109
+ case INFO :
110
+ symbol = info ;
106
111
}
107
112
const text = ' ' + rawText ;
108
113
this . spinner . stopAndPersist ( {
@@ -155,9 +160,9 @@ export default class CLI {
155
160
const prefix = options . newline ? this . eolIndent : this . figureIndent ;
156
161
if ( obj instanceof Error ) {
157
162
this . log ( `${ prefix } ${ error } ${ obj . message } ` ) ;
158
- this . log ( ` ${ obj . stack } ` ) ;
163
+ this . log ( obj . stack ) ;
159
164
if ( obj . data ) {
160
- this . log ( ` ${ JSON . stringify ( obj . data , null , 2 ) } ` ) ;
165
+ this . log ( JSON . stringify ( obj . data , null , 2 ) ) ;
161
166
}
162
167
} else {
163
168
this . log ( prefix + chalk . bold ( `${ error } ${ obj } ` ) ) ;
0 commit comments