Merge pull request #42904 from a-tarasyuk/fix/42339

fix(42339): "import" missing in transpiled code when variable typed as `unknown`
This commit is contained in:
Armando Aguirre
2021-02-24 18:25:53 -08:00
committed by GitHub
6 changed files with 176 additions and 8 deletions

View File

@@ -25475,15 +25475,20 @@ namespace ts {
hasComputedNumberProperty = false;
}
const type = getReducedType(checkExpression(memberDecl.expression));
if (!isValidSpreadType(type)) {
if (isValidSpreadType(type)) {
if (allPropertiesTable) {
checkSpreadPropOverrides(type, allPropertiesTable, memberDecl);
}
offset = propertiesArray.length;
if (spread === errorType) {
continue;
}
spread = getSpreadType(spread, type, node.symbol, objectFlags, inConstContext);
}
else {
error(memberDecl, Diagnostics.Spread_types_may_only_be_created_from_object_types);
return errorType;
spread = errorType;
}
if (allPropertiesTable) {
checkSpreadPropOverrides(type, allPropertiesTable, memberDecl);
}
spread = getSpreadType(spread, type, node.symbol, objectFlags, inConstContext);
offset = propertiesArray.length;
continue;
}
else {
@@ -25532,6 +25537,10 @@ namespace ts {
}
}
if (spread === errorType) {
return errorType;
}
if (spread !== emptyObjectType) {
if (propertiesArray.length > 0) {
spread = getSpreadType(spread, createObjectLiteralType(), node.symbol, objectFlags, inConstContext);