From 7b594553ec1ec66fc5a64927a42edacf7f6924fa Mon Sep 17 00:00:00 2001 From: Patrick Roza Date: Thu, 5 Oct 2023 13:49:26 +0200 Subject: [PATCH] improve ts plus external type cache lookup --- src/compiler/parser.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 98940e413c..f8bc7cc287 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -1621,7 +1621,7 @@ namespace Parser { var parseErrorBeforeNextFinishedNode = false; /* eslint-enable no-var */ - const tsPlusExternalTypeCache = new Map>() + const tsPlusExternalTypeCache = new Map | undefined>() const tsPlusResolvedPathsCache = new Map() const tsPlusResolvedModuleCache = new Map() let currentTsPlusTypes: TsPlusTypeDefinition[] | null = null; @@ -1975,18 +1975,18 @@ namespace Parser { } for (const resolvedPath of resolvedPaths) { let json = tsPlusExternalTypeCache.get(resolvedPath); - if (!json) { + if (!tsPlusExternalTypeCache.has(resolvedPath)) { const text = sys.readFile(resolvedPath); if (text) { json = JSON.parse(text); - if (json) { tsPlusExternalTypeCache.set(resolvedPath, json) } } + tsPlusExternalTypeCache.set(resolvedPath, json) } if (!json) return; for (const moduleName in json) { const key = `${options.configFilePath ?? fileName}+${moduleName}`; let resolvedModule = tsPlusResolvedModuleCache.get(key); - if (!resolvedModule) { + if (!tsPlusResolvedModuleCache.has(resolvedModule)) { resolvedModule = resolveModuleName(moduleName, resolvedPath, options, sys).resolvedModule ?? resolveModuleName(moduleName, fileName, options, sys).resolvedModule; tsPlusResolvedModuleCache.set(key, resolvedModule); }