UNPKG

react-automation-profiler

Version:

Automated React profiling and data visualization using React's Profiler API, Puppeteer, and D3.

51 lines • 1.66 kB
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