@@ -12,18 +12,27 @@ type Color =
12
12
| 'gray'
13
13
| 'grey' ;
14
14
15
- const logger = {
15
+ const logFns = {
16
16
// eslint-disable-next-line no-console
17
17
writeLn : console . log ,
18
18
write : ( msg : string ) => process . stdout . write ( msg . toString ( ) )
19
19
} ;
20
20
21
21
const log = ( msg : string , color : Color | null , newLine : boolean ) =>
22
- logger [ newLine ? 'writeLn' : 'write' ] ( color ? colors [ color ] ( msg ) : msg ) ;
22
+ logFns [ newLine ? 'writeLn' : 'write' ] ( color ? colors [ color ] ( msg ) : msg ) ;
23
23
24
- export default {
24
+ export interface Logger {
25
+ err : ( msg : string , noNewLine ?: boolean ) => void ;
26
+ log : ( msg : string , noNewLine ?: boolean ) => void ;
27
+ ok : ( msg : string , noNewLine ?: boolean ) => void ;
28
+ warn : ( msg : string , noNewLine ?: boolean ) => void ;
29
+ }
30
+
31
+ const logger : Logger = {
25
32
err : ( msg : string , noNewLine ?: boolean ) => log ( msg , 'red' , ! noNewLine ) ,
26
33
log : ( msg : string , noNewLine ?: boolean ) => log ( msg , null , ! noNewLine ) ,
27
34
ok : ( msg : string , noNewLine ?: boolean ) => log ( msg , 'green' , ! noNewLine ) ,
28
35
warn : ( msg : string , noNewLine ?: boolean ) => log ( msg , 'yellow' , ! noNewLine )
29
36
} ;
37
+
38
+ export default logger ;
0 commit comments