From 57b3fc8a719e676f97f357e8f844896409faee9d Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Thu, 14 Feb 2019 14:33:35 -0800 Subject: [PATCH] Explicitly convert undefined and null to false if they are used in place of boolean value part of strict null work --- src/vs/workbench/browser/parts/editor/editorStatus.ts | 2 +- src/vs/workbench/browser/parts/views/customView.ts | 2 +- .../codeinset/electron-browser/codeInsetWidget.ts | 2 +- src/vs/workbench/contrib/debug/browser/debugActions.ts | 10 +++++----- src/vs/workbench/contrib/debug/common/debugModel.ts | 2 +- .../contrib/debug/electron-browser/callStackView.ts | 2 +- src/vs/workbench/contrib/debug/node/debugger.ts | 4 ++-- .../extensions/electron-browser/extensionEditor.ts | 2 +- .../files/electron-browser/views/explorerView.ts | 4 ++-- .../files/electron-browser/views/explorerViewer.ts | 2 +- .../contrib/markers/electron-browser/markersPanel.ts | 2 +- .../markers/electron-browser/markersTreeViewer.ts | 2 +- .../workbench/contrib/output/browser/outputActions.ts | 2 +- .../contrib/output/electron-browser/outputServices.ts | 6 +++--- .../contrib/preferences/browser/keybindingsEditor.ts | 2 +- .../contrib/preferences/browser/preferencesEditor.ts | 2 +- .../preferences/electron-browser/settingsEditor2.ts | 2 +- .../workbench/contrib/search/browser/searchActions.ts | 10 +++++----- .../workbench/contrib/search/browser/searchWidget.ts | 2 +- .../contrib/terminal/electron-browser/terminalPanel.ts | 2 +- src/vs/workbench/electron-browser/workbench.ts | 10 +++++----- .../configuration/node/configurationEditingService.ts | 2 +- .../services/files/electron-browser/fileService.ts | 6 +++--- .../files/electron-browser/remoteFileService.ts | 6 +++--- .../services/textfile/common/textFileEditorModel.ts | 2 +- .../services/textfile/common/textFileService.ts | 4 ++-- 26 files changed, 47 insertions(+), 47 deletions(-) diff --git a/src/vs/workbench/browser/parts/editor/editorStatus.ts b/src/vs/workbench/browser/parts/editor/editorStatus.ts index 5f4000572ad..49b6089b484 100644 --- a/src/vs/workbench/browser/parts/editor/editorStatus.ts +++ b/src/vs/workbench/browser/parts/editor/editorStatus.ts @@ -796,7 +796,7 @@ export class EditorStatus implements IStatusbarItem { private isActiveEditor(control: IBaseEditor): boolean { const activeControl = this.editorService.activeControl; - return activeControl && activeControl === control; + return !!activeControl && activeControl === control; } } diff --git a/src/vs/workbench/browser/parts/views/customView.ts b/src/vs/workbench/browser/parts/views/customView.ts index 1f0f1fd7c32..897395b1a77 100644 --- a/src/vs/workbench/browser/parts/views/customView.ts +++ b/src/vs/workbench/browser/parts/views/customView.ts @@ -582,7 +582,7 @@ class TreeDataSource implements IDataSource { } hasChildren(tree: ITree, node: ITreeItem): boolean { - return this.treeView.dataProvider && node.collapsibleState !== TreeItemCollapsibleState.None; + return !!this.treeView.dataProvider && node.collapsibleState !== TreeItemCollapsibleState.None; } getChildren(tree: ITree, node: ITreeItem): Promise { diff --git a/src/vs/workbench/contrib/codeinset/electron-browser/codeInsetWidget.ts b/src/vs/workbench/contrib/codeinset/electron-browser/codeInsetWidget.ts index 02f461b8e22..60637e38989 100644 --- a/src/vs/workbench/contrib/codeinset/electron-browser/codeInsetWidget.ts +++ b/src/vs/workbench/contrib/codeinset/electron-browser/codeInsetWidget.ts @@ -97,7 +97,7 @@ export class CodeInsetWidget { return this._decorationIds.some((id, i) => { const range = this._editor.getModel().getDecorationRange(id); const symbol = this._data[i].symbol; - return range && Range.isEmpty(symbol.range) === range.isEmpty(); + return !!range && Range.isEmpty(symbol.range) === range.isEmpty(); }); } diff --git a/src/vs/workbench/contrib/debug/browser/debugActions.ts b/src/vs/workbench/contrib/debug/browser/debugActions.ts index bf9c754e095..8c0c7139700 100644 --- a/src/vs/workbench/contrib/debug/browser/debugActions.ts +++ b/src/vs/workbench/contrib/debug/browser/debugActions.ts @@ -594,7 +594,7 @@ export class SetValueAction extends AbstractDebugAction { protected isEnabled(state: State): boolean { const session = this.debugService.getViewModel().focusedSession; - return super.isEnabled(state) && state === State.Stopped && session && session.capabilities.supportsSetVariable; + return !!(super.isEnabled(state) && state === State.Stopped && session && session.capabilities.supportsSetVariable); } } @@ -774,8 +774,8 @@ export class StepBackAction extends AbstractDebugAction { protected isEnabled(state: State): boolean { const session = this.debugService.getViewModel().focusedSession; - return super.isEnabled(state) && state === State.Stopped && - session && session.capabilities.supportsStepBack; + return !!(super.isEnabled(state) && state === State.Stopped && + session && session.capabilities.supportsStepBack); } } @@ -797,8 +797,8 @@ export class ReverseContinueAction extends AbstractDebugAction { protected isEnabled(state: State): boolean { const session = this.debugService.getViewModel().focusedSession; - return super.isEnabled(state) && state === State.Stopped && - session && session.capabilities.supportsStepBack; + return !!(super.isEnabled(state) && state === State.Stopped && + session && session.capabilities.supportsStepBack); } } diff --git a/src/vs/workbench/contrib/debug/common/debugModel.ts b/src/vs/workbench/contrib/debug/common/debugModel.ts index 17452f05f78..9f2dfc88716 100644 --- a/src/vs/workbench/contrib/debug/common/debugModel.ts +++ b/src/vs/workbench/contrib/debug/common/debugModel.ts @@ -879,7 +879,7 @@ export class DebugModel implements IDebugModel { this.exceptionBreakpoints = data.map(d => { const ebp = this.exceptionBreakpoints.filter(ebp => ebp.filter === d.filter).pop(); - return new ExceptionBreakpoint(d.filter, d.label, ebp ? ebp.enabled : d.default); + return new ExceptionBreakpoint(d.filter, d.label, ebp ? ebp.enabled : !!d.default); }); this._onDidChangeBreakpoints.fire(undefined); } diff --git a/src/vs/workbench/contrib/debug/electron-browser/callStackView.ts b/src/vs/workbench/contrib/debug/electron-browser/callStackView.ts index 0d300602afa..2810e1deb2b 100644 --- a/src/vs/workbench/contrib/debug/electron-browser/callStackView.ts +++ b/src/vs/workbench/contrib/debug/electron-browser/callStackView.ts @@ -540,7 +540,7 @@ class ShowMoreRenderer implements ITreeRenderer, index: number, data: ILabelTemplateData): void { const stackFrames = element.element; - if (stackFrames.every(sf => sf.source && sf.source.origin && sf.source.origin === stackFrames[0].source.origin)) { + if (stackFrames.every(sf => !!(sf.source && sf.source.origin && sf.source.origin === stackFrames[0].source.origin))) { data.label.textContent = nls.localize('showMoreAndOrigin', "Show {0} More: {1}", stackFrames.length, stackFrames[0].source.origin); } else { data.label.textContent = nls.localize('showMoreStackFrames', "Show {0} More Stack Frames", stackFrames.length); diff --git a/src/vs/workbench/contrib/debug/node/debugger.ts b/src/vs/workbench/contrib/debug/node/debugger.ts index 86cc18f2d3f..e97d34b077a 100644 --- a/src/vs/workbench/contrib/debug/node/debugger.ts +++ b/src/vs/workbench/contrib/debug/node/debugger.ts @@ -146,9 +146,9 @@ export class Debugger implements IDebugger { private inExtHost(): boolean { const debugConfigs = this.configurationService.getValue('debug'); - return debugConfigs.extensionHostDebugAdapter + return !!debugConfigs.extensionHostDebugAdapter || this.configurationManager.needsToRunInExtHost(this.type) - || (this.mainExtensionDescription && this.mainExtensionDescription.extensionLocation.scheme !== 'file'); + || (!!this.mainExtensionDescription && this.mainExtensionDescription.extensionLocation.scheme !== 'file'); } get label(): string { diff --git a/src/vs/workbench/contrib/extensions/electron-browser/extensionEditor.ts b/src/vs/workbench/contrib/extensions/electron-browser/extensionEditor.ts index c40a5cd3aeb..753676567a1 100644 --- a/src/vs/workbench/contrib/extensions/electron-browser/extensionEditor.ts +++ b/src/vs/workbench/contrib/extensions/electron-browser/extensionEditor.ts @@ -126,7 +126,7 @@ class NavBar { _update(id: string | null = this.currentId, focus?: boolean): Promise { this.currentId = id; - this._onChange.fire({ id, focus }); + this._onChange.fire({ id, focus: !!focus }); this.actions.forEach(a => a.enabled = a.id !== id); return Promise.resolve(undefined); } diff --git a/src/vs/workbench/contrib/files/electron-browser/views/explorerView.ts b/src/vs/workbench/contrib/files/electron-browser/views/explorerView.ts index bff9758fa30..75a80567887 100644 --- a/src/vs/workbench/contrib/files/electron-browser/views/explorerView.ts +++ b/src/vs/workbench/contrib/files/electron-browser/views/explorerView.ts @@ -308,8 +308,8 @@ export class ExplorerView extends ViewletPanel { const isSingleFolder = this.contextService.getWorkbenchState() === WorkbenchState.FOLDER; const resource = stat ? stat.resource : isSingleFolder ? this.contextService.getWorkspace().folders[0].uri : undefined; this.resourceContext.set(resource); - this.folderContext.set((isSingleFolder && !stat) || stat && stat.isDirectory); - this.readonlyContext.set(stat && stat.isReadonly); + this.folderContext.set((isSingleFolder && !stat) || !!stat && stat.isDirectory); + this.readonlyContext.set(!!stat && stat.isReadonly); this.rootContext.set(!stat || (stat && stat.isRoot)); })); diff --git a/src/vs/workbench/contrib/files/electron-browser/views/explorerViewer.ts b/src/vs/workbench/contrib/files/electron-browser/views/explorerViewer.ts index b2a4a38719c..a39e43c5d90 100644 --- a/src/vs/workbench/contrib/files/electron-browser/views/explorerViewer.ts +++ b/src/vs/workbench/contrib/files/electron-browser/views/explorerViewer.ts @@ -472,7 +472,7 @@ export class FileDragAndDrop implements ITreeDragAndDrop { if (!target) { // Droping onto the empty area. Do not accept if items dragged are already // children of the root unless we are copying the file - if (!isCopy && items.every(i => i.parent && i.parent.isRoot)) { + if (!isCopy && items.every(i => !!i.parent && i.parent.isRoot)) { return false; } diff --git a/src/vs/workbench/contrib/markers/electron-browser/markersPanel.ts b/src/vs/workbench/contrib/markers/electron-browser/markersPanel.ts index af69b3f3f72..0360e57fecf 100644 --- a/src/vs/workbench/contrib/markers/electron-browser/markersPanel.ts +++ b/src/vs/workbench/contrib/markers/electron-browser/markersPanel.ts @@ -358,7 +358,7 @@ export class MarkersPanel extends Panel implements IMarkerFilterController { const markersNavigator = this._register(new TreeResourceNavigator2(this.tree, { openOnFocus: true })); this._register(Event.debounce(markersNavigator.onDidOpenResource, (last, event) => event, 75, true)(options => { - this.openFileAtElement(options.element, options.editorOptions.preserveFocus, options.sideBySide, options.editorOptions.pinned); + this.openFileAtElement(options.element, !!options.editorOptions.preserveFocus, options.sideBySide, !!options.editorOptions.pinned); })); this._register(this.tree.onDidChangeCollapseState(({ node }) => { const { element } = node; diff --git a/src/vs/workbench/contrib/markers/electron-browser/markersTreeViewer.ts b/src/vs/workbench/contrib/markers/electron-browser/markersTreeViewer.ts index c301dbf47ff..b666987f50f 100644 --- a/src/vs/workbench/contrib/markers/electron-browser/markersTreeViewer.ts +++ b/src/vs/workbench/contrib/markers/electron-browser/markersTreeViewer.ts @@ -303,7 +303,7 @@ class MarkerWidget extends Disposable { const viewModel = this.markersViewModel.getViewModel(marker); const multiline = viewModel && viewModel.multiline; const action = new Action('problems.action.toggleMultiline'); - action.enabled = viewModel && marker.lines.length > 1; + action.enabled = !!viewModel && marker.lines.length > 1; action.tooltip = multiline ? localize('single line', "Show message in single line") : localize('multi line', "Show message in multiple lines"); action.class = multiline ? 'octicon octicon-chevron-up' : 'octicon octicon-chevron-down'; action.run = () => { if (viewModel) { viewModel.multiline = !viewModel.multiline; } return Promise.resolve(); }; diff --git a/src/vs/workbench/contrib/output/browser/outputActions.ts b/src/vs/workbench/contrib/output/browser/outputActions.ts index fb0cfa131c7..934be8edfdd 100644 --- a/src/vs/workbench/contrib/output/browser/outputActions.ts +++ b/src/vs/workbench/contrib/output/browser/outputActions.ts @@ -193,7 +193,7 @@ export class OpenLogOutputFile extends Action { private update(): void { const outputChannelDescriptor = this.getOutputChannelDescriptor(); - this.enabled = outputChannelDescriptor && outputChannelDescriptor.file && outputChannelDescriptor.log; + this.enabled = !!(outputChannelDescriptor && outputChannelDescriptor.file && outputChannelDescriptor.log); } public run(): Promise { diff --git a/src/vs/workbench/contrib/output/electron-browser/outputServices.ts b/src/vs/workbench/contrib/output/electron-browser/outputServices.ts index 16964d3c117..f661c95fff5 100644 --- a/src/vs/workbench/contrib/output/electron-browser/outputServices.ts +++ b/src/vs/workbench/contrib/output/electron-browser/outputServices.ts @@ -493,10 +493,10 @@ export class OutputService extends Disposable implements IOutputService, ITextMo this.activeChannel = channel; let promise: Promise; if (this.isPanelShown()) { - promise = this.doShowChannel(channel, preserveFocus); + promise = this.doShowChannel(channel, !!preserveFocus); } else { this.panelService.openPanel(OUTPUT_PANEL_ID); - promise = this.doShowChannel(this.activeChannel, preserveFocus); + promise = this.doShowChannel(this.activeChannel, !!preserveFocus); } return promise.then(() => this._onActiveOutputChannel.fire(id)); } @@ -613,7 +613,7 @@ export class OutputService extends Disposable implements IOutputService, ITextMo private isPanelShown(): boolean { const panel = this.panelService.getActivePanel(); - return panel && panel.getId() === OUTPUT_PANEL_ID; + return !!panel && panel.getId() === OUTPUT_PANEL_ID; } private createInput(channel: IOutputChannel): ResourceEditorInput { diff --git a/src/vs/workbench/contrib/preferences/browser/keybindingsEditor.ts b/src/vs/workbench/contrib/preferences/browser/keybindingsEditor.ts index 238e261cd71..4d520ed4755 100644 --- a/src/vs/workbench/contrib/preferences/browser/keybindingsEditor.ts +++ b/src/vs/workbench/contrib/preferences/browser/keybindingsEditor.ts @@ -129,7 +129,7 @@ export class KeybindingsEditor extends BaseEditor implements IKeybindingsEditor setInput(input: KeybindingsEditorInput, options: EditorOptions, token: CancellationToken): Promise { this.keybindingsEditorContextKey.set(true); return super.setInput(input, options, token) - .then(() => this.render(options && options.preserveFocus, token)); + .then(() => this.render(!!(options && options.preserveFocus), token)); } clearInput(): void { diff --git a/src/vs/workbench/contrib/preferences/browser/preferencesEditor.ts b/src/vs/workbench/contrib/preferences/browser/preferencesEditor.ts index 21c46e7f5fb..7f38f0ee1ce 100644 --- a/src/vs/workbench/contrib/preferences/browser/preferencesEditor.ts +++ b/src/vs/workbench/contrib/preferences/browser/preferencesEditor.ts @@ -499,7 +499,7 @@ class PreferencesRenderersController extends Disposable { this.consolidateAndUpdate(defaultFilterResult, editableFilterResult); this._lastFilterResult = defaultFilterResult; - return defaultFilterResult && defaultFilterResult.exactMatch; + return !!(defaultFilterResult && defaultFilterResult.exactMatch); }); } diff --git a/src/vs/workbench/contrib/preferences/electron-browser/settingsEditor2.ts b/src/vs/workbench/contrib/preferences/electron-browser/settingsEditor2.ts index d29ebd7cf75..4fa89fc0766 100644 --- a/src/vs/workbench/contrib/preferences/electron-browser/settingsEditor2.ts +++ b/src/vs/workbench/contrib/preferences/electron-browser/settingsEditor2.ts @@ -755,7 +755,7 @@ export class SettingsEditor2 extends BaseEditor { query: this.searchWidget.getValue(), searchResults: this.searchResultModel && this.searchResultModel.getUniqueResults(), rawResults: this.searchResultModel && this.searchResultModel.getRawResults(), - showConfiguredOnly: this.viewState.tagFilters && this.viewState.tagFilters.has(MODIFIED_SETTING_TAG), + showConfiguredOnly: !!this.viewState.tagFilters && this.viewState.tagFilters.has(MODIFIED_SETTING_TAG), isReset: typeof value === 'undefined', settingsTarget: this.settingsTargetsWidget.settingsTarget as SettingsTarget }; diff --git a/src/vs/workbench/contrib/search/browser/searchActions.ts b/src/vs/workbench/contrib/search/browser/searchActions.ts index 781e24c08a6..63dc57ef8fa 100644 --- a/src/vs/workbench/contrib/search/browser/searchActions.ts +++ b/src/vs/workbench/contrib/search/browser/searchActions.ts @@ -34,7 +34,7 @@ import { IViewletService } from 'vs/workbench/services/viewlet/browser/viewlet'; export function isSearchViewFocused(viewletService: IViewletService, panelService: IPanelService): boolean { const searchView = getSearchView(viewletService, panelService); const activeElement = document.activeElement; - return searchView && activeElement && DOM.isAncestor(activeElement, searchView.getContainer()); + return !!(searchView && activeElement && DOM.isAncestor(activeElement, searchView.getContainer())); } export function appendKeyBindingLabel(label: string, keyBinding: number | ResolvedKeybinding, keyBindingService2: IKeybindingService): string { @@ -262,7 +262,7 @@ export class CollapseDeepestExpandedLevelAction extends Action { update(): void { const searchView = getSearchView(this.viewletService, this.panelService); - this.enabled = searchView && searchView.hasSearchResults(); + this.enabled = !!searchView && searchView.hasSearchResults(); } run(): Promise { @@ -319,7 +319,7 @@ export class ClearSearchResultsAction extends Action { update(): void { const searchView = getSearchView(this.viewletService, this.panelService); - this.enabled = searchView && (!searchView.allSearchFieldsClear() || searchView.hasSearchResults()); + this.enabled = !!searchView && (!searchView.allSearchFieldsClear() || searchView.hasSearchResults()); } run(): Promise { @@ -327,7 +327,7 @@ export class ClearSearchResultsAction extends Action { if (searchView) { searchView.clearSearchResults(); } - return Promise.resolve(null); + return Promise.resolve(); } } @@ -346,7 +346,7 @@ export class CancelSearchAction extends Action { update(): void { const searchView = getSearchView(this.viewletService, this.panelService); - this.enabled = searchView && searchView.isSearching(); + this.enabled = !!searchView && searchView.isSearching(); } run(): Promise { diff --git a/src/vs/workbench/contrib/search/browser/searchWidget.ts b/src/vs/workbench/contrib/search/browser/searchWidget.ts index 068651eb2f6..3010fb299d0 100644 --- a/src/vs/workbench/contrib/search/browser/searchWidget.ts +++ b/src/vs/workbench/contrib/search/browser/searchWidget.ts @@ -185,7 +185,7 @@ export class SearchWidget extends Widget { } isReplaceActive(): boolean { - return this.replaceActive.get(); + return !!this.replaceActive.get(); } getReplaceValue(): string { diff --git a/src/vs/workbench/contrib/terminal/electron-browser/terminalPanel.ts b/src/vs/workbench/contrib/terminal/electron-browser/terminalPanel.ts index 394512bd594..bfde146007b 100644 --- a/src/vs/workbench/contrib/terminal/electron-browser/terminalPanel.ts +++ b/src/vs/workbench/contrib/terminal/electron-browser/terminalPanel.ts @@ -161,7 +161,7 @@ export class TerminalPanel extends Panel { }); } const activeInstance = this._terminalService.getActiveInstance(); - this._copyContextMenuAction.enabled = activeInstance && activeInstance.hasSelection(); + this._copyContextMenuAction.enabled = !!activeInstance && activeInstance.hasSelection(); return this._contextMenuActions; } diff --git a/src/vs/workbench/electron-browser/workbench.ts b/src/vs/workbench/electron-browser/workbench.ts index c49ff44ac91..f4cfb45120b 100644 --- a/src/vs/workbench/electron-browser/workbench.ts +++ b/src/vs/workbench/electron-browser/workbench.ts @@ -352,10 +352,10 @@ export class Workbench extends Disposable implements IPartService { this.workbenchParams = { configuration, serviceCollection }; - this.hasInitialFilesToOpen = + this.hasInitialFilesToOpen = !!( (configuration.filesToCreate && configuration.filesToCreate.length > 0) || (configuration.filesToOpen && configuration.filesToOpen.length > 0) || - (configuration.filesToDiff && configuration.filesToDiff.length > 0); + (configuration.filesToDiff && configuration.filesToDiff.length > 0)); this.registerErrorHandler(); } @@ -944,7 +944,7 @@ export class Workbench extends Disposable implements IPartService { } const newMenubarVisibility = this.configurationService.getValue(Workbench.menubarVisibilityConfigurationKey); - this.setMenubarVisibility(newMenubarVisibility, skipLayout); + this.setMenubarVisibility(newMenubarVisibility, !!skipLayout); } //#endregion @@ -976,7 +976,7 @@ export class Workbench extends Disposable implements IPartService { const activeControl = this.editorService.activeControl; const visibleEditors = this.editorService.visibleControls; - textCompareEditorActive.set(activeControl && activeControl.getId() === TEXT_DIFF_EDITOR_ID); + textCompareEditorActive.set(!!activeControl && activeControl.getId() === TEXT_DIFF_EDITOR_ID); textCompareEditorVisible.set(visibleEditors.some(control => control.getId() === TEXT_DIFF_EDITOR_ID)); if (visibleEditors.length > 0) { @@ -1013,7 +1013,7 @@ export class Workbench extends Disposable implements IPartService { const inputFocused = InputFocusedContext.bindTo(this.contextKeyService); function activeElementIsInput(): boolean { - return document.activeElement && (document.activeElement.tagName === 'INPUT' || document.activeElement.tagName === 'TEXTAREA'); + return !!document.activeElement && (document.activeElement.tagName === 'INPUT' || document.activeElement.tagName === 'TEXTAREA'); } function trackInputFocus(): void { diff --git a/src/vs/workbench/services/configuration/node/configurationEditingService.ts b/src/vs/workbench/services/configuration/node/configurationEditingService.ts index 7b595d32955..6943c5b3819 100644 --- a/src/vs/workbench/services/configuration/node/configurationEditingService.ts +++ b/src/vs/workbench/services/configuration/node/configurationEditingService.ts @@ -474,7 +474,7 @@ export class ConfigurationEditingService { private isWorkspaceConfigurationResource(resource: URI): boolean { const workspace = this.contextService.getWorkspace(); - return workspace.configuration && resource && workspace.configuration.fsPath === resource.fsPath; + return !!(workspace.configuration && resource && workspace.configuration.fsPath === resource.fsPath); } private getConfigurationFileResource(target: ConfigurationTarget, relativePath: string, resource: URI): URI { diff --git a/src/vs/workbench/services/files/electron-browser/fileService.ts b/src/vs/workbench/services/files/electron-browser/fileService.ts index 51c43e4e891..ff4a18cfa9d 100644 --- a/src/vs/workbench/services/files/electron-browser/fileService.ts +++ b/src/vs/workbench/services/files/electron-browser/fileService.ts @@ -839,11 +839,11 @@ export class FileService extends Disposable implements IFileService { } moveFile(source: uri, target: uri, overwrite?: boolean): Promise { - return this.moveOrCopyFile(source, target, false, overwrite); + return this.moveOrCopyFile(source, target, false, !!overwrite); } copyFile(source: uri, target: uri, overwrite?: boolean): Promise { - return this.moveOrCopyFile(source, target, true, overwrite); + return this.moveOrCopyFile(source, target, true, !!overwrite); } private moveOrCopyFile(source: uri, target: uri, keepCopy: boolean, overwrite: boolean): Promise { @@ -915,7 +915,7 @@ export class FileService extends Disposable implements IFileService { return this.doMoveItemToTrash(resource); } - return this.doDelete(resource, options && options.recursive); + return this.doDelete(resource, !!(options && options.recursive)); } private doMoveItemToTrash(resource: uri): Promise { diff --git a/src/vs/workbench/services/files/electron-browser/remoteFileService.ts b/src/vs/workbench/services/files/electron-browser/remoteFileService.ts index 74c3cb4a4b3..1edead97b2a 100644 --- a/src/vs/workbench/services/files/electron-browser/remoteFileService.ts +++ b/src/vs/workbench/services/files/electron-browser/remoteFileService.ts @@ -505,7 +505,7 @@ export class RemoteFileService extends FileService { return super.del(resource, options); } else { return this._withProvider(resource).then(RemoteFileService._throwIfFileSystemIsReadonly).then(provider => { - return provider.delete(resource, { recursive: options && options.recursive }).then(() => { + return provider.delete(resource, { recursive: !!(options && options.recursive) }).then(() => { this._onAfterOperation.fire(new FileOperationEvent(resource, FileOperation.DELETE)); }); }); @@ -593,7 +593,7 @@ export class RemoteFileService extends FileService { if (source.scheme === target.scheme && (provider.capabilities & FileSystemProviderCapabilities.FileFolderCopy)) { // good: provider supports copy withing scheme - return provider.copy(source, target, { overwrite }).then(() => { + return provider.copy(source, target, { overwrite: !!overwrite }).then(() => { return this.resolveFile(target); }).then(fileStat => { this._onAfterOperation.fire(new FileOperationEvent(source, FileOperation.COPY, fileStat)); @@ -620,7 +620,7 @@ export class RemoteFileService extends FileService { provider, target, new StringSnapshot(content.value), content.encoding, - { create: true, overwrite } + { create: true, overwrite: !!overwrite } ).then(fileStat => { this._onAfterOperation.fire(new FileOperationEvent(source, FileOperation.COPY, fileStat)); return fileStat; diff --git a/src/vs/workbench/services/textfile/common/textFileEditorModel.ts b/src/vs/workbench/services/textfile/common/textFileEditorModel.ts index 8b048d7beea..41d0ff63316 100644 --- a/src/vs/workbench/services/textfile/common/textFileEditorModel.ts +++ b/src/vs/workbench/services/textfile/common/textFileEditorModel.ts @@ -1004,7 +1004,7 @@ export class TextFileEditorModel extends BaseTextEditorModel implements ITextFil } isReadonly(): boolean { - return this.lastResolvedDiskStat && this.lastResolvedDiskStat.isReadonly; + return !!(this.lastResolvedDiskStat && this.lastResolvedDiskStat.isReadonly); } isDisposed(): boolean { diff --git a/src/vs/workbench/services/textfile/common/textFileService.ts b/src/vs/workbench/services/textfile/common/textFileService.ts index dcc04daac63..c261d86bf61 100644 --- a/src/vs/workbench/services/textfile/common/textFileService.ts +++ b/src/vs/workbench/services/textfile/common/textFileService.ts @@ -515,7 +515,7 @@ export class TextFileService extends Disposable implements ITextFileService { } } - return this.saveAll([resource], options).then(result => result.results.length === 1 && result.results[0].success); + return this.saveAll([resource], options).then(result => result.results.length === 1 && !!result.results[0].success); } saveAll(includeUntitled?: boolean, options?: ISaveOptions): Promise; @@ -794,7 +794,7 @@ export class TextFileService extends Disposable implements ITextFileService { } revert(resource: URI, options?: IRevertOptions): Promise { - return this.revertAll([resource], options).then(result => result.results.length === 1 && result.results[0].success); + return this.revertAll([resource], options).then(result => result.results.length === 1 && !!result.results[0].success); } revertAll(resources?: URI[], options?: IRevertOptions): Promise { -- GitLab