fix(compiler-sfc): infer object type for empty type literal

This commit is contained in:
Evan You 2023-03-29 21:01:52 +08:00
parent a94072dd2c
commit 1a04fba10b
1 changed files with 8 additions and 8 deletions

View File

@ -2040,16 +2040,16 @@ function inferRuntimeType(
// TODO (nice to have) generate runtime property validation
const types = new Set<string>()
for (const m of node.members) {
switch (m.type) {
case 'TSCallSignatureDeclaration':
case 'TSConstructSignatureDeclaration':
types.add('Function')
break
default:
types.add('Object')
if (
m.type === 'TSCallSignatureDeclaration' ||
m.type === 'TSConstructSignatureDeclaration'
) {
types.add('Function')
} else {
types.add('Object')
}
}
return Array.from(types)
return types.size ? Array.from(types) : ['Object']
}
case 'TSFunctionType':
return ['Function']