perf(runner): better regex match search

started using flags instead of any-character expressions between characters
This commit is contained in:
retrozinndev
2025-06-09 20:25:57 -03:00
parent c4f6dba77c
commit 7bdaed7e54
+9 -3
View File
@@ -39,11 +39,17 @@ const plugins = new Set<Runner.Plugin>();
export function close() { instance?.close(); }
export function regExMatch(search: string, item: string): boolean {
export function regExMatch(search: string, item: (string|number)): boolean {
search = search.replace(/[\\^$.*?()[\]{}|]/g, "\\$&");
if(typeof item === "number")
return new RegExp(`${search.split('').map(c =>
`.*(${c.toLowerCase()}|${c.toUpperCase()}).*`).join('')}`
).test(item);
`.*${c}.*`).join('')}`,
"g").test(item.toString());
return new RegExp(`${search.split('').map(c =>
`.*${c}.*`).join('')}`,
"gi").test(item);
}