// 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']