MCPcopy Create free account
hub / github.com/elastic/devfiler / query_executables

Function query_executables

src/ui/tabs/executables.rs:294–323  ·  view source on GitHub ↗
(filter: &String, sort_field: &SortColumn)

Source from the content-addressed store, hash-verified

292}
293
294fn query_executables(filter: &String, sort_field: &SortColumn) -> Vec<(FileId, ExecutableMeta)> {
295 let mut execs: Vec<_> = DB
296 .executables
297 .iter()
298 .filter_map(|(file_id, value_ref)| {
299 let meta = value_ref.read();
300 let name = meta.file_name.as_deref().unwrap_or(NO_NAME);
301 if name.contains(filter) {
302 return Some((file_id, meta));
303 }
304 None
305 })
306 .collect();
307
308 // Apply sorting.
309 execs.sort_unstable_by(
310 |(lhs_file_id, lhs_metas), (rhs_file_id, rhs_metas)| match sort_field {
311 SortColumn::Symbols => lhs_metas.symb_status.cmp(&rhs_metas.symb_status).reverse(),
312 SortColumn::FileName => {
313 let lhs_name = lhs_metas.file_name.as_deref().unwrap_or(NO_NAME);
314 let rhs_name = rhs_metas.file_name.as_deref().unwrap_or(NO_NAME);
315 lhs_name.cmp(&rhs_name)
316 }
317 SortColumn::BuildId => lhs_metas.build_id.cmp(&rhs_metas.build_id).reverse(),
318 SortColumn::FileId => u128::from(*lhs_file_id).cmp(&u128::from(*rhs_file_id)),
319 },
320 );
321
322 return execs;
323}

Callers 1

draw_executable_tableMethod · 0.85

Calls 2

iterMethod · 0.80
readMethod · 0.80

Tested by

no test coverage detected