From 9496bb79c5fd464797f7a6b215899648f2e69869 Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Mon, 1 Oct 2018 12:11:57 +0200 Subject: [PATCH] debt - replace asThenable with Promise.resolve --- src/vs/base/common/async.ts | 8 -------- src/vs/editor/contrib/folding/syntaxRangeProvider.ts | 5 ++--- src/vs/editor/standalone/browser/standaloneLanguages.ts | 7 +++---- src/vs/workbench/api/node/extHostTextEditors.ts | 3 +-- 4 files changed, 6 insertions(+), 17 deletions(-) diff --git a/src/vs/base/common/async.ts b/src/vs/base/common/async.ts index ce52742a0c7..d5c16a8deaa 100644 --- a/src/vs/base/common/async.ts +++ b/src/vs/base/common/async.ts @@ -16,14 +16,6 @@ export function isThenable(obj: any): obj is Thenable { return obj && typeof (>obj).then === 'function'; } -export function toThenable(arg: T | Thenable): Thenable { - if (isThenable(arg)) { - return arg; - } else { - return TPromise.as(arg); - } -} - export interface CancelablePromise extends Promise { cancel(): void; } diff --git a/src/vs/editor/contrib/folding/syntaxRangeProvider.ts b/src/vs/editor/contrib/folding/syntaxRangeProvider.ts index e52d226638a..f07e8ba41a5 100644 --- a/src/vs/editor/contrib/folding/syntaxRangeProvider.ts +++ b/src/vs/editor/contrib/folding/syntaxRangeProvider.ts @@ -7,7 +7,6 @@ import { FoldingRangeProvider, FoldingRange, FoldingContext } from 'vs/editor/common/modes'; import { onUnexpectedExternalError } from 'vs/base/common/errors'; -import { toThenable } from 'vs/base/common/async'; import { ITextModel } from 'vs/editor/common/model'; import { RangeProvider } from './folding'; import { TPromise } from 'vs/base/common/winjs.base'; @@ -50,7 +49,7 @@ export class SyntaxRangeProvider implements RangeProvider { function collectSyntaxRanges(providers: FoldingRangeProvider[], model: ITextModel, cancellationToken: CancellationToken): Thenable { let rangeData: IFoldingRangeData[] = null; let promises = providers.map((provider, i) => { - return toThenable(provider.provideFoldingRanges(model, foldingContext, cancellationToken)).then(ranges => { + return Promise.resolve(provider.provideFoldingRanges(model, foldingContext, cancellationToken)).then(ranges => { if (cancellationToken.isCancellationRequested) { return; } @@ -187,4 +186,4 @@ export function sanitizeRanges(rangeData: IFoldingRangeData[], limit: number): F } } return collector.toIndentRanges(); -} \ No newline at end of file +} diff --git a/src/vs/editor/standalone/browser/standaloneLanguages.ts b/src/vs/editor/standalone/browser/standaloneLanguages.ts index 1cac7c56afe..facf838a396 100644 --- a/src/vs/editor/standalone/browser/standaloneLanguages.ts +++ b/src/vs/editor/standalone/browser/standaloneLanguages.ts @@ -16,7 +16,6 @@ import { LanguageConfiguration, IndentAction } from 'vs/editor/common/modes/lang import { Position } from 'vs/editor/common/core/position'; import { Range } from 'vs/editor/common/core/range'; import { CancellationToken } from 'vs/base/common/cancellation'; -import { toThenable } from 'vs/base/common/async'; import { compile } from 'vs/editor/standalone/common/monarch/monarchCompile'; import { createTokenizationSupport } from 'vs/editor/standalone/common/monarch/monarchLexer'; import { LanguageConfigurationRegistry } from 'vs/editor/common/modes/languageConfigurationRegistry'; @@ -352,7 +351,7 @@ export function registerHoverProvider(languageId: string, provider: modes.HoverP provideHover: (model: model.ITextModel, position: Position, token: CancellationToken): Thenable => { let word = model.getWordAtPosition(position); - return toThenable(provider.provideHover(model, position, token)).then((value) => { + return Promise.resolve(provider.provideHover(model, position, token)).then((value) => { if (!value) { return undefined; } @@ -779,7 +778,7 @@ class SuggestAdapter { provideCompletionItems(model: model.ITextModel, position: Position, context: modes.SuggestContext, token: CancellationToken): Thenable { const result = this._provider.provideCompletionItems(model, position, token, context); - return toThenable(result).then(value => { + return Promise.resolve(result).then(value => { const result: modes.ISuggestResult = { suggestions: [] }; @@ -830,7 +829,7 @@ class SuggestAdapter { return TPromise.as(suggestion); } - return toThenable(this._provider.resolveCompletionItem(item, token)).then(resolvedItem => { + return Promise.resolve(this._provider.resolveCompletionItem(item, token)).then(resolvedItem => { let wordStartPos = position; const word = model.getWordUntilPosition(position); if (word) { diff --git a/src/vs/workbench/api/node/extHostTextEditors.ts b/src/vs/workbench/api/node/extHostTextEditors.ts index d1c332244af..419edeaf480 100644 --- a/src/vs/workbench/api/node/extHostTextEditors.ts +++ b/src/vs/workbench/api/node/extHostTextEditors.ts @@ -5,7 +5,6 @@ 'use strict'; import { Event, Emitter } from 'vs/base/common/event'; -import { toThenable } from 'vs/base/common/async'; import { TextEditorSelectionChangeKind } from './extHostTypes'; import * as TypeConverters from './extHostTypeConverters'; import { TextEditorDecorationType, ExtHostTextEditor } from './extHostTextEditor'; @@ -149,6 +148,6 @@ export class ExtHostEditors implements ExtHostEditorsShape { } getDiffInformation(id: string): Thenable { - return toThenable(this._proxy.$getDiffInformation(id)); + return Promise.resolve(this._proxy.$getDiffInformation(id)); } } -- GitLab