|
@@ -30,11 +30,13 @@ function frameSearch(
|
|
|
query: string,
|
|
|
frames: ReadonlyArray<FlamegraphFrame>,
|
|
|
index: Fuse<FlamegraphFrame>
|
|
|
-): Record<string, FlamegraphFrame> {
|
|
|
+): Record<string, FlamegraphFrame> | null {
|
|
|
const results = {};
|
|
|
if (isRegExpString(query)) {
|
|
|
const [_, lookup, flags] = parseRegExp(query) ?? [];
|
|
|
|
|
|
+ let matches = 0;
|
|
|
+
|
|
|
try {
|
|
|
if (!lookup) {
|
|
|
throw new Error('Invalid RegExp');
|
|
@@ -51,17 +53,26 @@ function frameSearch(
|
|
|
String(frame.start)
|
|
|
}`
|
|
|
] = frame;
|
|
|
+ matches += 1;
|
|
|
}
|
|
|
}
|
|
|
} catch (e) {
|
|
|
Sentry.captureMessage(e.message);
|
|
|
}
|
|
|
|
|
|
+ if (matches <= 0) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
return results;
|
|
|
}
|
|
|
|
|
|
const fuseResults = index.search(query);
|
|
|
|
|
|
+ if (fuseResults.length <= 0) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
for (let i = 0; i < fuseResults.length; i++) {
|
|
|
const frame = fuseResults[i];
|
|
|
|