diff --git a/src/server/project.ts b/src/server/project.ts index 27f0744537a..99473b44162 100644 --- a/src/server/project.ts +++ b/src/server/project.ts @@ -167,6 +167,8 @@ namespace ts.server { private typingFiles: SortedReadonlyArray; + private readonly cancellationToken: ThrottledCancellationToken; + public isNonTsProject() { this.updateGraph(); return allFilesAreJsOrDts(this); @@ -206,6 +208,7 @@ namespace ts.server { /*@internal*/public directoryStructureHost: DirectoryStructureHost, rootDirectoryForResolution: string | undefined) { + this.cancellationToken = new ThrottledCancellationToken(this.projectService.cancellationToken, this.projectService.throttleWaitMilliseconds); if (!this.compilerOptions) { this.compilerOptions = getDefaultCompilerOptions(); this.compilerOptions.allowNonTsExtensions = true; @@ -294,7 +297,7 @@ namespace ts.server { } getCancellationToken() { - return this.projectService.cancellationToken; + return this.cancellationToken; } getCurrentDirectory(): string { diff --git a/tests/baselines/reference/api/tsserverlibrary.d.ts b/tests/baselines/reference/api/tsserverlibrary.d.ts index 7adc7539ca6..1feb6b7d073 100644 --- a/tests/baselines/reference/api/tsserverlibrary.d.ts +++ b/tests/baselines/reference/api/tsserverlibrary.d.ts @@ -7091,6 +7091,7 @@ declare namespace ts.server { */ private projectStateVersion; private typingFiles; + private readonly cancellationToken; isNonTsProject(): boolean; isJsOnlyProject(): boolean; getCachedUnresolvedImportsPerFile_TestOnly(): UnresolvedImportsMap; @@ -7103,7 +7104,7 @@ declare namespace ts.server { getScriptKind(fileName: string): ScriptKind; getScriptVersion(filename: string): string; getScriptSnapshot(filename: string): IScriptSnapshot; - getCancellationToken(): HostCancellationToken; + getCancellationToken(): ThrottledCancellationToken; getCurrentDirectory(): string; getDefaultLibFileName(): string; useCaseSensitiveFileNames(): boolean;