Files
bun.sh/src
Dylan Conway 52629145ca fix(parser): TSX arrow function bugfix (#23082)
### What does this PR do?
Missing `.t_equals` and `.t_slash` checks. This matches esbuild.

```go
// Returns true if the current less-than token is considered to be an arrow
// function under TypeScript's rules for files containing JSX syntax
func (p *parser) isTSArrowFnJSX() (isTSArrowFn bool) {
	oldLexer := p.lexer
	p.lexer.Next()

	// Look ahead to see if this should be an arrow function instead
	if p.lexer.Token == js_lexer.TConst {
		p.lexer.Next()
	}
	if p.lexer.Token == js_lexer.TIdentifier {
		p.lexer.Next()
		if p.lexer.Token == js_lexer.TComma || p.lexer.Token == js_lexer.TEquals {
			isTSArrowFn = true
		} else if p.lexer.Token == js_lexer.TExtends {
			p.lexer.Next()
			isTSArrowFn = p.lexer.Token != js_lexer.TEquals && p.lexer.Token != js_lexer.TGreaterThan && p.lexer.Token != js_lexer.TSlash
		}
	}

	// Restore the lexer
	p.lexer = oldLexer
	return
}
```

fixes #19697
### How did you verify your code works?
Added some tests.
2025-09-29 05:10:16 -07:00
..
2025-09-27 00:45:29 -07:00
2025-09-26 03:47:26 -07:00
2025-07-21 13:26:47 -07:00
2025-09-27 00:45:29 -07:00
2025-09-27 00:45:29 -07:00
2025-09-09 20:41:10 -07:00
2025-09-27 00:45:29 -07:00
2025-07-21 13:26:47 -07:00
2025-07-29 19:35:46 -07:00
2025-07-21 13:26:47 -07:00
2025-07-21 13:26:47 -07:00
2025-07-21 13:26:47 -07:00
2025-08-27 06:39:11 -07:00
2025-09-09 20:41:10 -07:00
2025-09-09 20:41:10 -07:00
2025-09-11 23:29:53 -07:00
2025-09-09 20:41:10 -07:00
2025-07-21 13:26:47 -07:00
2025-07-21 13:26:47 -07:00
2025-07-21 13:26:47 -07:00
2025-09-09 20:41:10 -07:00
2025-07-21 13:26:47 -07:00
2025-07-21 13:26:47 -07:00
2025-02-01 01:11:02 -08:00
2025-07-21 13:26:47 -07:00
2025-07-21 13:26:47 -07:00