aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/js_ast.zig16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/js_ast.zig b/src/js_ast.zig
index f3d941251..452f6044c 100644
--- a/src/js_ast.zig
+++ b/src/js_ast.zig
@@ -1853,11 +1853,21 @@ pub const E = struct {
var pat = this.pattern();
while (pat.len > 0) {
const start = strings.indexOfChar(pat, '?') orelse return false;
- if (start == 0) return false;
+ if (start == 0) {
+ pat = pat[1..];
+ continue;
+ }
const l_paren = pat[start - 1];
- if (l_paren != '(' or pat.len < start + 1) return false;
+ if (start > 1 and pat[start - 2] == '\\') {
+ pat = pat[start..];
+ continue;
+ }
+ if (l_paren != '(' or pat.len < start + 1) {
+ pat = pat[start..];
+ continue;
+ }
const op = pat[start + 1];
- if (op == '<' or op == '=' or op == '!') {
+ if (op == '<') {
return true;
}
pat = pat[start + 1 ..];