@@ -2,22 +2,49 @@ import Emoji from './emoji';
22
33const isSuccess = type => type === 'success' ;
44
5- const createMessage = ( type , message ) => {
6- if ( type ) {
7- const emoji = Emoji . getEmoji ( type ) ;
8- return `${ emoji } ${ message } ` ;
5+ const isStringEmpty = string => typeof string && string . length === 0 ;
6+
7+ const isObjectEmpty = ( obj = { } ) => typeof obj === 'object' && Object . keys ( obj ) . length === 0 ;
8+
9+ const parseObject = ( obj , parse ) => ! isObjectEmpty ( obj ) && parse === true ? JSON . stringify ( obj ) : obj ;
10+
11+ const createMessage = ( type , message , promiseStatus ) => {
12+ const emoji = Emoji . getEmoji ( type ) ;
13+ let generatedMessage = `${ emoji } ${ message } ` ;
14+
15+ if ( ! isStringEmpty ( promiseStatus ) ) {
16+ generatedMessage = `${ generatedMessage } | ${ promiseStatus } `
917 }
10- return message ;
18+
19+ return generatedMessage ;
1120}
1221
13- export const intercept = ( type , args ) => {
22+ const createConsoleArgs = ( { message, params, parse, args } ) => {
23+ const consoleArgs = [ message ] ;
24+
25+ if ( ! isObjectEmpty ( params ) ) {
26+ const parsedObject = parseObject ( params , parse ) ;
27+ consoleArgs . push ( parsedObject ) ;
28+ }
29+
30+ consoleArgs . push ( ...args ) ;
31+
32+ return consoleArgs ;
33+ }
34+
35+ const getLogType = type => isSuccess ( type ) ? 'log' : type ;
36+
37+ export const intercept = ( { type, args, parse = false , promiseStatus = '' } ) => {
1438 const message = args . shift ( ) ;
39+ const params = args . shift ( ) ;
40+
41+ const parsedMessage = createMessage ( type , message , promiseStatus ) ;
1542
16- const parsedMessage = createMessage ( type , message ) ;
43+ const consoleArgs = createConsoleArgs ( { message : parsedMessage , params , parse , args } ) ;
1744
18- const currentType = isSuccess ( type ) ? 'log' : type ;
45+ const currentType = getLogType ( type ) ;
1946
20- console [ currentType ] . call ( console , parsedMessage , ...args ) ;
47+ console [ currentType ] . call ( console , ...consoleArgs ) ;
2148
2249 return parsedMessage ;
2350}
0 commit comments