diff --git a/extensions/markdown-language-features/server/src/util/dispose.ts b/extensions/markdown-language-features/server/src/util/dispose.ts index eee79003ae9..2e9d8dc6a14 100644 --- a/extensions/markdown-language-features/server/src/util/dispose.ts +++ b/extensions/markdown-language-features/server/src/util/dispose.ts @@ -3,14 +3,6 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -export class MultiDisposeError extends Error { - constructor( - public readonly errors: any[] - ) { - super(`Encountered errors while disposing of store. Errors: [${errors.join(', ')}]`); - } -} - export function disposeAll(disposables: Iterable) { const errors: any[] = []; @@ -25,7 +17,7 @@ export function disposeAll(disposables: Iterable) { if (errors.length === 1) { throw errors[0]; } else if (errors.length > 1) { - throw new MultiDisposeError(errors); + throw new AggregateError(errors, 'Encountered errors while disposing of store'); } } @@ -60,21 +52,3 @@ export abstract class Disposable { } } -export class DisposableStore extends Disposable { - private readonly items = new Set(); - - public override dispose() { - super.dispose(); - disposeAll(this.items); - this.items.clear(); - } - - public add(item: T): T { - if (this.isDisposed) { - console.warn('Adding to disposed store. Item will be leaked'); - } - - this.items.add(item); - return item; - } -} diff --git a/extensions/markdown-language-features/src/util/dispose.ts b/extensions/markdown-language-features/src/util/dispose.ts index ca78e4a821b..483fab30638 100644 --- a/extensions/markdown-language-features/src/util/dispose.ts +++ b/extensions/markdown-language-features/src/util/dispose.ts @@ -5,14 +5,6 @@ import * as vscode from 'vscode'; -export class MultiDisposeError extends Error { - constructor( - public readonly errors: any[] - ) { - super(`Encountered errors while disposing of store. Errors: [${errors.join(', ')}]`); - } -} - export function disposeAll(disposables: Iterable) { const errors: any[] = []; @@ -27,7 +19,7 @@ export function disposeAll(disposables: Iterable) { if (errors.length === 1) { throw errors[0]; } else if (errors.length > 1) { - throw new MultiDisposeError(errors); + throw new AggregateError(errors, 'Encountered errors while disposing of store'); } } diff --git a/extensions/tsconfig.base.json b/extensions/tsconfig.base.json index 5651d572632..2e4a6009a02 100644 --- a/extensions/tsconfig.base.json +++ b/extensions/tsconfig.base.json @@ -20,7 +20,10 @@ "ES2020.Promise", "ES2020.String", "ES2020.Symbol.WellKnown", - "ES2020.Intl" + "ES2020.Intl", + "ES2021.Promise", + "ES2021.String", + "ES2021.WeakRef" ], "module": "commonjs", "strict": true,