-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.js
52 lines (50 loc) · 1.56 KB
/
main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
exports.lp = function() {
let logString = "";
if (arguments.length === 1) {
arg = arguments[0];
const type = typeof(arg);
logString += `${arg}: ${type}`;
} else {
for (let i = 0; i < arguments.length; i++) {
if (i < arguments.length - 1) {
logString += formatArg(arguments[i], false)
} else {
logString += formatArg(arguments[i], true)
};
};
};
console.log(logString);
};
function isAString(argument) {
if (typeof(argument) === 'string') {
return true;
} else return false;
};
function formatArg(arg, isEnd) {
const type = typeof(arg);
const isString = isAString(arg)
const isArr = Array.isArray(arg);
if (!isEnd) {
if (`${arg}` === '[object Object]') {
return `${arg}: ${JSON.stringify(arg)}\n`;
} else if (isArr) {
return `array: [${arg}]\n`;
} else if (isString) {
return `"${arg}": ${type}\n`;
} else if (typeof(arg) === 'undefined') {
return `${type}\n`;
};
return `${arg}: ${type}\n`;
} else {
if (`${arg}` === '[object Object]') {
return `${arg}: ${JSON.stringify(arg)}`;
} else if (isArr) {
return `array: [${arg}]`;
} else if (isString) {
return `"${arg}": ${type}`;
} else if (typeof(arg) === 'undefined') {
return `${type}`;
};
return `${arg}: ${type}`;
};
};