Skip to content

Commit f61229e

Browse files
magic-akaric0sta
authored andcommitted
Disallow Infinity, -Infinity and NaN as an enum key name (microsoft#56161)
1 parent e315389 commit f61229e

File tree

4 files changed

+31
-1
lines changed

4 files changed

+31
-1
lines changed

src/compiler/checker.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45045,7 +45045,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
4504545045
}
4504645046
else {
4504745047
const text = getTextOfPropertyName(member.name);
45048-
if (isNumericLiteralName(text) && !isInfinityOrNaNString(text)) {
45048+
if (isNumericLiteralName(text)) {
4504945049
error(member.name, Diagnostics.An_enum_member_cannot_have_a_numeric_name);
4505045050
}
4505145051
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
enumWithInfinityProperty.ts(2,5): error TS2452: An enum member cannot have a numeric name.
2+
3+
4+
==== enumWithInfinityProperty.ts (1 errors) ====
5+
enum A {
6+
Infinity = 1
7+
~~~~~~~~
8+
!!! error TS2452: An enum member cannot have a numeric name.
9+
}
10+
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
enumWithNaNProperty.ts(2,5): error TS2452: An enum member cannot have a numeric name.
2+
3+
4+
==== enumWithNaNProperty.ts (1 errors) ====
5+
enum A {
6+
NaN = 1
7+
~~~
8+
!!! error TS2452: An enum member cannot have a numeric name.
9+
}
10+
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
enumWithNegativeInfinityProperty.ts(2,5): error TS2452: An enum member cannot have a numeric name.
2+
3+
4+
==== enumWithNegativeInfinityProperty.ts (1 errors) ====
5+
enum A {
6+
"-Infinity" = 1
7+
~~~~~~~~~~~
8+
!!! error TS2452: An enum member cannot have a numeric name.
9+
}
10+

0 commit comments

Comments
 (0)