@alithanar/react-automation-profiler
Version:
Automated React profiling and data visualization using React's Profiler API, Puppeteer, and D3.
48 lines ⢠1.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.printMessage = exports.getFileName = void 0;
function formatLabel(label) {
return label
.toLowerCase()
.split(' ')
.map((word) => word.charAt(0).toUpperCase() + word.slice(1))
.join('');
}
function getFileName(label, extension = 'json') {
return `${hyphenateString(`${label ? formatLabel(label) : ''}${extension === 'json' ? `-${Date.now()}` : ''}-${new Date().toLocaleString()}`)}.${extension}`;
}
exports.getFileName = getFileName;
function hyphenateString(str) {
return str
.replace(/(\/|\s|:|\.)/g, '-')
.replace(',', '')
.replace(/-{2,}/g, '-')
.replace(/-$/, '');
}
function printMessage(messageType, params) {
let message = '';
switch (messageType) {
case "AUTOMATION_START" /* AUTOMATION_START */: {
message = '\nš preparing automation...\n';
break;
}
case "AUTOMATION_STOP" /* AUTOMATION_STOP */: {
const { log } = params;
message = `š” ${log}\n`;
break;
}
case "ERROR" /* ERROR */: {
const { e = null, log } = params;
message = `ā ${log}${e ? `: ${e.message || JSON.stringify(e)}` : ''}\n`;
break;
}
case "NOTICE" /* NOTICE */: {
const { log } = params;
message = `š« ${log}`;
break;
}
}
console.log(message);
}
exports.printMessage = printMessage;
//# sourceMappingURL=util.js.map