chore: avoid hard error when inferring types

This commit is contained in:
Evan You 2023-04-20 16:57:36 +08:00
parent 4496456d7d
commit 5c6989557d
1 changed files with 13 additions and 14 deletions

View File

@ -1235,16 +1235,14 @@ export function inferRuntimeType(
try { try {
const types = resolveIndexType(ctx, node, scope) const types = resolveIndexType(ctx, node, scope)
return flattenTypes(ctx, types, scope) return flattenTypes(ctx, types, scope)
} catch (e) { } catch (e) {}
// avoid hard error, fallback to unknown
return [UNKNOWN_TYPE]
}
} }
case 'ClassDeclaration': case 'ClassDeclaration':
return ['Object'] return ['Object']
case 'TSImportType': { case 'TSImportType': {
try {
const sourceScope = importSourceToScope( const sourceScope = importSourceToScope(
ctx, ctx,
node.argument, node.argument,
@ -1255,6 +1253,7 @@ export function inferRuntimeType(
if (resolved) { if (resolved) {
return inferRuntimeType(ctx, resolved, resolved._ownerScope) return inferRuntimeType(ctx, resolved, resolved._ownerScope)
} }
} catch (e) {}
} }
default: default: