@airplane/views
Version:
A React library for building Airplane views. Views components are optimized in style and functionality to produce internal apps that are easy to build and maintain.
36 lines (35 loc) • 1.41 kB
JavaScript
import { jsx } from "react/jsx-runtime";
import { uniqueId } from "lodash-es";
import hash from "object-hash";
import { ComponentAirplaneInternalErrorFallback } from "../components/errorBoundary/ComponentAirplaneInternalErrorFallback.js";
import { RunErrorComponentErrorState } from "../components/errorBoundary/ComponentErrorState.js";
import { sendViewMessage } from "../message/sendViewMessage.js";
import { getClientErrorMessageForTaskBackedComponent, getInternalErrorMessageForTaskBackedComponent } from "./formatErrors.js";
const displayTaskBackedError = ({
error,
taskSlug,
runID,
componentName
}) => {
if (error.type === "FAILED") {
return /* @__PURE__ */ jsx(RunErrorComponentErrorState, { taskSlug, componentName, runID });
} else if (error.type === "CLIENT_ERROR") {
throw new Error(getClientErrorMessageForTaskBackedComponent(error.message, componentName));
} else {
const errorID = uniqueId();
const message = getInternalErrorMessageForTaskBackedComponent(error.message, componentName);
sendViewMessage({
type: "console",
id: errorID,
messageType: "error",
message,
hash: hash(error),
time: Date.now()
});
return /* @__PURE__ */ jsx(ComponentAirplaneInternalErrorFallback, { errorMessage: message, errorID, componentName });
}
};
export {
displayTaskBackedError
};
//# sourceMappingURL=displayTaskBackedError.js.map