Skip to content

Commit 02e1751

Browse files
committed
Convert db item methods to be static
So that we make it clear we should be passing state as params instead of reading it off `this`.
1 parent 02dffe0 commit 02e1751

File tree

2 files changed

+45
-35
lines changed

2 files changed

+45
-35
lines changed

extensions/ql-vscode/src/skeleton-query-wizard.ts

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -261,10 +261,11 @@ export class SkeletonQueryWizard {
261261
throw new Error("QL Pack storage path is undefined");
262262
}
263263

264-
const existingDatabaseItem = await this.findExistingDatabaseItem(
265-
this.language,
266-
this.databaseManager.databaseItems,
267-
);
264+
const existingDatabaseItem =
265+
await SkeletonQueryWizard.findExistingDatabaseItem(
266+
this.language,
267+
this.databaseManager.databaseItems,
268+
);
268269

269270
if (existingDatabaseItem) {
270271
// select the found database
@@ -275,7 +276,7 @@ export class SkeletonQueryWizard {
275276
}
276277
}
277278

278-
public async findDatabaseItemByNwo(
279+
public static async findDatabaseItemByNwo(
279280
language: string,
280281
databaseNwo: string,
281282
databaseItems: readonly DatabaseItem[],
@@ -287,7 +288,7 @@ export class SkeletonQueryWizard {
287288
return dbs.pop();
288289
}
289290

290-
public async findDatabaseItemByLanguage(
291+
public static async findDatabaseItemByLanguage(
291292
language: string,
292293
databaseItems: readonly DatabaseItem[],
293294
): Promise<DatabaseItem | undefined> {
@@ -296,15 +297,17 @@ export class SkeletonQueryWizard {
296297
return dbs.pop();
297298
}
298299

299-
public async findExistingDatabaseItem(
300+
public static async findExistingDatabaseItem(
300301
language: string,
301302
databaseItems: readonly DatabaseItem[],
302303
): Promise<DatabaseItem | undefined> {
303304
const defaultDatabaseNwo = QUERY_LANGUAGE_TO_DATABASE_REPO[language];
304305

305-
const dbItems = await this.sortDatabaseItemsByDateAdded(databaseItems);
306+
const dbItems = await SkeletonQueryWizard.sortDatabaseItemsByDateAdded(
307+
databaseItems,
308+
);
306309

307-
const defaultDatabaseItem = await this.findDatabaseItemByNwo(
310+
const defaultDatabaseItem = await SkeletonQueryWizard.findDatabaseItemByNwo(
308311
language,
309312
defaultDatabaseNwo,
310313
dbItems,
@@ -314,10 +317,13 @@ export class SkeletonQueryWizard {
314317
return defaultDatabaseItem;
315318
}
316319

317-
return await this.findDatabaseItemByLanguage(language, dbItems);
320+
return await SkeletonQueryWizard.findDatabaseItemByLanguage(
321+
language,
322+
dbItems,
323+
);
318324
}
319325

320-
public async sortDatabaseItemsByDateAdded(
326+
public static async sortDatabaseItemsByDateAdded(
321327
databaseItems: readonly DatabaseItem[],
322328
) {
323329
const validDbItems = databaseItems.filter((db) => db.error === undefined);

extensions/ql-vscode/test/vscode-tests/cli-integration/skeleton-query-wizard.test.ts

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ describe("SkeletonQueryWizard", () => {
320320

321321
jest.spyOn(mockDbItem, "name", "get").mockReturnValue("mock-name");
322322

323-
const databaseItem = await wizard.findDatabaseItemByNwo(
323+
const databaseItem = await SkeletonQueryWizard.findDatabaseItemByNwo(
324324
mockDbItem.language,
325325
mockDbItem.name,
326326
[mockDbItem, mockDbItem2],
@@ -337,7 +337,7 @@ describe("SkeletonQueryWizard", () => {
337337
const mockDbItem = createMockDB(dir);
338338
const mockDbItem2 = createMockDB(dir);
339339

340-
const databaseItem = await wizard.findDatabaseItemByNwo(
340+
const databaseItem = await SkeletonQueryWizard.findDatabaseItemByNwo(
341341
"ruby",
342342
"mock-nwo",
343343
[mockDbItem, mockDbItem2],
@@ -358,10 +358,11 @@ describe("SkeletonQueryWizard", () => {
358358
language: "javascript",
359359
} as FullDatabaseOptions);
360360

361-
const databaseItem = await wizard.findDatabaseItemByLanguage("ruby", [
362-
mockDbItem,
363-
mockDbItem2,
364-
]);
361+
const databaseItem =
362+
await SkeletonQueryWizard.findDatabaseItemByLanguage("ruby", [
363+
mockDbItem,
364+
mockDbItem2,
365+
]);
365366

366367
expect(databaseItem).toEqual(mockDbItem);
367368
});
@@ -372,10 +373,11 @@ describe("SkeletonQueryWizard", () => {
372373
const mockDbItem = createMockDB(dir);
373374
const mockDbItem2 = createMockDB(dir);
374375

375-
const databaseItem = await wizard.findDatabaseItemByLanguage("ruby", [
376-
mockDbItem,
377-
mockDbItem2,
378-
]);
376+
const databaseItem =
377+
await SkeletonQueryWizard.findDatabaseItemByLanguage("ruby", [
378+
mockDbItem,
379+
mockDbItem2,
380+
]);
379381

380382
expect(databaseItem).toBeUndefined();
381383
});
@@ -510,12 +512,13 @@ describe("SkeletonQueryWizard", () => {
510512
dateAdded: 345,
511513
} as FullDatabaseOptions);
512514

513-
const sortedList = await wizard.sortDatabaseItemsByDateAdded([
514-
mockDbItem,
515-
mockDbItem2,
516-
mockDbItem3,
517-
mockDbItem4,
518-
]);
515+
const sortedList =
516+
await SkeletonQueryWizard.sortDatabaseItemsByDateAdded([
517+
mockDbItem,
518+
mockDbItem2,
519+
mockDbItem3,
520+
mockDbItem4,
521+
]);
519522

520523
expect(sortedList).toEqual([
521524
mockDbItem3,
@@ -543,12 +546,13 @@ describe("SkeletonQueryWizard", () => {
543546
.spyOn(mockDbItem, "error", "get")
544547
.mockReturnValue(asError("database go boom!"));
545548

546-
const sortedList = await wizard.sortDatabaseItemsByDateAdded([
547-
mockDbItem,
548-
mockDbItem2,
549-
mockDbItem3,
550-
mockDbItem4,
551-
]);
549+
const sortedList =
550+
await SkeletonQueryWizard.sortDatabaseItemsByDateAdded([
551+
mockDbItem,
552+
mockDbItem2,
553+
mockDbItem3,
554+
mockDbItem4,
555+
]);
552556

553557
expect(sortedList).toEqual([mockDbItem2, mockDbItem4, mockDbItem3]);
554558
});
@@ -582,7 +586,7 @@ describe("SkeletonQueryWizard", () => {
582586
.spyOn(mockDbItem2, "name", "get")
583587
.mockReturnValue(QUERY_LANGUAGE_TO_DATABASE_REPO["javascript"]);
584588

585-
const databaseItem = await wizard.findExistingDatabaseItem(
589+
const databaseItem = await SkeletonQueryWizard.findExistingDatabaseItem(
586590
"javascript",
587591
[mockDbItem, mockDbItem2, mockDbItem3, mockDbItem4],
588592
);
@@ -612,7 +616,7 @@ describe("SkeletonQueryWizard", () => {
612616
dateAdded: undefined,
613617
} as FullDatabaseOptions);
614618

615-
const databaseItem = await wizard.findExistingDatabaseItem(
619+
const databaseItem = await SkeletonQueryWizard.findExistingDatabaseItem(
616620
"javascript",
617621
[mockDbItem, mockDbItem2, mockDbItem3, mockDbItem4],
618622
);

0 commit comments

Comments
 (0)