UNPKG

vite-plugin-react-server

Version:
48 lines (45 loc) 5.32 kB
/** * vite-plugin-react-server * Copyright (c) Nico Brinkkemper * MIT License */ import { cleanObject } from '../helpers/cleanObject.js'; import { parentPort } from 'node:worker_threads'; import { serializeError } from '../error/serializeError.js'; import { serializeErrorInfo } from '../error/serializeErrorInfo.js'; const sendMessage = function _sendMessage(msg, port = parentPort) { if (!port) { throw new Error("No port available to send message"); } try { if ("error" in msg) { const error = msg.error; const hasErrorInfo = "errorInfo" in msg && msg.errorInfo != null && typeof msg.errorInfo === "object"; const serializedError = serializeError(error); const errorInfo = hasErrorInfo ? serializeErrorInfo(msg.errorInfo) : void 0; port.postMessage({ ...cleanObject(msg), error: serializedError, errorInfo }); } else { port.postMessage(cleanObject(msg)); } } catch (err) { const sendError = new Error( err instanceof Error ? err.message : String(err) ); sendError.name = err instanceof Error ? err.name : "MessageSendError"; Error.captureStackTrace(sendError, sendMessage); port.postMessage({ type: "ERROR", error: { message: sendError.message, name: sendError.name, stack: sendError.stack } }); } }; export { sendMessage }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZE1lc3NhZ2UuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BsdWdpbi93b3JrZXIvc2VuZE1lc3NhZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2xlYW5PYmplY3QgfSBmcm9tIFwiLi4vaGVscGVycy9jbGVhbk9iamVjdC5qc1wiO1xuaW1wb3J0IHsgcGFyZW50UG9ydCB9IGZyb20gXCJub2RlOndvcmtlcl90aHJlYWRzXCI7XG5pbXBvcnQgdHlwZSB7IFNlbmRNZXNzYWdlRm4gfSBmcm9tIFwiLi90eXBlcy5qc1wiO1xuaW1wb3J0IHsgc2VyaWFsaXplRXJyb3IgfSBmcm9tIFwiLi4vZXJyb3Ivc2VyaWFsaXplRXJyb3IuanNcIjtcbmltcG9ydCB7IHNlcmlhbGl6ZUVycm9ySW5mbyB9IGZyb20gXCIuLi9lcnJvci9zZXJpYWxpemVFcnJvckluZm8uanNcIjtcblxuZXhwb3J0IGNvbnN0IHNlbmRNZXNzYWdlOiBTZW5kTWVzc2FnZUZuID0gZnVuY3Rpb24gX3NlbmRNZXNzYWdlKFxuICBtc2csXG4gIHBvcnQgPSBwYXJlbnRQb3J0XG4pIHtcbiAgaWYgKCFwb3J0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiTm8gcG9ydCBhdmFpbGFibGUgdG8gc2VuZCBtZXNzYWdlXCIpO1xuICB9XG5cbiAgdHJ5IHtcbiAgICAvLyBIYW5kbGUgZXJyb3IgbWVzc2FnZXNcbiAgICBpZiAoXCJlcnJvclwiIGluIG1zZykge1xuICAgICAgY29uc3QgZXJyb3IgPSBtc2cuZXJyb3I7XG4gICAgICBjb25zdCBoYXNFcnJvckluZm8gPVxuICAgICAgICBcImVycm9ySW5mb1wiIGluIG1zZyAmJlxuICAgICAgICBtc2cuZXJyb3JJbmZvICE9IG51bGwgJiZcbiAgICAgICAgdHlwZW9mIG1zZy5lcnJvckluZm8gPT09IFwib2JqZWN0XCI7XG4gICAgICBjb25zdCBzZXJpYWxpemVkRXJyb3IgPSBzZXJpYWxpemVFcnJvcihlcnJvcik7XG5cbiAgICAgIGNvbnN0IGVycm9ySW5mbyA9IGhhc0Vycm9ySW5mb1xuICAgICAgICA/IHNlcmlhbGl6ZUVycm9ySW5mbyhtc2cuZXJyb3JJbmZvKVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgIHBvcnQucG9zdE1lc3NhZ2Uoe1xuICAgICAgICAuLi5jbGVhbk9iamVjdChtc2cpLFxuICAgICAgICBlcnJvcjogc2VyaWFsaXplZEVycm9yLFxuICAgICAgICBlcnJvckluZm8sXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSGFuZGxlIG5vbi1lcnJvciBtZXNzYWdlc1xuICAgICAgcG9ydC5wb3N0TWVzc2FnZShjbGVhbk9iamVjdChtc2cpKTtcbiAgICB9XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIC8vIENyZWF0ZSBhIHByb3BlciBlcnJvciB3aXRoIGNhcHR1cmVkIHN0YWNrIHRyYWNlIGZvciBiZXR0ZXIgZGVidWdnaW5nXG4gICAgY29uc3Qgc2VuZEVycm9yID0gbmV3IEVycm9yKFxuICAgICAgZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6IFN0cmluZyhlcnIpXG4gICAgKTtcbiAgICBzZW5kRXJyb3IubmFtZSA9IGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm5hbWUgOiBcIk1lc3NhZ2VTZW5kRXJyb3JcIjtcblxuICAgIC8vIENhcHR1cmUgc3RhY2sgdHJhY2UgZXhjbHVkaW5nIHRoaXMgZnVuY3Rpb25cbiAgICBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZShzZW5kRXJyb3IsIHNlbmRNZXNzYWdlKTtcblxuICAgIHBvcnQucG9zdE1lc3NhZ2Uoe1xuICAgICAgdHlwZTogXCJFUlJPUlwiLFxuICAgICAgZXJyb3I6IHtcbiAgICAgICAgbWVzc2FnZTogc2VuZEVycm9yLm1lc3NhZ2UsXG4gICAgICAgIG5hbWU6IHNlbmRFcnJvci5uYW1lLFxuICAgICAgICBzdGFjazogc2VuZEVycm9yLnN0YWNrLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBTU8sTUFBTSxXQUE2QixHQUFBLFNBQVMsWUFDakQsQ0FBQSxHQUFBLEVBQ0EsT0FBTyxVQUNQLEVBQUE7QUFDQSxFQUFBLElBQUksQ0FBQyxJQUFNLEVBQUE7QUFDVCxJQUFNLE1BQUEsSUFBSSxNQUFNLG1DQUFtQyxDQUFBO0FBQUE7QUFHckQsRUFBSSxJQUFBO0FBRUYsSUFBQSxJQUFJLFdBQVcsR0FBSyxFQUFBO0FBQ2xCLE1BQUEsTUFBTSxRQUFRLEdBQUksQ0FBQSxLQUFBO0FBQ2xCLE1BQU0sTUFBQSxZQUFBLEdBQ0osZUFBZSxHQUNmLElBQUEsR0FBQSxDQUFJLGFBQWEsSUFDakIsSUFBQSxPQUFPLElBQUksU0FBYyxLQUFBLFFBQUE7QUFDM0IsTUFBTSxNQUFBLGVBQUEsR0FBa0IsZUFBZSxLQUFLLENBQUE7QUFFNUMsTUFBQSxNQUFNLFNBQVksR0FBQSxZQUFBLEdBQ2Qsa0JBQW1CLENBQUEsR0FBQSxDQUFJLFNBQVMsQ0FDaEMsR0FBQSxLQUFBLENBQUE7QUFDSixNQUFBLElBQUEsQ0FBSyxXQUFZLENBQUE7QUFBQSxRQUNmLEdBQUcsWUFBWSxHQUFHLENBQUE7QUFBQSxRQUNsQixLQUFPLEVBQUEsZUFBQTtBQUFBLFFBQ1A7QUFBQSxPQUNELENBQUE7QUFBQSxLQUNJLE1BQUE7QUFFTCxNQUFLLElBQUEsQ0FBQSxXQUFBLENBQVksV0FBWSxDQUFBLEdBQUcsQ0FBQyxDQUFBO0FBQUE7QUFDbkMsV0FDTyxHQUFLLEVBQUE7QUFFWixJQUFBLE1BQU0sWUFBWSxJQUFJLEtBQUE7QUFBQSxNQUNwQixHQUFlLFlBQUEsS0FBQSxHQUFRLEdBQUksQ0FBQSxPQUFBLEdBQVUsT0FBTyxHQUFHO0FBQUEsS0FDakQ7QUFDQSxJQUFBLFNBQUEsQ0FBVSxJQUFPLEdBQUEsR0FBQSxZQUFlLEtBQVEsR0FBQSxHQUFBLENBQUksSUFBTyxHQUFBLGtCQUFBO0FBR25ELElBQU0sS0FBQSxDQUFBLGlCQUFBLENBQWtCLFdBQVcsV0FBVyxDQUFBO0FBRTlDLElBQUEsSUFBQSxDQUFLLFdBQVksQ0FBQTtBQUFBLE1BQ2YsSUFBTSxFQUFBLE9BQUE7QUFBQSxNQUNOLEtBQU8sRUFBQTtBQUFBLFFBQ0wsU0FBUyxTQUFVLENBQUEsT0FBQTtBQUFBLFFBQ25CLE1BQU0sU0FBVSxDQUFBLElBQUE7QUFBQSxRQUNoQixPQUFPLFNBQVUsQ0FBQTtBQUFBO0FBQ25CLEtBQ0QsQ0FBQTtBQUFBO0FBRUw7Ozs7In0=