mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-09 01:32:34 -05:00
This reverts commit d15a3fcc98.
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
import { CancellationToken, CancellationTokenSource } from 'vs/base/common/cancellation';
|
||||
import * as errors from 'vs/base/common/errors';
|
||||
import { Emitter, Event } from 'vs/base/common/event';
|
||||
import { IDisposable, toDisposable } from 'vs/base/common/lifecycle';
|
||||
import { Disposable, IDisposable, toDisposable } from 'vs/base/common/lifecycle';
|
||||
import { URI } from 'vs/base/common/uri';
|
||||
|
||||
export function isThenable<T>(obj: any): obj is Promise<T> {
|
||||
@@ -415,11 +415,11 @@ export class Limiter<T> {
|
||||
this._onFinished = new Emitter<void>();
|
||||
}
|
||||
|
||||
get onFinished(): Event<void> {
|
||||
public get onFinished(): Event<void> {
|
||||
return this._onFinished.event;
|
||||
}
|
||||
|
||||
get size(): number {
|
||||
public get size(): number {
|
||||
return this._size;
|
||||
// return this.runningPromises + this.outstandingPromises.length;
|
||||
}
|
||||
@@ -455,7 +455,7 @@ export class Limiter<T> {
|
||||
}
|
||||
}
|
||||
|
||||
dispose(): void {
|
||||
public dispose(): void {
|
||||
this._onFinished.dispose();
|
||||
}
|
||||
}
|
||||
@@ -475,30 +475,35 @@ export class Queue<T> extends Limiter<T> {
|
||||
* by disposing them once the queue is empty.
|
||||
*/
|
||||
export class ResourceQueue {
|
||||
private queues: Map<string, Queue<void>> = new Map();
|
||||
private queues: { [path: string]: Queue<void> };
|
||||
|
||||
queueFor(resource: URI): Queue<void> {
|
||||
constructor() {
|
||||
this.queues = Object.create(null);
|
||||
}
|
||||
|
||||
public queueFor(resource: URI): Queue<void> {
|
||||
const key = resource.toString();
|
||||
if (!this.queues.has(key)) {
|
||||
if (!this.queues[key]) {
|
||||
const queue = new Queue<void>();
|
||||
queue.onFinished(() => {
|
||||
queue.dispose();
|
||||
this.queues.delete(key);
|
||||
delete this.queues[key];
|
||||
});
|
||||
|
||||
this.queues.set(key, queue);
|
||||
this.queues[key] = queue;
|
||||
}
|
||||
|
||||
return this.queues.get(key)!;
|
||||
return this.queues[key];
|
||||
}
|
||||
}
|
||||
|
||||
export class TimeoutTimer implements IDisposable {
|
||||
export class TimeoutTimer extends Disposable {
|
||||
private _token: any;
|
||||
|
||||
constructor();
|
||||
constructor(runner: () => void, timeout: number);
|
||||
constructor(runner?: () => void, timeout?: number) {
|
||||
super();
|
||||
this._token = -1;
|
||||
|
||||
if (typeof runner === 'function' && typeof timeout === 'number') {
|
||||
@@ -508,6 +513,7 @@ export class TimeoutTimer implements IDisposable {
|
||||
|
||||
dispose(): void {
|
||||
this.cancel();
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
cancel(): void {
|
||||
@@ -537,16 +543,18 @@ export class TimeoutTimer implements IDisposable {
|
||||
}
|
||||
}
|
||||
|
||||
export class IntervalTimer implements IDisposable {
|
||||
export class IntervalTimer extends Disposable {
|
||||
|
||||
private _token: any;
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
this._token = -1;
|
||||
}
|
||||
|
||||
dispose(): void {
|
||||
this.cancel();
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
cancel(): void {
|
||||
|
||||
Reference in New Issue
Block a user