Skip to content

Commit 889ae42

Browse files
committed
Refactor CLI executions into helper functions
This provides a separation of concerns between the memoization and the execution.
1 parent 587fcb3 commit 889ae42

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

src/codeql.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -731,8 +731,7 @@ async function getCodeQLForCmd(
731731
filterToLanguagesWithQueries: boolean;
732732
} = { filterToLanguagesWithQueries: false },
733733
) {
734-
let result = util.getCachedCodeQlResolveLanguages(cmd);
735-
if (result === undefined) {
734+
async function runCliResolveLanguages() {
736735
const codeqlArgs = [
737736
"resolve",
738737
"languages",
@@ -747,12 +746,16 @@ async function getCodeQLForCmd(
747746
const output = await runCli(cmd, codeqlArgs);
748747

749748
try {
750-
result = JSON.parse(output) as ResolveLanguagesOutput;
749+
return JSON.parse(output) as ResolveLanguagesOutput;
751750
} catch (e) {
752751
throw new Error(
753752
`Unexpected output from codeql resolve languages with --format=betterjson: ${e}`,
754753
);
755754
}
755+
}
756+
let result = util.getCachedCodeQlResolveLanguages(cmd);
757+
if (result === undefined) {
758+
result = await runCliResolveLanguages();
756759
util.cacheCodeQlResolveLanguages(cmd, result);
757760
}
758761
return result;

0 commit comments

Comments
 (0)