Skip to content

Commit 678756a

Browse files
committed
Dumb down code for negate
1 parent e85fe27 commit 678756a

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/index.ts

+8-4
Original file line numberDiff line numberDiff line change
@@ -589,10 +589,14 @@ function sequenceToRegExp(tokens: Flattened[], delimiter: string, keys: Keys) {
589589
}
590590

591591
function negate(delimiter: string, backtrack: string) {
592-
const values = [delimiter, backtrack].filter(Boolean);
593-
const isSimple = values.every((value) => value.length === 1);
594-
if (isSimple) return `[^${escape(values.join(""))}]`;
595-
return `(?:(?!${values.map(escape).join("|")}).)`;
592+
if (backtrack.length < 2) {
593+
if (delimiter.length < 2) return `[^${escape(delimiter + backtrack)}]`;
594+
return `(?:(?!${escape(delimiter)})[^${escape(backtrack)}])`;
595+
}
596+
if (delimiter.length < 2) {
597+
return `(?:(?!${escape(backtrack)})[^${escape(delimiter)}])`;
598+
}
599+
return `(?:(?!${escape(backtrack)}|${escape(delimiter)})[\\s\\S])`;
596600
}
597601

598602
/**

0 commit comments

Comments
 (0)