Show type for supported methods

This commit is contained in:
Koen Vlaswinkel
2023-06-28 14:48:09 +02:00
parent 048552093b
commit 94015a0ac2
2 changed files with 21 additions and 9 deletions

View File

@@ -157,7 +157,7 @@ DataExtensionsEditor.args = {
startColumn: 33,
endLine: 10,
endColumn: 88,
classification: CallClassification.Source,
classification: CallClassification.Test,
},
}),
},

View File

@@ -39,7 +39,7 @@ const ViewLink = styled(VSCodeLink)`
white-space: nowrap;
`;
const modelTypeOptions = [
const modelTypeOptions: Array<{ value: ModeledMethodType; label: string }> = [
{ value: "none", label: "Unmodeled" },
{ value: "source", label: "Source" },
{ value: "sink", label: "Sink" },
@@ -47,6 +47,14 @@ const modelTypeOptions = [
{ value: "neutral", label: "Neutral" },
];
const typeNames = modelTypeOptions.reduce(
(acc, { value, label }) => {
acc[value] = label;
return acc;
},
{} as Record<ModeledMethodType, string>,
);
type Props = {
externalApiUsage: ExternalApiUsage;
modeledMethod: ModeledMethod | undefined;
@@ -233,11 +241,8 @@ function ModelableMethodRow(props: Props) {
);
}
function UnmodelableMethodRow(props: {
externalApiUsage: ExternalApiUsage;
mode: Mode;
}) {
const { externalApiUsage, mode } = props;
function UnmodelableMethodRow(props: Props) {
const { externalApiUsage, modeledMethod, mode } = props;
const jumpToUsage = useCallback(
() => sendJumpToUsageMessage(externalApiUsage),
@@ -256,8 +261,15 @@ function UnmodelableMethodRow(props: {
)}
<ViewLink onClick={jumpToUsage}>View</ViewLink>
</ApiOrMethodCell>
<VSCodeDataGridCell gridColumn="span 4">
Method already modeled by CodeQL or a different extension pack
<VSCodeDataGridCell gridColumn={2}>
{externalApiUsage.supported &&
!modeledMethod &&
externalApiUsage.supportedType !== "none" && (
<>{typeNames[externalApiUsage.supportedType]}</>
)}
</VSCodeDataGridCell>
<VSCodeDataGridCell gridColumn="span 3">
Method modeled by CodeQL or a different extension pack
</VSCodeDataGridCell>
</VSCodeDataGridRow>
);