diff --git a/src/vs/base/browser/htmlContentRenderer.ts b/src/vs/base/browser/htmlContentRenderer.ts
index d6f4a95e287..fd81c880241 100644
--- a/src/vs/base/browser/htmlContentRenderer.ts
+++ b/src/vs/base/browser/htmlContentRenderer.ts
@@ -24,7 +24,7 @@ export interface RenderOptions {
className?: string;
inline?: boolean;
actionHandler?: IContentActionHandler;
- codeBlockRenderer?: (modeId: string, value: string) => Thenable;
+ codeBlockRenderer?: (modeId: string, value: string) => Promise;
codeBlockRenderCallback?: () => void;
}
diff --git a/src/vs/base/browser/ui/actionbar/actionbar.ts b/src/vs/base/browser/ui/actionbar/actionbar.ts
index 425533c5664..c195b03f812 100644
--- a/src/vs/base/browser/ui/actionbar/actionbar.ts
+++ b/src/vs/base/browser/ui/actionbar/actionbar.ts
@@ -792,7 +792,7 @@ export class ActionBar extends Disposable implements IActionRunner {
this._onDidCancel.fire();
}
- run(action: IAction, context?: any): Thenable {
+ run(action: IAction, context?: any): Promise {
return this._actionRunner.run(action, context);
}
diff --git a/src/vs/base/browser/ui/tree/asyncDataTree.ts b/src/vs/base/browser/ui/tree/asyncDataTree.ts
index d2487b4229a..f176c74a8a5 100644
--- a/src/vs/base/browser/ui/tree/asyncDataTree.ts
+++ b/src/vs/base/browser/ui/tree/asyncDataTree.ts
@@ -16,7 +16,7 @@ import { Iterator } from 'vs/base/common/iterator';
export interface IDataSource> {
hasChildren(element: T | null): boolean;
- getChildren(element: T | null): Thenable;
+ getChildren(element: T | null): Promise;
}
enum AsyncDataTreeNodeState {
@@ -177,7 +177,7 @@ export class AsyncDataTree, TFilterData = void> imple
private readonly tree: ObjectTree, TFilterData>;
private readonly root: IAsyncDataTreeNode;
private readonly nodes = new Map>();
- private readonly refreshPromises = new Map, Thenable>();
+ private readonly refreshPromises = new Map, Promise>();
private readonly identityProvider?: IIdentityProvider;
private readonly _onDidChangeNodeState = new Emitter>();
@@ -278,7 +278,7 @@ export class AsyncDataTree, TFilterData = void> imple
// Data Tree
- refresh(element: T | null, recursive = true): Thenable {
+ refresh(element: T | null, recursive = true): Promise {
return this.refreshNode(this.getDataNode(element), recursive, ChildrenResolutionReason.Refresh);
}
@@ -436,7 +436,7 @@ export class AsyncDataTree, TFilterData = void> imple
}
}
- private _refreshNode(node: IAsyncDataTreeNode, recursive: boolean, reason: ChildrenResolutionReason): Thenable {
+ private _refreshNode(node: IAsyncDataTreeNode, recursive: boolean, reason: ChildrenResolutionReason): Promise {
let result = this.refreshPromises.get(node);
if (result) {
@@ -448,7 +448,7 @@ export class AsyncDataTree, TFilterData = void> imple
return always(result, () => this.refreshPromises.delete(node));
}
- private doRefresh(node: IAsyncDataTreeNode, recursive: boolean, reason: ChildrenResolutionReason): Thenable {
+ private doRefresh(node: IAsyncDataTreeNode, recursive: boolean, reason: ChildrenResolutionReason): Promise {
const hasChildren = !!this.dataSource.hasChildren(node.element);
if (!hasChildren) {
diff --git a/src/vs/base/common/actions.ts b/src/vs/base/common/actions.ts
index 07db01c6922..2e4fbf152d0 100644
--- a/src/vs/base/common/actions.ts
+++ b/src/vs/base/common/actions.ts
@@ -20,11 +20,11 @@ export interface IAction extends IDisposable {
enabled: boolean;
checked: boolean;
radio: boolean;
- run(event?: any): Thenable;
+ run(event?: any): Promise;
}
export interface IActionRunner extends IDisposable {
- run(action: IAction, context?: any): Thenable;
+ run(action: IAction, context?: any): Promise;
onDidRun: Event;
onDidBeforeRun: Event;
}
@@ -60,9 +60,9 @@ export class Action implements IAction {
protected _enabled: boolean;
protected _checked: boolean;
protected _radio: boolean;
- protected _actionCallback?: (event?: any) => Thenable;
+ protected _actionCallback?: (event?: any) => Promise;
- constructor(id: string, label: string = '', cssClass: string = '', enabled: boolean = true, actionCallback?: (event?: any) => Thenable) {
+ constructor(id: string, label: string = '', cssClass: string = '', enabled: boolean = true, actionCallback?: (event?: any) => Promise) {
this._id = id;
this._label = label;
this._cssClass = cssClass;
@@ -164,7 +164,7 @@ export class Action implements IAction {
}
}
- run(event?: any, _data?: ITelemetryData): Thenable {
+ run(event?: any, _data?: ITelemetryData): Promise {
if (this._actionCallback) {
return this._actionCallback(event);
}
@@ -191,7 +191,7 @@ export class ActionRunner extends Disposable implements IActionRunner {
private _onDidRun = this._register(new Emitter());
readonly onDidRun: Event = this._onDidRun.event;
- run(action: IAction, context?: any): Thenable {
+ run(action: IAction, context?: any): Promise {
if (!action.enabled) {
return Promise.resolve(null);
}
@@ -205,7 +205,7 @@ export class ActionRunner extends Disposable implements IActionRunner {
});
}
- protected runAction(action: IAction, context?: any): Thenable {
+ protected runAction(action: IAction, context?: any): Promise {
const res = context ? action.run(context) : action.run();
return Promise.resolve(res);
}
diff --git a/src/vs/base/common/async.ts b/src/vs/base/common/async.ts
index e55ddf7e9df..7deeeae3b06 100644
--- a/src/vs/base/common/async.ts
+++ b/src/vs/base/common/async.ts
@@ -9,15 +9,15 @@ import { Emitter, Event } from 'vs/base/common/event';
import { Disposable, IDisposable } from 'vs/base/common/lifecycle';
import { URI } from 'vs/base/common/uri';
-export function isThenable(obj: any): obj is Thenable {
- return obj && typeof (>obj).then === 'function';
+export function isThenable(obj: any): obj is Promise {
+ return obj && typeof (>obj).then === 'function';
}
export interface CancelablePromise extends Promise {
cancel(): void;
}
-export function createCancelablePromise(callback: (token: CancellationToken) => Thenable): CancelablePromise {
+export function createCancelablePromise(callback: (token: CancellationToken) => Promise): CancelablePromise {
const source = new CancellationTokenSource();
const thenable = callback(source.token);
@@ -38,10 +38,10 @@ export function createCancelablePromise(callback: (token: CancellationToken)
cancel() {
source.cancel();
}
- then(resolve?: ((value: T) => TResult1 | Thenable) | undefined | null, reject?: ((reason: any) => TResult2 | Thenable) | undefined | null): Promise {
+ then(resolve?: ((value: T) => TResult1 | Promise) | undefined | null, reject?: ((reason: any) => TResult2 | Promise) | undefined | null): Promise {
return promise.then(resolve, reject);
}
- catch(reject?: ((reason: any) => TResult | Thenable) | undefined | null): Promise {
+ catch(reject?: ((reason: any) => TResult | Promise) | undefined | null): Promise {
return this.then(undefined, reject);
}
};
@@ -90,9 +90,9 @@ export interface ITask {
*/
export class Throttler {
- private activePromise: Thenable | null;
- private queuedPromise: Thenable | null;
- private queuedPromiseFactory: ITask> | null;
+ private activePromise: Promise | null;
+ private queuedPromise: Promise | null;
+ private queuedPromiseFactory: ITask> | null;
constructor() {
this.activePromise = null;
@@ -100,7 +100,7 @@ export class Throttler {
this.queuedPromiseFactory = null;
}
- queue(promiseFactory: ITask>): Thenable {
+ queue(promiseFactory: ITask>): Promise {
if (this.activePromise) {
this.queuedPromiseFactory = promiseFactory;
@@ -142,7 +142,7 @@ export class Sequencer {
private current: Promise = Promise.resolve(null);
- queue(promiseTask: ITask>): Thenable {
+ queue(promiseTask: ITask>): Promise {
return this.current = this.current.then(() => promiseTask());
}
}
@@ -173,10 +173,10 @@ export class Sequencer {
export class Delayer implements IDisposable {
private timeout: any;
- private completionPromise: Thenable | null;
- private doResolve: ((value?: any | Thenable) => void) | null;
+ private completionPromise: Promise | null;
+ private doResolve: ((value?: any | Promise) => void) | null;
private doReject: (err: any) => void;
- private task: ITask> | null;
+ private task: ITask> | null;
constructor(public defaultDelay: number) {
this.timeout = null;
@@ -185,7 +185,7 @@ export class Delayer implements IDisposable {
this.task = null;
}
- trigger(task: ITask>, delay: number = this.defaultDelay): Thenable {
+ trigger(task: ITask>, delay: number = this.defaultDelay): Promise {
this.task = task;
this.cancelTimeout();
@@ -247,7 +247,7 @@ export class Delayer implements IDisposable {
*/
export class ThrottledDelayer {
- private delayer: Delayer>;
+ private delayer: Delayer>;
private throttler: Throttler;
constructor(defaultDelay: number) {
@@ -255,8 +255,8 @@ export class ThrottledDelayer {
this.throttler = new Throttler();
}
- trigger(promiseFactory: ITask>, delay?: number): Thenable {
- return this.delayer.trigger(() => this.throttler.queue(promiseFactory), delay) as any as Thenable;
+ trigger(promiseFactory: ITask>, delay?: number): Promise {
+ return this.delayer.trigger(() => this.throttler.queue(promiseFactory), delay) as any as Promise;
}
isTriggered(): boolean {
@@ -303,8 +303,8 @@ export class Barrier {
}
export function timeout(millis: number): CancelablePromise;
-export function timeout(millis: number, token: CancellationToken): Thenable;
-export function timeout(millis: number, token?: CancellationToken): CancelablePromise | Thenable {
+export function timeout(millis: number, token: CancellationToken): Promise;
+export function timeout(millis: number, token?: CancellationToken): CancelablePromise | Promise {
if (!token) {
return createCancelablePromise(token => timeout(millis, token));
}
@@ -334,7 +334,7 @@ export function disposableTimeout(handler: Function, timeout = 0): IDisposable {
* @param promise a promise
* @param callback a function that will be call in the success and error case.
*/
-export function always(promise: Thenable, callback: () => void): Promise {
+export function always(promise: Promise, callback: () => void): Promise {
function safeCallback() {
try {
callback();
@@ -346,7 +346,7 @@ export function always(promise: Thenable, callback: () => void): Promise(promise: Thenable): Thenable {
+export function ignoreErrors(promise: Promise): Promise {
return promise.then(undefined, _ => undefined);
}
@@ -355,16 +355,16 @@ export function ignoreErrors(promise: Thenable): Thenable {
* promise will complete to an array of results from each promise.
*/
-export function sequence(promiseFactories: ITask>[]): Promise {
+export function sequence(promiseFactories: ITask>[]): Promise {
const results: T[] = [];
let index = 0;
const len = promiseFactories.length;
- function next(): Thenable | null {
+ function next(): Promise | null {
return index < len ? promiseFactories[index++]() : null;
}
- function thenHandler(result: any): Thenable {
+ function thenHandler(result: any): Promise {
if (result !== undefined && result !== null) {
results.push(result);
}
@@ -380,7 +380,7 @@ export function sequence(promiseFactories: ITask>[]): Promise(promiseFactories: ITask>[], shouldStop: (t: T) => boolean = t => !!t, defaultValue: T | null = null): Promise {
+export function first(promiseFactories: ITask>[], shouldStop: (t: T) => boolean = t => !!t, defaultValue: T | null = null): Promise {
let index = 0;
const len = promiseFactories.length;
@@ -405,8 +405,8 @@ export function first(promiseFactories: ITask>[], shouldStop: (t:
}
interface ILimitedTaskFactory {
- factory: ITask>;
- c: (value?: T | Thenable) => void;
+ factory: ITask>;
+ c: (value?: T | Promise) => void;
e: (error?: any) => void;
}
@@ -438,7 +438,7 @@ export class Limiter {
// return this.runningPromises + this.outstandingPromises.length;
}
- queue(factory: ITask>): Thenable {
+ queue(factory: ITask>): Promise {
this._size++;
return new Promise((c, e) => {
@@ -685,8 +685,8 @@ export function nfcall(fn: Function, ...args: any[]): any {
return new Promise((c, e) => fn(...args, (err: any, result: any) => err ? e(err) : c(result)));
}
-export function ninvoke(thisArg: any, fn: Function, ...args: any[]): Thenable;
-export function ninvoke(thisArg: any, fn: Function, ...args: any[]): Thenable;
+export function ninvoke(thisArg: any, fn: Function, ...args: any[]): Promise;
+export function ninvoke(thisArg: any, fn: Function, ...args: any[]): Promise;
export function ninvoke(thisArg: any, fn: Function, ...args: any[]): any {
return new Promise((resolve, reject) => fn.call(thisArg, ...args, (err: any, result: any) => err ? reject(err) : resolve(result)));
}
diff --git a/src/vs/base/common/event.ts b/src/vs/base/common/event.ts
index 7e7838c117c..4fde520b56d 100644
--- a/src/vs/base/common/event.ts
+++ b/src/vs/base/common/event.ts
@@ -332,7 +332,7 @@ export namespace Event {
return result.event;
}
- export function fromPromise(promise: Thenable): Event {
+ export function fromPromise(promise: Promise): Event {
const emitter = new Emitter();
let shouldEmit = false;
@@ -350,7 +350,7 @@ export namespace Event {
return emitter.event;
}
- export function toPromise(event: Event): Thenable {
+ export function toPromise(event: Event): Promise {
return new Promise(c => once(event)(c));
}
}
@@ -585,14 +585,14 @@ export class Emitter {
}
export interface IWaitUntil {
- waitUntil(thenable: Thenable): void;
+ waitUntil(thenable: Promise): void;
}
export class AsyncEmitter extends Emitter {
- private _asyncDeliveryQueue: [Listener, T, Thenable[]][];
+ private _asyncDeliveryQueue: [Listener, T, Promise[]][];
- async fireAsync(eventFn: (thenables: Thenable[], listener: Function) => T): Promise {
+ async fireAsync(eventFn: (thenables: Promise[], listener: Function) => T): Promise {
if (!this._listeners) {
return;
}
@@ -605,7 +605,7 @@ export class AsyncEmitter extends Emitter {
}
for (let iter = this._listeners.iterator(), e = iter.next(); !e.done; e = iter.next()) {
- let thenables: Thenable[] = [];
+ let thenables: Promise[] = [];
this._asyncDeliveryQueue.push([e.value, eventFn(thenables, typeof e.value === 'function' ? e.value : e.value[0]), thenables]);
}
diff --git a/src/vs/base/common/paging.ts b/src/vs/base/common/paging.ts
index a6518831a93..cc808e645b7 100644
--- a/src/vs/base/common/paging.ts
+++ b/src/vs/base/common/paging.ts
@@ -15,12 +15,12 @@ export interface IPager {
firstPage: T[];
total: number;
pageSize: number;
- getPage(pageIndex: number, cancellationToken: CancellationToken): Thenable;
+ getPage(pageIndex: number, cancellationToken: CancellationToken): Promise;
}
interface IPage {
isResolved: boolean;
- promise: Thenable | null;
+ promise: Promise | null;
cts: CancellationTokenSource | null;
promiseIndexes: Set;
elements: T[];
@@ -43,7 +43,7 @@ export interface IPagedModel {
length: number;
isResolved(index: number): boolean;
get(index: number): T;
- resolve(index: number, cancellationToken: CancellationToken): Thenable;
+ resolve(index: number, cancellationToken: CancellationToken): Promise;
}
export function singlePagePager(elements: T[]): IPager {
@@ -51,7 +51,7 @@ export function singlePagePager(elements: T[]): IPager {
firstPage: elements,
total: elements.length,
pageSize: elements.length,
- getPage: (pageIndex: number, cancellationToken: CancellationToken): Thenable => {
+ getPage: (pageIndex: number, cancellationToken: CancellationToken): Promise => {
return Promise.resolve(elements);
}
};
@@ -90,7 +90,7 @@ export class PagedModel implements IPagedModel {
return page.elements[indexInPage];
}
- resolve(index: number, cancellationToken: CancellationToken): Thenable {
+ resolve(index: number, cancellationToken: CancellationToken): Promise {
if (cancellationToken.isCancellationRequested) {
return Promise.reject(canceled());
}
@@ -151,7 +151,7 @@ export class DelayedPagedModel implements IPagedModel {
return this.model.get(index);
}
- resolve(index: number, cancellationToken: CancellationToken): Thenable {
+ resolve(index: number, cancellationToken: CancellationToken): Promise {
return new Promise((c, e) => {
if (cancellationToken.isCancellationRequested) {
return e(canceled());
@@ -196,7 +196,7 @@ export function mergePagers(one: IPager, other: IPager): IPager {
firstPage: [...one.firstPage, ...other.firstPage],
total: one.total + other.total,
pageSize: one.pageSize + other.pageSize,
- getPage(pageIndex: number, token): Thenable {
+ getPage(pageIndex: number, token): Promise {
return Promise.all([one.getPage(pageIndex, token), other.getPage(pageIndex, token)])
.then(([onePage, otherPage]) => [...onePage, ...otherPage]);
}
diff --git a/src/vs/base/node/encoding.ts b/src/vs/base/node/encoding.ts
index 516afbc93cc..0f975015eb6 100644
--- a/src/vs/base/node/encoding.ts
+++ b/src/vs/base/node/encoding.ts
@@ -36,7 +36,7 @@ export function toDecodeStream(readable: Readable, options: IDecodeStreamOptions
readable.pipe(new class extends Writable {
private _decodeStream: NodeJS.ReadWriteStream;
- private _decodeStreamConstruction: Thenable;
+ private _decodeStreamConstruction: Promise;
private _buffer: Buffer[] = [];
private _bytesBuffered = 0;
diff --git a/src/vs/base/node/ports.ts b/src/vs/base/node/ports.ts
index 4a4316a8bf1..a077f020fa9 100644
--- a/src/vs/base/node/ports.ts
+++ b/src/vs/base/node/ports.ts
@@ -18,7 +18,7 @@ export function randomPort(): number {
* Given a start point and a max number of retries, will find a port that
* is openable. Will return 0 in case no free port can be found.
*/
-export function findFreePort(startPort: number, giveUpAfter: number, timeout: number): Thenable {
+export function findFreePort(startPort: number, giveUpAfter: number, timeout: number): Promise {
let done = false;
return new Promise(resolve => {
diff --git a/src/vs/base/node/processes.ts b/src/vs/base/node/processes.ts
index 8ea9f18803c..dbe416c83a4 100644
--- a/src/vs/base/node/processes.ts
+++ b/src/vs/base/node/processes.ts
@@ -17,7 +17,7 @@ import { CommandOptions, ForkOptions, SuccessData, Source, TerminateResponse, Te
import { getPathFromAmdModule } from 'vs/base/common/amd';
export { CommandOptions, ForkOptions, SuccessData, Source, TerminateResponse, TerminateResponseCode };
-export type ValueCallback = (value?: T | Thenable) => void;
+export type ValueCallback = (value?: T | Promise) => void;
export type ErrorCallback = (error?: any) => void;
export type ProgressCallback = (progress: T) => void;
diff --git a/src/vs/base/node/storage.ts b/src/vs/base/node/storage.ts
index 1ba69a7ac4a..29f240df167 100644
--- a/src/vs/base/node/storage.ts
+++ b/src/vs/base/node/storage.ts
@@ -39,12 +39,12 @@ export interface IStorageDatabase {
readonly onDidChangeItemsExternal: Event;
- getItems(): Thenable