pub fn engine_step1_scanner(
c: ValidTablePartConfig,
workspace: &ValidWorkspaceConfig,
patterns: &ValidPatternConfig,
) -> ValidResultMainTabExpand description
[Step 1] Skaner - teraz przyjmuje konfiguratory zamiast surowych struktur Job
Examples found in repository?
examples/try-step2.rs (line 18)
3fn main() {
4 println!("=== TEST STEP 2 (ALPHA) ===\n");
5
6 // =========================================================================
7 // STEP 0: Inicjalizacja
8 // =========================================================================
9
10 let ws_cfg = job::ValidWorkspaceParse::parse_vec_as_config(["."]);
11 let pt_cfg = job::ValidPatternParse::parse_vec_as_config(Vec::<&str>::new(), None);
12 // let pt_cfg = job::ValidPatternParse::parse_vec_as_config::<[&str; 0]>([], None);
13
14 // =========================================================================
15 // STEP 1: Skanowanie i pobranie metadanych z dysku
16 // =========================================================================
17 let part_cfg = job::ValidTablePartParse::parse_vec_as_config(["md", "mf"]);
18 let raw_rows = job::engine_step1_scanner(part_cfg, &ws_cfg, &pt_cfg);
19
20 println!("Skanowanie zakończone. Zabrano wierszy (ValidResultMainRow): {}\n", raw_rows.rows.len());
21
22 // =========================================================================
23 // STEP 2: Formatowanie komórek
24 // =========================================================================
25
26 // Ustawiamy dość bogatą konfigurację, żeby przetestować wszystkie mechanizmy
27 let item_cfg =
28 job::ValidColumnItemParse::parse_vec_as_config(["list-tree", "name-show", "ws-show", "icons-lite"]).unwrap();
29
30 let cols_cfg = job::ValidTableColumnsParse::parse_vec_as_config(["date", "time", "size", "item", "path"]);
31
32 let date_cfg = job::ValidColumnDateParse::parse_vec_as_config(["default"]);
33 let time_cfg = job::ValidColumnTimeParse::parse_vec_as_config(["default"]);
34 let size_cfg = job::ValidColumnSizeParse::parse_vec_as_config(["dec"]);
35
36 let formatted_rows =
37 job::engine_step2_data_formater((&item_cfg, &cols_cfg), (&date_cfg, &time_cfg, &size_cfg), &raw_rows);
38
39 // =========================================================================
40 // WYDRUK KONTROLNY (Dla naszych oczu)
41 // =========================================================================
42 let sample_rows: Vec<_> = formatted_rows.into_iter().take(75).collect();
43
44 // Przekazujemy wiersze i konfigurację kolumn (żeby renderer wiedział, czym są komórki)
45 mock_render(&sample_rows, &cols_cfg);
46}