Skip to content

Commit 71e0db6

Browse files
committed
Disallow Infinity, -Infinity and NaN as an enum key name
1 parent 6424e18 commit 71e0db6

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
@@ -44729,7 +44729,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
4472944729
}
4473044730
else {
4473144731
const text = getTextOfPropertyName(member.name);
44732-
if (isNumericLiteralName(text) && !isInfinityOrNaNString(text)) {
44732+
if (isNumericLiteralName(text)) {
4473344733
error(member.name, Diagnostics.An_enum_member_cannot_have_a_numeric_name);
4473444734
}
4473544735
}
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)