From 17307bb90ad19f28066e38c9d7c7e021fd3650ad Mon Sep 17 00:00:00 2001 From: PalmDevs Date: Mon, 9 Jun 2025 19:40:32 +0700 Subject: [PATCH] feat(lib/utils/trees): extract predicate type from filter in `findInTree` --- lib/utils/src/trees.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/utils/src/trees.ts b/lib/utils/src/trees.ts index 225939d..a1523d6 100644 --- a/lib/utils/src/trees.ts +++ b/lib/utils/src/trees.ts @@ -1,3 +1,5 @@ +import type { ExtractPredicate } from './types' + export type SearchTree = Record export type SearchFilter = (tree: SearchTree) => boolean @@ -18,11 +20,11 @@ export interface FindInTreeOptions { maxDepth?: number } -export function findInTree( +export function findInTree( tree: SearchTree, - filter: SearchFilter, + filter: F, opts?: FindInTreeOptions, -): any | undefined { +): ExtractPredicate | undefined { type StackItem = [node: any, depth: number] const stack: StackItem[] = [[tree, 0]] const maxDepth = opts?.maxDepth ?? 100