react-automation-profiler
Version:
Automated React profiling and data visualization using React's Profiler API, Puppeteer, and D3.
51 lines ⢠1.66 kB
JavaScript
var MessageTypes;
(function (MessageTypes) {
MessageTypes["AUTOMATION_START"] = "AUTOMATION_START";
MessageTypes["AUTOMATION_STOP"] = "AUTOMATION_STOP";
MessageTypes["ERROR"] = "ERROR";
MessageTypes["NOTICE"] = "NOTICE";
})(MessageTypes || (MessageTypes = {}));
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}`;
}
function hyphenateString(str) {
return str
.replace(/(\/|\s|:|\.)/g, '-')
.replace(',', '')
.replace(/-{2,}/g, '-')
.replace(/-$/, '');
}
function printMessage(messageType, params) {
let message = '';
switch (messageType) {
case MessageTypes.AUTOMATION_START: {
message = '\nš preparing automation...\n';
break;
}
case MessageTypes.AUTOMATION_STOP: {
const { log } = params;
message = `š” ${log}\n`;
break;
}
case MessageTypes.ERROR: {
const { e = null, log } = params;
message = `ā ${log}${e ? `: ${JSON.stringify(e)}` : ''}\n`;
break;
}
case MessageTypes.NOTICE: {
const { log } = params;
message = `š« ${log}`;
break;
}
}
console.log(message);
}
export { getFileName, MessageTypes, printMessage };
//# sourceMappingURL=util.js.map