From abea315abb8d186de219d3c1030eca7a37b203a7 Mon Sep 17 00:00:00 2001 From: Charles Gagnon Date: Thu, 11 Feb 2021 22:02:55 -0800 Subject: [PATCH] Fix hygiene/compile issues (release/1.26) (#14261) * Fix hygiene issues * Fix strict compile * fixes * compile fix * more fixes * more compile fixes * last one?! * fix tests --- extensions/arc/src/common/promise.ts | 2 +- extensions/arc/src/common/utils.ts | 2 +- .../arc/src/test/common/promise.test.ts | 2 +- .../src/test/ui/components/filePicker.test.ts | 2 +- extensions/azdata/src/common/promise.ts | 2 +- extensions/azdata/src/common/utils.ts | 2 +- .../azdata/src/test/common/httpClient.test.ts | 2 +- .../azdata/src/test/common/promise.test.ts | 4 +- extensions/dacpac/src/wizard/api/basePage.ts | 4 +- extensions/git/src/git.ts | 2 +- extensions/git/src/util.ts | 2 +- .../github-authentication/src/common/utils.ts | 2 +- extensions/import/src/wizard/api/basePage.ts | 4 +- .../addEditLanguageTab.test.ts | 2 +- .../languageEditDialog.test.ts | 2 +- extensions/merge-conflict/src/delayer.ts | 6 +-- extensions/notebook/src/book/remoteBook.ts | 2 +- .../src/dialog/configurePython/basePage.ts | 6 +-- .../notebook/src/test/book/book.test.ts | 24 +++++----- .../resource-deployment/src/test/stubs.ts | 2 +- .../test/ui/validation/modelViewUtils.test.ts | 4 +- .../resource-deployment/src/test/utils.ts | 2 +- extensions/schema-compare/src/utils.ts | 10 ++-- .../browser/modelComponents/modelStore.ts | 2 +- .../propertiesWidget.component.test.ts | 2 +- .../notebookExplorer/notebookSearch.ts | 2 +- .../browser/outputs/notebookMarkdown.ts | 2 +- .../notebook/browser/notebookServiceImpl.ts | 2 +- .../objectExplorer/browser/treeUpdateUtils.ts | 2 +- src/vs/base/browser/ui/actionbar/actionbar.ts | 2 +- .../parts/tree/test/browser/treeModel.test.ts | 2 +- src/vs/workbench/browser/dnd.ts | 2 +- .../browser/userDataSyncWorkbenchService.ts | 8 ++-- .../electron-browser/userDataSyncService.ts | 46 +++++++++---------- 34 files changed, 83 insertions(+), 81 deletions(-) diff --git a/extensions/arc/src/common/promise.ts b/extensions/arc/src/common/promise.ts index 53f62a287b..c9f6e2d5df 100644 --- a/extensions/arc/src/common/promise.ts +++ b/extensions/arc/src/common/promise.ts @@ -8,7 +8,7 @@ */ export class Deferred { promise: Promise; - resolve!: (value?: T | PromiseLike) => void; + resolve!: (value: T | PromiseLike) => void; reject!: (reason?: any) => void; constructor() { this.promise = new Promise((resolve, reject) => { diff --git a/extensions/arc/src/common/utils.ts b/extensions/arc/src/common/utils.ts index 43f97f903d..5c0abb7ac9 100644 --- a/extensions/arc/src/common/utils.ts +++ b/extensions/arc/src/common/utils.ts @@ -109,7 +109,7 @@ export function getDatabaseStateDisplayText(state: string): string { * @returns Promise resolving to the user's input if it passed validation, * or undefined if the input box was closed for any other reason */ -async function promptInputBox(title: string, options: vscode.InputBoxOptions): Promise { +async function promptInputBox(title: string, options: vscode.InputBoxOptions): Promise { const inputBox = vscode.window.createInputBox(); inputBox.title = title; inputBox.prompt = options.prompt; diff --git a/extensions/arc/src/test/common/promise.test.ts b/extensions/arc/src/test/common/promise.test.ts index 611c00e249..827f0e520d 100644 --- a/extensions/arc/src/test/common/promise.test.ts +++ b/extensions/arc/src/test/common/promise.test.ts @@ -7,7 +7,7 @@ import { Deferred } from '../../common/promise'; describe('Deferred', () => { it('Then should be called upon resolution', function (done): void { - const deferred = new Deferred(); + const deferred = new Deferred(); deferred.then(() => { done(); }); diff --git a/extensions/arc/src/test/ui/components/filePicker.test.ts b/extensions/arc/src/test/ui/components/filePicker.test.ts index b4a36ca481..373e1ebbda 100644 --- a/extensions/arc/src/test/ui/components/filePicker.test.ts +++ b/extensions/arc/src/test/ui/components/filePicker.test.ts @@ -29,7 +29,7 @@ describe('filePicker', function (): void { should(filePicker.filePathInputBox.value).should.not.be.undefined(); filePicker.value!.should.equal(initialPath); filePicker.component().items.length.should.equal(2, 'Filepicker container should have two components'); - const deferred = new Deferred(); + const deferred = new Deferred(); sinon.stub(vscode.window, 'showOpenDialog').callsFake(async (_options) => { deferred.resolve(); return [newFileUri]; diff --git a/extensions/azdata/src/common/promise.ts b/extensions/azdata/src/common/promise.ts index 53f62a287b..c9f6e2d5df 100644 --- a/extensions/azdata/src/common/promise.ts +++ b/extensions/azdata/src/common/promise.ts @@ -8,7 +8,7 @@ */ export class Deferred { promise: Promise; - resolve!: (value?: T | PromiseLike) => void; + resolve!: (value: T | PromiseLike) => void; reject!: (reason?: any) => void; constructor() { this.promise = new Promise((resolve, reject) => { diff --git a/extensions/azdata/src/common/utils.ts b/extensions/azdata/src/common/utils.ts index 20106c28bd..06f0074275 100644 --- a/extensions/azdata/src/common/utils.ts +++ b/extensions/azdata/src/common/utils.ts @@ -22,7 +22,7 @@ export class NoAzdataError extends Error implements azdataExt.ErrorWithLink { */ export function searchForCmd(exe: string): Promise { // Note : This is separated out to allow for easy test stubbing - return new Promise((resolve, reject) => which(exe, (err, path) => err ? reject(err) : resolve(path))); + return new Promise((resolve, reject) => which(exe, (err, path) => err ? reject(err) : resolve(path || ''))); } /** diff --git a/extensions/azdata/src/test/common/httpClient.test.ts b/extensions/azdata/src/test/common/httpClient.test.ts index 3ddb2c45bd..5479295d7c 100644 --- a/extensions/azdata/src/test/common/httpClient.test.ts +++ b/extensions/azdata/src/test/common/httpClient.test.ts @@ -52,7 +52,7 @@ describe('HttpClient', function (): void { it('errors on write stream error', async function (): Promise { const downloadFolder = os.tmpdir(); const mockWriteStream = new PassThrough(); - const deferredPromise = new Deferred(); + const deferredPromise = new Deferred(); sinon.stub(fs, 'createWriteStream').callsFake(() => { deferredPromise.resolve(); return mockWriteStream; diff --git a/extensions/azdata/src/test/common/promise.test.ts b/extensions/azdata/src/test/common/promise.test.ts index 32247b9607..62bb9a4251 100644 --- a/extensions/azdata/src/test/common/promise.test.ts +++ b/extensions/azdata/src/test/common/promise.test.ts @@ -9,7 +9,7 @@ import { Deferred } from '../../common/promise'; describe('DeferredPromise', function (): void { it('Resolves correctly', async function(): Promise { - const deferred = new Deferred(); + const deferred = new Deferred(); deferred.resolve(); await should(deferred.promise).be.resolved(); }); @@ -21,7 +21,7 @@ describe('DeferredPromise', function (): void { }); it('Chains then correctly', function(done): void { - const deferred = new Deferred(); + const deferred = new Deferred(); deferred.then( () => { done(); }); diff --git a/extensions/dacpac/src/wizard/api/basePage.ts b/extensions/dacpac/src/wizard/api/basePage.ts index ae31fd10cb..91ae1c2162 100644 --- a/extensions/dacpac/src/wizard/api/basePage.ts +++ b/extensions/dacpac/src/wizard/api/basePage.ts @@ -27,12 +27,12 @@ export abstract class BasePage { /** * This method constructs all the elements of the page. */ - public async abstract start(): Promise; + public abstract start(): Promise; /** * This method is called when the user is entering the page. */ - public async abstract onPageEnter(): Promise; + public abstract onPageEnter(): Promise; /** * This method is called when the user is leaving the page. diff --git a/extensions/git/src/git.ts b/extensions/git/src/git.ts index 5a773875f8..9a7c162737 100644 --- a/extensions/git/src/git.ts +++ b/extensions/git/src/git.ts @@ -445,7 +445,7 @@ export class Git { const [, letter] = match; try { - const networkPath = await new Promise(resolve => + const networkPath = await new Promise(resolve => realpath.native(`${letter}:`, { encoding: 'utf8' }, (err, resolvedPath) => resolve(err !== null ? undefined : resolvedPath), ), diff --git a/extensions/git/src/util.ts b/extensions/git/src/util.ts index 18c8d700de..fd04472fc6 100644 --- a/extensions/git/src/util.ts +++ b/extensions/git/src/util.ts @@ -336,7 +336,7 @@ export function* splitInChunks(array: string[], maxChunkLength: number): Iterabl interface ILimitedTaskFactory { factory: () => Promise; - c: (value?: T | Promise) => void; + c: (value: T | Promise) => void; e: (error?: any) => void; } diff --git a/extensions/github-authentication/src/common/utils.ts b/extensions/github-authentication/src/common/utils.ts index 9f19b3abdc..5204cc4989 100644 --- a/extensions/github-authentication/src/common/utils.ts +++ b/extensions/github-authentication/src/common/utils.ts @@ -25,7 +25,7 @@ export interface PromiseAdapter { ( value: T, resolve: - (value?: U | PromiseLike) => void, + (value: U | PromiseLike) => void, reject: (reason: any) => void ): any; diff --git a/extensions/import/src/wizard/api/basePage.ts b/extensions/import/src/wizard/api/basePage.ts index d9e736f698..21a1ca9522 100644 --- a/extensions/import/src/wizard/api/basePage.ts +++ b/extensions/import/src/wizard/api/basePage.ts @@ -15,12 +15,12 @@ export abstract class BasePage { /** * This method constructs all the elements of the page. */ - public async abstract start(): Promise; + public abstract start(): Promise; /** * This method is called when the user is entering the page. */ - public async abstract onPageEnter(): Promise; + public abstract onPageEnter(): Promise; /** * This method is called when the user is leaving the page. diff --git a/extensions/machine-learning/src/test/views/externalLanguages/addEditLanguageTab.test.ts b/extensions/machine-learning/src/test/views/externalLanguages/addEditLanguageTab.test.ts index 6a75313677..3d380341af 100644 --- a/extensions/machine-learning/src/test/views/externalLanguages/addEditLanguageTab.test.ts +++ b/extensions/machine-learning/src/test/views/externalLanguages/addEditLanguageTab.test.ts @@ -104,7 +104,7 @@ describe('Add Edit External Languages Tab', () => { let tab = new AddEditLanguageTab(testContext.apiWrapper.object, parent, languageUpdateModel); should.notEqual(tab.saveButton, undefined); let updateCalled = false; - let promise = new Promise(resolve => { + let promise = new Promise(resolve => { parent.onUpdate(() => { updateCalled = true; resolve(); diff --git a/extensions/machine-learning/src/test/views/externalLanguages/languageEditDialog.test.ts b/extensions/machine-learning/src/test/views/externalLanguages/languageEditDialog.test.ts index cd8f4e51a0..e5605253ab 100644 --- a/extensions/machine-learning/src/test/views/externalLanguages/languageEditDialog.test.ts +++ b/extensions/machine-learning/src/test/views/externalLanguages/languageEditDialog.test.ts @@ -35,7 +35,7 @@ describe('Edit External Languages Dialog', () => { dialog.showDialog(); let updateCalled = false; - let promise = new Promise(resolve => { + let promise = new Promise(resolve => { parent.onUpdate(() => { updateCalled = true; parent.onUpdatedLanguage(languageUpdateModel); diff --git a/extensions/merge-conflict/src/delayer.ts b/extensions/merge-conflict/src/delayer.ts index 946b30f71a..c67cd774c3 100644 --- a/extensions/merge-conflict/src/delayer.ts +++ b/extensions/merge-conflict/src/delayer.ts @@ -12,7 +12,7 @@ export class Delayer { public defaultDelay: number; private timeout: any; // Timer private completionPromise: Promise | null; - private onSuccess: ((value?: T | Thenable | undefined) => void) | null; + private onSuccess: ((value: T | PromiseLike | undefined) => void) | null; private task: ITask | null; constructor(defaultDelay: number) { @@ -30,7 +30,7 @@ export class Delayer { } if (!this.completionPromise) { - this.completionPromise = new Promise((resolve) => { + this.completionPromise = new Promise((resolve) => { this.onSuccess = resolve; }).then(() => { this.completionPromise = null; @@ -76,4 +76,4 @@ export class Delayer { this.timeout = null; } } -} \ No newline at end of file +} diff --git a/extensions/notebook/src/book/remoteBook.ts b/extensions/notebook/src/book/remoteBook.ts index 9f542d6664..dfd472fb6f 100644 --- a/extensions/notebook/src/book/remoteBook.ts +++ b/extensions/notebook/src/book/remoteBook.ts @@ -14,7 +14,7 @@ export abstract class RemoteBook { this.remotePath = remotePath; } - public async abstract createLocalCopy(): Promise; + public abstract createLocalCopy(): Promise; public setLocalPath(): void { // Save directory on User directory diff --git a/extensions/notebook/src/dialog/configurePython/basePage.ts b/extensions/notebook/src/dialog/configurePython/basePage.ts index f92738432f..61dca7e4ef 100644 --- a/extensions/notebook/src/dialog/configurePython/basePage.ts +++ b/extensions/notebook/src/dialog/configurePython/basePage.ts @@ -17,15 +17,15 @@ export abstract class BasePage { /** * This method constructs all the elements of the page. */ - public async abstract initialize(): Promise; + public abstract initialize(): Promise; /** * This method is called when the user is entering the page. */ - public async abstract onPageEnter(): Promise; + public abstract onPageEnter(): Promise; /** * This method is called when the user is leaving the page. */ - public async abstract onPageLeave(): Promise; + public abstract onPageLeave(): Promise; } diff --git a/extensions/notebook/src/test/book/book.test.ts b/extensions/notebook/src/test/book/book.test.ts index bffb9aea2a..7bbecf8919 100644 --- a/extensions/notebook/src/test/book/book.test.ts +++ b/extensions/notebook/src/test/book/book.test.ts @@ -170,7 +170,7 @@ describe('BooksTreeViewTests', function () { this.beforeAll(async () => { bookTreeViewProvider = appContext.bookTreeViewProvider; - let errorCase = new Promise((resolve, reject) => setTimeout(() => resolve(), 5000)); + let errorCase = new Promise((resolve, reject) => setTimeout(() => resolve(), 5000)); await Promise.race([bookTreeViewProvider.initialized, errorCase.then(() => { throw new Error('BookTreeViewProvider did not initialize in time'); })]); await bookTreeViewProvider.openBook(bookFolderPath, undefined, false, false); }); @@ -276,7 +276,7 @@ describe('BooksTreeViewTests', function () { this.beforeAll(async () => { providedbookTreeViewProvider = appContext.providedBookTreeViewProvider; - let errorCase = new Promise((resolve, reject) => setTimeout(() => resolve(), 5000)); + let errorCase = new Promise((resolve, reject) => setTimeout(() => resolve(), 5000)); await Promise.race([providedbookTreeViewProvider.initialized, errorCase.then(() => { throw new Error('ProvidedBooksTreeViewProvider did not initialize in time'); })]); await providedbookTreeViewProvider.openBook(bookFolderPath, undefined, false, false); }); @@ -359,7 +359,7 @@ describe('BooksTreeViewTests', function () { this.beforeAll(async () => { pinnedTreeViewProvider = appContext.pinnedBookTreeViewProvider; bookTreeViewProvider = appContext.bookTreeViewProvider; - let errorCase = new Promise((resolve, reject) => setTimeout(() => resolve(), 5000)); + let errorCase = new Promise((resolve, reject) => setTimeout(() => resolve(), 5000)); await Promise.race([bookTreeViewProvider.initialized, errorCase.then(() => { throw new Error('BookTreeViewProvider did not initialize in time'); })]); await Promise.race([pinnedTreeViewProvider.initialized, errorCase.then(() => { throw new Error('PinnedTreeViewProvider did not initialize in time'); })]); await bookTreeViewProvider.openBook(bookFolderPath, undefined, false, false); @@ -478,7 +478,7 @@ describe('BooksTreeViewTests', function () { index: 0 }; bookTreeViewProvider = new BookTreeViewProvider([folder], mockExtensionContext, false, 'bookTreeView', NavigationProviders.NotebooksNavigator); - let errorCase = new Promise((resolve, reject) => setTimeout(() => resolve(), 5000)); + let errorCase = new Promise((resolve, reject) => setTimeout(() => resolve(), 5000)); await Promise.race([bookTreeViewProvider.initialized, errorCase.then(() => { throw new Error('BookTreeViewProvider did not initialize in time'); })]); await bookTreeViewProvider.openBook(rootFolderPath, undefined, false, false); }); @@ -556,7 +556,7 @@ describe('BooksTreeViewTests', function () { index: 0 }; bookTreeViewProvider = new BookTreeViewProvider([folder], mockExtensionContext, false, 'bookTreeView', NavigationProviders.NotebooksNavigator); - let errorCase = new Promise((resolve, reject) => setTimeout(() => resolve(), 5000)); + let errorCase = new Promise((resolve, reject) => setTimeout(() => resolve(), 5000)); await Promise.race([bookTreeViewProvider.initialized, errorCase.then(() => { throw new Error('BookTreeViewProvider did not initialize in time'); })]); }); @@ -585,7 +585,7 @@ describe('BooksTreeViewTests', function () { } }); }); - }) + }); }); describe('BookTreeViewProvider.getSections', function () { @@ -646,7 +646,7 @@ describe('BooksTreeViewTests', function () { index: 0 }]; bookTreeViewProvider = new BookTreeViewProvider(folder, mockExtensionContext, false, 'bookTreeView', NavigationProviders.NotebooksNavigator); - let errorCase = new Promise((resolve, reject) => setTimeout(() => resolve(), 5000)); + let errorCase = new Promise((resolve, reject) => setTimeout(() => resolve(), 5000)); await Promise.race([bookTreeViewProvider.initialized, errorCase.then(() => { throw new Error('BookTreeViewProvider did not initialize in time'); })]); }); @@ -659,10 +659,12 @@ describe('BooksTreeViewTests', function () { }); after(async function (): Promise { - if (await exists(rootFolderPath)) await promisify(rimraf)(rootFolderPath); + if (await exists(rootFolderPath)) { + await promisify(rimraf)(rootFolderPath); + } }); }); - }) + }); }); describe('BookTreeViewProvider.Commands', function () { @@ -716,7 +718,7 @@ describe('BooksTreeViewTests', function () { const mockExtensionContext = new MockExtensionContext(); bookTreeViewProvider = new BookTreeViewProvider([], mockExtensionContext, false, 'bookTreeView', NavigationProviders.NotebooksNavigator); - let errorCase = new Promise((resolve, reject) => setTimeout(() => resolve(), 5000)); + let errorCase = new Promise((resolve, reject) => setTimeout(() => resolve(), 5000)); await Promise.race([bookTreeViewProvider.initialized, errorCase.then(() => { throw new Error('BookTreeViewProvider did not initialize in time'); })]); }); @@ -913,7 +915,7 @@ describe('BooksTreeViewTests', function () { const mockExtensionContext = new MockExtensionContext(); bookTreeViewProvider = new BookTreeViewProvider([], mockExtensionContext, false, 'bookTreeView', NavigationProviders.NotebooksNavigator); - let errorCase = new Promise((resolve, reject) => setTimeout(() => resolve(), 5000)); + let errorCase = new Promise((resolve, reject) => setTimeout(() => resolve(), 5000)); await Promise.race([bookTreeViewProvider.initialized, errorCase.then(() => { throw new Error('BookTreeViewProvider did not initialize in time'); })]); }); diff --git a/extensions/resource-deployment/src/test/stubs.ts b/extensions/resource-deployment/src/test/stubs.ts index 922561585c..b7e586af87 100644 --- a/extensions/resource-deployment/src/test/stubs.ts +++ b/extensions/resource-deployment/src/test/stubs.ts @@ -17,7 +17,7 @@ export class TestChildProcessPromise implements cp.ChildProcessPromise { this.reject = reject; }); } - resolve!: (value?: T | PromiseLike) => void; + resolve!: (value: T | PromiseLike) => void; reject!: (reason?: any) => void; then(onFulfilled?: ((value: T) => TResult1 | PromiseLike) | null, onRejected?: ((reason: any) => TResult2 | PromiseLike) | null): Promise { return this._promise.then(onFulfilled, onRejected); diff --git a/extensions/resource-deployment/src/test/ui/validation/modelViewUtils.test.ts b/extensions/resource-deployment/src/test/ui/validation/modelViewUtils.test.ts index 8eabaed7c0..2653227a4e 100644 --- a/extensions/resource-deployment/src/test/ui/validation/modelViewUtils.test.ts +++ b/extensions/resource-deployment/src/test/ui/validation/modelViewUtils.test.ts @@ -93,13 +93,13 @@ describe('WizardPage', () => { return enabled; }); // Used to ensure that we wait until the enabled state is updated for our mocked components before continuing - let enabledDeferred = new Deferred(); + let enabledDeferred = new Deferred(); initializeWizardPage(testWizardPage); await contentRegistered.promise; await enabledDeferred.promise; should(stubInputBox.enabled).be.false('Input box should be disabled by default'); - enabledDeferred = new Deferred(); + enabledDeferred = new Deferred(); stubCheckbox.checked = true; // Now wait for the enabled state to be updated again await enabledDeferred.promise; diff --git a/extensions/resource-deployment/src/test/utils.ts b/extensions/resource-deployment/src/test/utils.ts index 61dbae9f1b..81416c9caa 100644 --- a/extensions/resource-deployment/src/test/utils.ts +++ b/extensions/resource-deployment/src/test/utils.ts @@ -8,6 +8,6 @@ export class Deferred { this.resolve = resolve; this.reject = reject; });; - resolve!: (value?: T | PromiseLike) => void; + resolve!: (value: T | PromiseLike) => void; reject!: (reason?: any) => void; } diff --git a/extensions/schema-compare/src/utils.ts b/extensions/schema-compare/src/utils.ts index 4dc6e52268..3ef7d58c31 100644 --- a/extensions/schema-compare/src/utils.ts +++ b/extensions/schema-compare/src/utils.ts @@ -99,11 +99,11 @@ export async function verifyConnectionAndGetOwnerUri(endpoint: mssql.SchemaCompa let userConnection; userConnection = connectionList.find(connection => - (endpoint.connectionDetails['authenticationType'] === 'SqlLogin' - && endpoint.connectionDetails['serverName'] === connection.options.server - && endpoint.connectionDetails['userName'] === connection.options.user - && (endpoint.connectionDetails['databaseName'].toLowerCase() === connection.options.database.toLowerCase() - || connection.options.database.toLowerCase() === 'master'))); + (endpoint.connectionDetails['authenticationType'] === 'SqlLogin' + && endpoint.connectionDetails['serverName'] === connection.options.server + && endpoint.connectionDetails['userName'] === connection.options.user + && (endpoint.connectionDetails['databaseName'].toLowerCase() === connection.options.database.toLowerCase() + || connection.options.database.toLowerCase() === 'master'))); if (userConnection === undefined) { const getConnectionString = loc.getConnectionString(caller); diff --git a/src/sql/workbench/browser/modelComponents/modelStore.ts b/src/sql/workbench/browser/modelComponents/modelStore.ts index ee79de4ed4..81c2f4d87f 100644 --- a/src/sql/workbench/browser/modelComponents/modelStore.ts +++ b/src/sql/workbench/browser/modelComponents/modelStore.ts @@ -113,7 +113,7 @@ export class ModelStore implements IModelStore { let promiseTracker = this._componentActions[componentId]; if (promiseTracker) { // Run initial actions first to ensure they're done before later actions (and thus don't overwrite following actions) - new Promise(resolve => { + new Promise(resolve => { promiseTracker.initial.forEach(action => action(component)); resolve(); }).then(() => { diff --git a/src/sql/workbench/contrib/dashboard/test/electron-browser/propertiesWidget.component.test.ts b/src/sql/workbench/contrib/dashboard/test/electron-browser/propertiesWidget.component.test.ts index 5ff757b440..b5df83bd6f 100644 --- a/src/sql/workbench/contrib/dashboard/test/electron-browser/propertiesWidget.component.test.ts +++ b/src/sql/workbench/contrib/dashboard/test/electron-browser/propertiesWidget.component.test.ts @@ -101,7 +101,7 @@ suite('Dashboard Properties Widget Tests', () => { let testComponent = new PropertiesWidgetComponent(dashboardService.object, new TestChangeDetectorRef(), undefined, widgetConfig, testLogService); - return new Promise(resolve => { + return new Promise(resolve => { // because config parsing is done async we need to put our asserts on the thread stack setImmediate(() => { const propertyItems: PropertyItem[] = (testComponent as any).parseProperties(databaseInfo); diff --git a/src/sql/workbench/contrib/notebook/browser/notebookExplorer/notebookSearch.ts b/src/sql/workbench/contrib/notebook/browser/notebookExplorer/notebookSearch.ts index 35f312a61a..de80f8e802 100644 --- a/src/sql/workbench/contrib/notebook/browser/notebookExplorer/notebookSearch.ts +++ b/src/sql/workbench/contrib/notebook/browser/notebookExplorer/notebookSearch.ts @@ -240,7 +240,7 @@ export class NotebookSearchView extends SearchView { public startSearch(query: ITextQuery, excludePatternText: string, includePatternText: string, triggeredOnType: boolean, searchWidget: NotebookSearchWidget): Thenable { let progressComplete: () => void; this.progressService.withProgress({ location: this.getProgressLocation(), delay: triggeredOnType ? 300 : 0 }, _progress => { - return new Promise(resolve => progressComplete = resolve); + return new Promise(resolve => progressComplete = resolve); }); this.state = SearchUIState.Searching; diff --git a/src/sql/workbench/contrib/notebook/browser/outputs/notebookMarkdown.ts b/src/sql/workbench/contrib/notebook/browser/outputs/notebookMarkdown.ts index 30374d3dc0..5ddec27e2b 100644 --- a/src/sql/workbench/contrib/notebook/browser/outputs/notebookMarkdown.ts +++ b/src/sql/workbench/contrib/notebook/browser/outputs/notebookMarkdown.ts @@ -56,7 +56,7 @@ export class NotebookMarkdownRenderer { // signal to code-block render that the element has been created let signalInnerHTML: () => void; - const withInnerHTML = new Promise(c => signalInnerHTML = c); + const withInnerHTML = new Promise(c => signalInnerHTML = c); let notebookFolder = this._notebookURI ? path.join(path.dirname(this._notebookURI.fsPath), path.sep) : ''; if (!this._baseUrls.some(x => x === notebookFolder)) { diff --git a/src/sql/workbench/services/notebook/browser/notebookServiceImpl.ts b/src/sql/workbench/services/notebook/browser/notebookServiceImpl.ts index 36c9d36015..fff25d5703 100644 --- a/src/sql/workbench/services/notebook/browser/notebookServiceImpl.ts +++ b/src/sql/workbench/services/notebook/browser/notebookServiceImpl.ts @@ -433,7 +433,7 @@ export class NotebookService extends Disposable implements INotebookService { timeout = timeout ?? 30000; let promises: Promise[] = [ providerDescriptor.instanceReady, - new Promise((resolve, reject) => setTimeout(() => resolve(), timeout)) + new Promise((resolve, reject) => setTimeout(() => resolve(undefined), timeout)) ]; return Promise.race(promises); } diff --git a/src/sql/workbench/services/objectExplorer/browser/treeUpdateUtils.ts b/src/sql/workbench/services/objectExplorer/browser/treeUpdateUtils.ts index 1aadffea76..dbb5b5ed8d 100644 --- a/src/sql/workbench/services/objectExplorer/browser/treeUpdateUtils.ts +++ b/src/sql/workbench/services/objectExplorer/browser/treeUpdateUtils.ts @@ -283,7 +283,7 @@ export class TreeUpdateUtils { reject(new Error(e.errorMessage)); } if (e.connection.id === connection.id) { - resolve(); + resolve(undefined); } }); }); diff --git a/src/vs/base/browser/ui/actionbar/actionbar.ts b/src/vs/base/browser/ui/actionbar/actionbar.ts index f6c5166ac8..e7ba2a5e0a 100644 --- a/src/vs/base/browser/ui/actionbar/actionbar.ts +++ b/src/vs/base/browser/ui/actionbar/actionbar.ts @@ -252,7 +252,7 @@ export class ActionBar extends Disposable implements IActionRunner { } push(arg: IAction | ReadonlyArray, options: IActionOptions = {}): void { - const actions: ReadonlyArray = Array.isArray(arg) ? arg : [arg]; + const actions: ReadonlyArray = Array.isArray(arg) ? arg : [arg]; let index = types.isNumber(options.index) ? options.index : null; diff --git a/src/vs/base/parts/tree/test/browser/treeModel.test.ts b/src/vs/base/parts/tree/test/browser/treeModel.test.ts index 0d1a9e69ed..5bb715edd4 100644 --- a/src/vs/base/parts/tree/test/browser/treeModel.test.ts +++ b/src/vs/base/parts/tree/test/browser/treeModel.test.ts @@ -1396,7 +1396,7 @@ suite('TreeModel - Dynamic data model', () => { assert.equal(gotTimes, 1); let p2Complete: () => void; - dataModel.promiseFactory = () => { return new Promise((c) => { p2Complete = c; }); }; + dataModel.promiseFactory = () => { return new Promise((c) => { p2Complete = c; }); }; const p2 = model.refresh('father'); // same situation still diff --git a/src/vs/workbench/browser/dnd.ts b/src/vs/workbench/browser/dnd.ts index 448bf0fd5f..d2bca51d64 100644 --- a/src/vs/workbench/browser/dnd.ts +++ b/src/vs/workbench/browser/dnd.ts @@ -745,7 +745,7 @@ export class CompositeDragAndDropObserver extends Disposable { } } -export function toggleDropEffect(dataTransfer: DataTransfer | null, dropEffect: string, shouldHaveIt: boolean) { +export function toggleDropEffect(dataTransfer: DataTransfer | null, dropEffect: 'none' | 'copy' | 'link' | 'move', shouldHaveIt: boolean) { if (!dataTransfer) { return; } diff --git a/src/vs/workbench/services/userDataSync/browser/userDataSyncWorkbenchService.ts b/src/vs/workbench/services/userDataSync/browser/userDataSyncWorkbenchService.ts index f095c9e4a9..106ae13be8 100644 --- a/src/vs/workbench/services/userDataSync/browser/userDataSyncWorkbenchService.ts +++ b/src/vs/workbench/services/userDataSync/browser/userDataSyncWorkbenchService.ts @@ -775,10 +775,10 @@ class UserDataSyncPreview extends Disposable implements IUserDataSyncPreview { const newResources = this.toUserDataSyncResourceGroups( (this.manualSync?.preview || []) .map(([syncResource, syncResourcePreview]) => - ([ - syncResource, - syncResourcePreview.resourcePreviews - ])) + ([ + syncResource, + syncResourcePreview.resourcePreviews + ])) ); if (!equals(newResources, this._resources, (a, b) => isEqual(a.local, b.local) && a.mergeState === b.mergeState)) { this._resources = newResources; diff --git a/src/vs/workbench/services/userDataSync/electron-browser/userDataSyncService.ts b/src/vs/workbench/services/userDataSync/electron-browser/userDataSyncService.ts index d2ef75420c..d0eca6d839 100644 --- a/src/vs/workbench/services/userDataSync/electron-browser/userDataSyncService.ts +++ b/src/vs/workbench/services/userDataSync/electron-browser/userDataSyncService.ts @@ -136,16 +136,16 @@ export class UserDataSyncService extends Disposable implements IUserDataSyncServ private async updateConflicts(conflicts: [SyncResource, IResourcePreview[]][]): Promise { // Revive URIs this._conflicts = conflicts.map(([syncResource, conflicts]) => - ([ - syncResource, - conflicts.map(r => - ({ - ...r, - localResource: URI.revive(r.localResource), - remoteResource: URI.revive(r.remoteResource), - previewResource: URI.revive(r.previewResource), - })) - ])); + ([ + syncResource, + conflicts.map(r => + ({ + ...r, + localResource: URI.revive(r.localResource), + remoteResource: URI.revive(r.remoteResource), + previewResource: URI.revive(r.previewResource), + })) + ])); this._onDidChangeConflicts.fire(this._conflicts); } @@ -239,19 +239,19 @@ class ManualSyncTask implements IManualSyncTask { private deserializePreviews(previews: [SyncResource, ISyncResourcePreview][]): [SyncResource, ISyncResourcePreview][] { return previews.map(([syncResource, preview]) => - ([ - syncResource, - { - isLastSyncFromCurrentMachine: preview.isLastSyncFromCurrentMachine, - resourcePreviews: preview.resourcePreviews.map(r => ({ - ...r, - localResource: URI.revive(r.localResource), - remoteResource: URI.revive(r.remoteResource), - previewResource: URI.revive(r.previewResource), - acceptedResource: URI.revive(r.acceptedResource), - })) - } - ])); + ([ + syncResource, + { + isLastSyncFromCurrentMachine: preview.isLastSyncFromCurrentMachine, + resourcePreviews: preview.resourcePreviews.map(r => ({ + ...r, + localResource: URI.revive(r.localResource), + remoteResource: URI.revive(r.remoteResource), + previewResource: URI.revive(r.previewResource), + acceptedResource: URI.revive(r.acceptedResource), + })) + } + ])); } }