check expression type in viewer to mitigate the void bug

This commit is contained in:
Vyacheslav Matyukhin 2022-07-29 23:19:55 +04:00
parent f96f8de92a
commit 482ceb76dc
No known key found for this signature in database
GPG Key ID: 3D2A774C5489F96C

View File

@ -59,6 +59,13 @@ export const ExpressionViewer: React.FC<Props> = ({
expression,
width,
}) => {
if (typeof expression !== "object") {
return (
<VariableList path={path} heading="Error">
{() => `Unknown expression: ${expression}`}
</VariableList>
);
}
switch (expression.tag) {
case "number":
return (
@ -281,10 +288,16 @@ export const ExpressionViewer: React.FC<Props> = ({
);
default: {
return (
<div>
<span>No display for type: </span>{" "}
<span className="font-semibold text-slate-600">{expression.tag}</span>
</div>
<VariableList path={path} heading="Error">
{() => (
<div>
<span>No display for type: </span>{" "}
<span className="font-semibold text-slate-600">
{expression.tag}
</span>
</div>
)}
</VariableList>
);
}
}