vite-plugin-react-server
Version:
Vite plugin for React Server Components (RSC)
43 lines (42 loc) • 1.5 kB
JavaScript
export const createMessageHandler = function _createMessageHandler({ handlers, logger, verbose = false, }) {
return (message) => {
if (!message) {
logger.warn("Received undefined message");
return;
}
switch (message.type) {
case "READY":
if (verbose)
logger.info("[react-client] Worker is ready");
break;
case "ERROR": {
handlers.onError(message.id, message.error);
break;
}
case "SHELL_ERROR": {
handlers.onShellError(message.id, message.error);
break;
}
case "RSC_CHUNK":
handlers.onData(message.id, message.chunk);
break;
case "RSC_END":
handlers.onEnd(message.id);
break;
case "RSC_METRICS":
handlers.onMetrics(message.id, message.metrics);
break;
case "HMR_ACCEPT":
handlers.onHmrAccept(message.id, message.routes);
break;
case "HMR_UPDATE":
handlers.onHmrUpdate(message.id, message.routes);
break;
case "CSS_FILE":
handlers.onCssFile?.(message.id, message.content);
break;
default:
logger.warn(`Unknown worker output message type: ${message.type}`);
}
};
};