Skip to content

Commit c939ab5

Browse files
committed
feat(utils): create promises logs and convert object param to string
1 parent b0c6af3 commit c939ab5

File tree

1 file changed

+36
-9
lines changed

1 file changed

+36
-9
lines changed

src/utils.js

Lines changed: 36 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,49 @@ import Emoji from './emoji';
22

33
const 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

Comments
 (0)