diff --git a/extensions/typescript-language-features/src/features/bufferSyncSupport.ts b/extensions/typescript-language-features/src/features/bufferSyncSupport.ts index d8ade29a919..daf6a81111e 100644 --- a/extensions/typescript-language-features/src/features/bufferSyncSupport.ts +++ b/extensions/typescript-language-features/src/features/bufferSyncSupport.ts @@ -124,6 +124,14 @@ class PendingDiagnostics extends ResourceMap { } } +class GetErrRequest { + public constructor( + public readonly request: Promise, + public readonly files: string[], + public readonly token: CancellationTokenSource, + ) { } +} + export default class BufferSyncSupport { private readonly client: ITypeScriptServiceClient; @@ -135,7 +143,7 @@ export default class BufferSyncSupport { private readonly syncedBuffers: SyncedBufferMap; private readonly pendingDiagnostics: PendingDiagnostics; private readonly diagnosticDelayer: Delayer; - private pendingGetErr: { request: Promise, files: string[], token: CancellationTokenSource } | undefined; + private pendingGetErr: GetErrRequest | undefined; private listening: boolean = false; constructor( @@ -315,8 +323,8 @@ export default class BufferSyncSupport { }; const token = new CancellationTokenSource(); - const getErr = this.pendingGetErr = { - request: this.client.executeAsync('geterr', args, token.token) + const getErr = this.pendingGetErr = new GetErrRequest( + this.client.executeAsync('geterr', args, token.token) .then(undefined, () => { }) .then(() => { if (this.pendingGetErr === getErr) { @@ -324,8 +332,7 @@ export default class BufferSyncSupport { } }), files, - token - }; + token); } this.pendingDiagnostics.clear(); }