import {warn, error} from 'shared/consoleWithStackDev';
const badgeFormat = '[%s] ';
const pad = ' ';
export function printToConsole(
methodName: string,
args: Array<any>,
badgeName: string,
): void {
let offset = 0;
switch (methodName) {
case 'dir':
case 'dirxml':
case 'groupEnd':
case 'table': {
console[methodName].apply(console, args);
return;
}
case 'assert': {
offset = 1;
}
}
const newArgs = args.slice(0);
if (typeof newArgs[offset] === 'string') {
newArgs.splice(
offset,
1,
badgeFormat + newArgs[offset],
pad + badgeName + pad,
);
} else {
newArgs.splice(offset, 0, badgeFormat, pad + badgeName + pad);
}
if (methodName === 'error') {
error.apply(console, newArgs);
} else if (methodName === 'warn') {
warn.apply(console, newArgs);
} else {
console[methodName].apply(console, newArgs);
}
}