From 2f253d2ee837dad575daf3fc598d0c7d6f99babe Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Mon, 18 Nov 2019 12:09:39 -0800 Subject: [PATCH] Fixing a few more strict function type errors For #81574 --- src/vs/base/node/watcher.ts | 4 ++-- src/vs/base/test/common/event.test.ts | 2 +- .../extensionManagement/common/extensionGalleryService.ts | 4 ++-- src/vs/platform/storage/node/storageIpc.ts | 4 ++-- src/vs/workbench/api/common/extHostQuickOpen.ts | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/vs/base/node/watcher.ts b/src/vs/base/node/watcher.ts index b51f73c6eaa..b71a84a63f1 100644 --- a/src/vs/base/node/watcher.ts +++ b/src/vs/base/node/watcher.ts @@ -10,7 +10,7 @@ import { normalizeNFC } from 'vs/base/common/normalization'; import { toDisposable, IDisposable, dispose } from 'vs/base/common/lifecycle'; import { exists, readdir } from 'vs/base/node/pfs'; -export function watchFile(path: string, onChange: (type: 'changed' | 'deleted', path: string) => void, onError: (error: string) => void): IDisposable { +export function watchFile(path: string, onChange: (type: 'added' | 'changed' | 'deleted', path: string) => void, onError: (error: string) => void): IDisposable { return doWatchNonRecursive({ path, isDirectory: false }, onChange, onError); } @@ -189,4 +189,4 @@ function doWatchNonRecursive(file: { path: string, isDirectory: boolean }, onCha watcherDisposables = dispose(watcherDisposables); }); -} \ No newline at end of file +} diff --git a/src/vs/base/test/common/event.test.ts b/src/vs/base/test/common/event.test.ts index 25d47dc6e00..4c05cad2447 100644 --- a/src/vs/base/test/common/event.test.ts +++ b/src/vs/base/test/common/event.test.ts @@ -174,7 +174,7 @@ suite('Event', function () { test('Debounce Event', function (done: () => void) { let doc = new Samples.Document3(); - let onDocDidChange = Event.debounce(doc.onDidChange, (prev: string[], cur) => { + let onDocDidChange = Event.debounce(doc.onDidChange, (prev: string[] | undefined, cur) => { if (!prev) { prev = [cur]; } else if (prev.indexOf(cur) < 0) { diff --git a/src/vs/platform/extensionManagement/common/extensionGalleryService.ts b/src/vs/platform/extensionManagement/common/extensionGalleryService.ts index a3c9d9b927d..f3fb5ecca84 100644 --- a/src/vs/platform/extensionManagement/common/extensionGalleryService.ts +++ b/src/vs/platform/extensionManagement/common/extensionGalleryService.ts @@ -580,7 +580,7 @@ export class ExtensionGalleryService implements IExtensionGalleryService { if (extension.assets.manifest) { return this.getAsset(extension.assets.manifest, {}, token) .then(asText) - .then(JSON.parse); + .then(text => text ? JSON.parse(text) : null); } return Promise.resolve(null); } @@ -590,7 +590,7 @@ export class ExtensionGalleryService implements IExtensionGalleryService { if (asset) { return this.getAsset(asset[1]) .then(asText) - .then(JSON.parse); + .then(text => text ? JSON.parse(text) : null); } return Promise.resolve(null); } diff --git a/src/vs/platform/storage/node/storageIpc.ts b/src/vs/platform/storage/node/storageIpc.ts index b0a2b3752a5..2d04f0a77f7 100644 --- a/src/vs/platform/storage/node/storageIpc.ts +++ b/src/vs/platform/storage/node/storageIpc.ts @@ -83,7 +83,7 @@ export class GlobalStorageDatabaseChannel extends Disposable implements IServerC // Listen for changes in global storage to send to listeners // that are listening. Use a debouncer to reduce IPC traffic. - this._register(Event.debounce(this.storageMainService.onDidChangeStorage, (prev: IStorageChangeEvent[], cur: IStorageChangeEvent) => { + this._register(Event.debounce(this.storageMainService.onDidChangeStorage, (prev: IStorageChangeEvent[] | undefined, cur: IStorageChangeEvent) => { if (!prev) { prev = [cur]; } else { @@ -161,7 +161,7 @@ export class GlobalStorageDatabaseChannelClient extends Disposable implements IS } private registerListeners(): void { - this.onDidChangeItemsOnMainListener = this.channel.listen('onDidChangeItems')((e: ISerializableItemsChangeEvent) => this.onDidChangeItemsOnMain(e)); + this.onDidChangeItemsOnMainListener = this.channel.listen('onDidChangeItems')((e: ISerializableItemsChangeEvent) => this.onDidChangeItemsOnMain(e)); } private onDidChangeItemsOnMain(e: ISerializableItemsChangeEvent): void { diff --git a/src/vs/workbench/api/common/extHostQuickOpen.ts b/src/vs/workbench/api/common/extHostQuickOpen.ts index 3a85192f04a..8d089783698 100644 --- a/src/vs/workbench/api/common/extHostQuickOpen.ts +++ b/src/vs/workbench/api/common/extHostQuickOpen.ts @@ -160,7 +160,7 @@ export class ExtHostQuickOpen implements ExtHostQuickOpenShape { // ---- workspace folder picker showWorkspaceFolderPick(options?: WorkspaceFolderPickOptions, token = CancellationToken.None): Promise { - return this._commands.executeCommand('_workbench.pickWorkspaceFolder', [options]).then(async (selectedFolder: WorkspaceFolder) => { + return this._commands.executeCommand('_workbench.pickWorkspaceFolder', [options]).then(async (selectedFolder: WorkspaceFolder) => { if (!selectedFolder) { return undefined; }