Skip to content

Commit ff89675

Browse files
committed
fix: add optimization for query being ""
1 parent 8d40f98 commit ff89675

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

src/binding/index.ts

+12
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,10 @@ export class ObjectArrayFilterer<DataKey extends string | number = string> {
222222
const useExtensionBonus = Boolean(options.useExtensionBonus)
223223

224224
Binding.validate_filter(query, maxResult, usePathScoring, useExtensionBonus)
225+
if (query.length === 0) {
226+
// optimization for query === ""
227+
return []
228+
}
225229
// NOTE calling obj.filter is slower than (obj.filterIndices then map) due to the interop overhead
226230
return this.obj.filterIndices(query, maxResult, usePathScoring, useExtensionBonus)
227231
}
@@ -356,6 +360,10 @@ export class TreeFilterer<DataKey extends string = string, ChildrenKey extends s
356360
const useExtensionBonus = Boolean(options.useExtensionBonus)
357361

358362
Binding.validate_filterTree(query, maxResult, usePathScoring, useExtensionBonus)
363+
if (query.length === 0) {
364+
// optimization for query === ""
365+
return []
366+
}
359367
return this.obj.filterTree(query, maxResult, usePathScoring, useExtensionBonus)
360368
}
361369

@@ -369,6 +377,10 @@ export class TreeFilterer<DataKey extends string = string, ChildrenKey extends s
369377
*/
370378
filterIndices(query: string, options: TreeFilterOptions = {}): TreeFilterIndicesResult[] {
371379
parseOptions(options)
380+
if (query.length === 0) {
381+
// optimization for query === ""
382+
return []
383+
}
372384
return this.obj.filterIndicesTree(
373385
query,
374386
options.maxResults ?? 0,

0 commit comments

Comments
 (0)