Skip to content

Commit 693adb5

Browse files
committed
Remove separation between generate queries options
1 parent 71f59b1 commit 693adb5

File tree

3 files changed

+38
-58
lines changed

3 files changed

+38
-58
lines changed

extensions/ql-vscode/src/model-editor/generate.ts

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,40 +9,26 @@ import { ModeledMethod } from "./modeled-method";
99
import { runQuery } from "../local-queries/run-query";
1010
import { QueryConstraints, resolveQueries } from "../local-queries";
1111
import { DecodedBqrs } from "../common/bqrs-cli-types";
12-
13-
/**
14-
* Options that are set by the caller of `runGenerateQueries`.
15-
*/
16-
type GenerateQueriesQueryOptions = {
12+
type GenerateQueriesOptions = {
1713
queryConstraints: QueryConstraints;
1814
filterQueries?: (queryPath: string) => boolean;
1915
parseResults: (
2016
queryPath: string,
2117
results: DecodedBqrs,
2218
) => ModeledMethod[] | Promise<ModeledMethod[]>;
23-
};
19+
onResults: (results: ModeledMethod[]) => void | Promise<void>;
2420

25-
/**
26-
* Options that are passed through by the caller of `runGenerateQueries`.
27-
*/
28-
type GenerateQueriesOptions = {
2921
cliServer: CodeQLCliServer;
3022
queryRunner: QueryRunner;
3123
queryStorageDir: string;
3224
databaseItem: DatabaseItem;
3325
progress: ProgressCallback;
3426
token: CancellationToken;
35-
onResults: (results: ModeledMethod[]) => void | Promise<void>;
3627
};
3728

38-
export async function runGenerateQueries(
39-
{
40-
queryConstraints,
41-
filterQueries,
42-
parseResults,
43-
}: GenerateQueriesQueryOptions,
44-
{ onResults, ...options }: GenerateQueriesOptions,
45-
) {
29+
export async function runGenerateQueries(options: GenerateQueriesOptions) {
30+
const { queryConstraints, filterQueries, parseResults, onResults } = options;
31+
4632
options.progress({
4733
message: "Resolving queries",
4834
step: 1,
@@ -84,7 +70,7 @@ async function runSingleGenerateQuery(
8470
databaseItem,
8571
progress,
8672
token,
87-
}: Omit<GenerateQueriesOptions, "onResults">,
73+
}: GenerateQueriesOptions,
8874
): Promise<DecodedBqrs | undefined> {
8975
const queryBasename = basename(queryPath);
9076

extensions/ql-vscode/src/model-editor/model-editor-view.ts

Lines changed: 19 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -509,30 +509,26 @@ export class ModelEditorView extends AbstractWebview<
509509
});
510510

511511
try {
512-
await runGenerateQueries(
513-
{
514-
queryConstraints: modelGeneration.queryConstraints,
515-
filterQueries: modelGeneration.filterQueries,
516-
parseResults: (queryPath, results) =>
517-
modelGeneration.parseResults(
518-
queryPath,
519-
results,
520-
modelsAsDataLanguage,
521-
this.app.logger,
522-
),
523-
},
524-
{
525-
cliServer: this.cliServer,
526-
queryRunner: this.queryRunner,
527-
queryStorageDir: this.queryStorageDir,
528-
databaseItem: addedDatabase ?? this.databaseItem,
529-
onResults: async (modeledMethods) => {
530-
this.addModeledMethodsFromArray(modeledMethods);
531-
},
532-
progress,
533-
token: tokenSource.token,
512+
await runGenerateQueries({
513+
queryConstraints: modelGeneration.queryConstraints,
514+
filterQueries: modelGeneration.filterQueries,
515+
parseResults: (queryPath, results) =>
516+
modelGeneration.parseResults(
517+
queryPath,
518+
results,
519+
modelsAsDataLanguage,
520+
this.app.logger,
521+
),
522+
onResults: async (modeledMethods) => {
523+
this.addModeledMethodsFromArray(modeledMethods);
534524
},
535-
);
525+
cliServer: this.cliServer,
526+
queryRunner: this.queryRunner,
527+
queryStorageDir: this.queryStorageDir,
528+
databaseItem: addedDatabase ?? this.databaseItem,
529+
progress,
530+
token: tokenSource.token,
531+
});
536532
} catch (e: unknown) {
537533
void showAndLogExceptionWithTelemetry(
538534
this.app.logger,

extensions/ql-vscode/test/vscode-tests/no-workspace/model-editor/generate.test.ts

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -122,23 +122,21 @@ describe("runGenerateQueries", () => {
122122
queryStorageDir: "/tmp/queries",
123123
progress: jest.fn(),
124124
token: new CancellationTokenSource().token,
125-
onResults,
126125
};
127126

128-
await runGenerateQueries(
129-
{
130-
queryConstraints: modelGeneration.queryConstraints,
131-
filterQueries: modelGeneration.filterQueries,
132-
parseResults: (queryPath, results) =>
133-
modelGeneration.parseResults(
134-
queryPath,
135-
results,
136-
modelsAsDataLanguage,
137-
createMockLogger(),
138-
),
139-
},
140-
options,
141-
);
127+
await runGenerateQueries({
128+
queryConstraints: modelGeneration.queryConstraints,
129+
filterQueries: modelGeneration.filterQueries,
130+
parseResults: (queryPath, results) =>
131+
modelGeneration.parseResults(
132+
queryPath,
133+
results,
134+
modelsAsDataLanguage,
135+
createMockLogger(),
136+
),
137+
onResults,
138+
...options,
139+
});
142140
expect(onResults).toHaveBeenCalledWith([
143141
{
144142
input: "Argument[self]",

0 commit comments

Comments
 (0)