Skip to content

Commit f798118

Browse files
authored
fix: negative number is illegal attribute for object (#2273)
1 parent a5bad10 commit f798118

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

internal/js_parser/js_parser.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13183,7 +13183,7 @@ func (p *parser) visitExprInOut(expr js_ast.Expr, in exprIn) (js_ast.Expr, exprO
1318313183
// "{ '123': 4 }" => "{ 123: 4 }" (this is done late to allow "'123'" to be mangled)
1318413184
if p.options.minifySyntax {
1318513185
if str, ok := property.Key.Data.(*js_ast.EString); ok {
13186-
if numberValue, ok := stringToEquivalentNumberValue(str.Value); ok {
13186+
if numberValue, ok := stringToEquivalentNumberValue(str.Value); numberValue >= 0 && ok {
1318713187
property.Key.Data = &js_ast.ENumber{Value: numberValue}
1318813188
}
1318913189
}

internal/js_parser/js_parser_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1222,15 +1222,15 @@ func TestObject(t *testing.T) {
12221222
// Check the string-to-int optimization
12231223
expectPrintedMangle(t, "x = { '0': y }", "x = { 0: y };\n")
12241224
expectPrintedMangle(t, "x = { '123': y }", "x = { 123: y };\n")
1225-
expectPrintedMangle(t, "x = { '-123': y }", "x = { -123: y };\n")
1225+
expectPrintedMangle(t, "x = { '-123': y }", "x = { \"-123\": y };\n")
12261226
expectPrintedMangle(t, "x = { '-0': y }", "x = { \"-0\": y };\n")
12271227
expectPrintedMangle(t, "x = { '01': y }", "x = { \"01\": y };\n")
12281228
expectPrintedMangle(t, "x = { '-01': y }", "x = { \"-01\": y };\n")
12291229
expectPrintedMangle(t, "x = { '0x1': y }", "x = { \"0x1\": y };\n")
12301230
expectPrintedMangle(t, "x = { '-0x1': y }", "x = { \"-0x1\": y };\n")
12311231
expectPrintedMangle(t, "x = { '2147483647': y }", "x = { 2147483647: y };\n")
12321232
expectPrintedMangle(t, "x = { '2147483648': y }", "x = { \"2147483648\": y };\n")
1233-
expectPrintedMangle(t, "x = { '-2147483648': y }", "x = { -2147483648: y };\n")
1233+
expectPrintedMangle(t, "x = { '-2147483648': y }", "x = { \"-2147483648\": y };\n")
12341234
expectPrintedMangle(t, "x = { '-2147483649': y }", "x = { \"-2147483649\": y };\n")
12351235
}
12361236

0 commit comments

Comments
 (0)