Skip to content

Commit 5dbe5f4

Browse files
committed
Widen literal types of parameter properties
1 parent c7b0083 commit 5dbe5f4

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

src/compiler/checker.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14744,7 +14744,7 @@ namespace ts {
1474414744
function checkDeclarationInitializer(declaration: VariableLikeDeclaration) {
1474514745
const type = checkExpressionCached(declaration.initializer);
1474614746
return getCombinedNodeFlags(declaration) & NodeFlags.Const ||
14747-
getCombinedModifierFlags(declaration) & ModifierFlags.Readonly ||
14747+
getCombinedModifierFlags(declaration) & ModifierFlags.Readonly && !isParameterPropertyDeclaration(declaration) ||
1474814748
isTypeAssertion(declaration.initializer) ? type : getWidenedLiteralType(type);
1474914749
}
1475014750

src/compiler/utilities.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4497,7 +4497,7 @@ namespace ts {
44974497
}
44984498
}
44994499

4500-
export function isParameterPropertyDeclaration(node: ParameterDeclaration): boolean {
4500+
export function isParameterPropertyDeclaration(node: Node): boolean {
45014501
return hasModifier(node, ModifierFlags.ParameterPropertyModifier) && node.parent.kind === SyntaxKind.Constructor && isClassLike(node.parent.parent);
45024502
}
45034503

0 commit comments

Comments
 (0)