From 0184d2f90db969d981ae5b3650433377def5613b Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Mon, 8 Jun 2020 14:48:54 -0700 Subject: [PATCH] Extract EventName to enum --- .../src/protocol.const.ts | 16 +++++++++++ .../src/typescriptServiceClient.ts | 27 ++++++++++--------- 2 files changed, 30 insertions(+), 13 deletions(-) diff --git a/extensions/typescript-language-features/src/protocol.const.ts b/extensions/typescript-language-features/src/protocol.const.ts index 37fe42fd830..ff2bfece14f 100644 --- a/extensions/typescript-language-features/src/protocol.const.ts +++ b/extensions/typescript-language-features/src/protocol.const.ts @@ -72,3 +72,19 @@ export class DisplayPartKind { public static readonly punctuation = 'punctuation'; public static readonly text = 'text'; } + +export enum EventName { + syntaxDiag = 'syntaxDiag', + semanticDiag = 'semanticDiag', + suggestionDiag = 'suggestionDiag', + configFileDiag = 'configFileDiag', + telemetry = 'telemetry', + projectLanguageServiceState = 'projectLanguageServiceState', + projectsUpdatedInBackground = 'projectsUpdatedInBackground', + beginInstallTypes = 'beginInstallTypes', + endInstallTypes = 'endInstallTypes', + typesInstallerInitializationFailed = 'typesInstallerInitializationFailed', + surveyReady = 'surveyReady', + projectLoadingStart = 'projectLoadingStart', + projectLoadingFinish = 'projectLoadingFinish', +} diff --git a/extensions/typescript-language-features/src/typescriptServiceClient.ts b/extensions/typescript-language-features/src/typescriptServiceClient.ts index 3af5d2da353..43002c897ba 100644 --- a/extensions/typescript-language-features/src/typescriptServiceClient.ts +++ b/extensions/typescript-language-features/src/typescriptServiceClient.ts @@ -27,6 +27,7 @@ import Tracer from './utils/tracer'; import { inferredProjectCompilerOptions, ProjectType } from './utils/tsconfig'; import { TypeScriptVersionManager } from './utils/versionManager'; import { TypeScriptVersion, TypeScriptVersionProvider } from './utils/versionProvider'; +import { EventName } from './protocol.const'; const localize = nls.loadMessageBundle(); @@ -760,9 +761,9 @@ export default class TypeScriptServiceClient extends Disposable implements IType private dispatchEvent(event: Proto.Event) { switch (event.event) { - case 'syntaxDiag': - case 'semanticDiag': - case 'suggestionDiag': + case EventName.syntaxDiag: + case EventName.semanticDiag: + case EventName.suggestionDiag: // This event also roughly signals that projects have been loaded successfully (since the TS server is synchronous) this.loadingIndicator.reset(); @@ -776,17 +777,17 @@ export default class TypeScriptServiceClient extends Disposable implements IType } break; - case 'configFileDiag': + case EventName.configFileDiag: this._onConfigDiagnosticsReceived.fire(event as Proto.ConfigFileDiagnosticEvent); break; - case 'telemetry': + case EventName.telemetry: { const body = (event as Proto.TelemetryEvent).body; this.dispatchTelemetryEvent(body); break; } - case 'projectLanguageServiceState': + case EventName.projectLanguageServiceState: { const body = (event as Proto.ProjectLanguageServiceStateEvent).body!; if (this.serverState.type === ServerState.Type.Running) { @@ -795,33 +796,33 @@ export default class TypeScriptServiceClient extends Disposable implements IType this._onProjectLanguageServiceStateChanged.fire(body); break; } - case 'projectsUpdatedInBackground': + case EventName.projectsUpdatedInBackground: const body = (event as Proto.ProjectsUpdatedInBackgroundEvent).body; const resources = body.openFiles.map(file => this.toResource(file)); this.bufferSyncSupport.getErr(resources); break; - case 'beginInstallTypes': + case EventName.beginInstallTypes: this._onDidBeginInstallTypings.fire((event as Proto.BeginInstallTypesEvent).body); break; - case 'endInstallTypes': + case EventName.endInstallTypes: this._onDidEndInstallTypings.fire((event as Proto.EndInstallTypesEvent).body); break; - case 'typesInstallerInitializationFailed': + case EventName.typesInstallerInitializationFailed: this._onTypesInstallerInitializationFailed.fire((event as Proto.TypesInstallerInitializationFailedEvent).body); break; - case 'surveyReady': + case EventName.surveyReady: this._onSurveyReady.fire((event as Proto.SurveyReadyEvent).body); break; - case 'projectLoadingStart': + case EventName.projectLoadingStart: this.loadingIndicator.startedLoadingProject((event as Proto.ProjectLoadingStartEvent).body.projectName); break; - case 'projectLoadingFinish': + case EventName.projectLoadingFinish: this.loadingIndicator.finishedLoadingProject((event as Proto.ProjectLoadingFinishEvent).body.projectName); break; }