MCPcopy Create free account
hub / github.com/sourcebot-dev/sourcebot / findInQueryIR

Function findInQueryIR

packages/web/src/features/search/ir.ts:168–196  ·  view source on GitHub ↗
(
    query: QueryIR,
    predicate: (query: QueryIR) => boolean
)

Source from the content-addressed store, hash-verified

166 * @returns The first matching query node, or undefined if none found
167 */
168export function findInQueryIR(
169 query: QueryIR,
170 predicate: (query: QueryIR) => boolean
171): QueryIR | undefined {
172 let found: QueryIR | undefined;
173
174 traverseQueryIR(query, {
175 onRawConfig: (q) => { if (predicate(q)) { found = q; return false; } },
176 onRegexp: (q) => { if (predicate(q)) { found = q; return false; } },
177 onSymbol: (q) => { if (predicate(q)) { found = q; return false; } },
178 onLanguage: (q) => { if (predicate(q)) { found = q; return false; } },
179 onConst: (q) => { if (predicate(q)) { found = q; return false; } },
180 onRepo: (q) => { if (predicate(q)) { found = q; return false; } },
181 onRepoRegexp: (q) => { if (predicate(q)) { found = q; return false; } },
182 onBranchesRepos: (q) => { if (predicate(q)) { found = q; return false; } },
183 onRepoIds: (q) => { if (predicate(q)) { found = q; return false; } },
184 onRepoSet: (q) => { if (predicate(q)) { found = q; return false; } },
185 onFileNameSet: (q) => { if (predicate(q)) { found = q; return false; } },
186 onType: (q) => { if (predicate(q)) { found = q; return false; } },
187 onSubstring: (q) => { if (predicate(q)) { found = q; return false; } },
188 onAnd: (q) => { if (predicate(q)) { found = q; return false; } },
189 onOr: (q) => { if (predicate(q)) { found = q; return false; } },
190 onNot: (q) => { if (predicate(q)) { found = q; return false; } },
191 onBranch: (q) => { if (predicate(q)) { found = q; return false; } },
192 onBoost: (q) => { if (predicate(q)) { found = q; return false; } },
193 });
194
195 return found;
196}
197
198/**
199 * Checks if any node in the query tree matches the predicate.

Callers 1

someInQueryIRFunction · 0.85

Calls 1

traverseQueryIRFunction · 0.85

Tested by

no test coverage detected