Browse Source

chore: avoid hard error when inferring types

pull/8103/head
Evan You 2 years ago
parent
commit
5c6989557d
  1. 27
      packages/compiler-sfc/src/script/resolveType.ts

27
packages/compiler-sfc/src/script/resolveType.ts

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

Loading…
Cancel
Save