Skip to content

Commit db4dc89

Browse files
Split loadModeledMethods into loading all files individually and then merging them
1 parent b5b606d commit db4dc89

1 file changed

Lines changed: 24 additions & 3 deletions

File tree

extensions/ql-vscode/src/data-extensions-editor/modeled-method-fs.ts

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,17 @@ export async function saveModeledMethods(
3939
void logger.log(`Saved data extension YAML`);
4040
}
4141

42-
export async function loadModeledMethods(
42+
async function loadModeledMethodFiles(
4343
extensionPack: ExtensionPack,
4444
cliServer: CodeQLCliServer,
4545
logger: NotificationLogger,
46-
): Promise<Record<string, ModeledMethod>> {
46+
): Promise<Record<string, Record<string, ModeledMethod>>> {
4747
const modelFiles = await listModelFiles(extensionPack.path, cliServer);
4848

49-
const existingModeledMethods: Record<string, ModeledMethod> = {};
49+
const modeledMethodsByFile: Record<
50+
string,
51+
Record<string, ModeledMethod>
52+
> = {};
5053

5154
for (const modelFile of modelFiles) {
5255
const yaml = await readFile(join(extensionPack.path, modelFile), "utf8");
@@ -63,7 +66,25 @@ export async function loadModeledMethods(
6366
);
6467
continue;
6568
}
69+
modeledMethodsByFile[modelFile] = modeledMethods;
70+
}
71+
72+
return modeledMethodsByFile;
73+
}
74+
75+
export async function loadModeledMethods(
76+
extensionPack: ExtensionPack,
77+
cliServer: CodeQLCliServer,
78+
logger: NotificationLogger,
79+
): Promise<Record<string, ModeledMethod>> {
80+
const existingModeledMethods: Record<string, ModeledMethod> = {};
6681

82+
const modeledMethodsByFile = await loadModeledMethodFiles(
83+
extensionPack,
84+
cliServer,
85+
logger,
86+
);
87+
for (const modeledMethods of Object.values(modeledMethodsByFile)) {
6788
for (const [key, value] of Object.entries(modeledMethods)) {
6889
existingModeledMethods[key] = value;
6990
}

0 commit comments

Comments
 (0)