shape_runtime/multi_table/
types.rs1use super::config::AlignmentConfig;
4use crate::data::OwnedDataRow as RowValue;
5use chrono::{DateTime, Utc};
6use std::collections::HashMap;
7
8#[derive(Debug, Clone)]
10pub struct AlignedData {
11 pub ids: Vec<String>,
13 pub data: Vec<Vec<RowValue>>,
15 pub timestamps: Vec<i64>,
17 pub metadata: AlignmentMetadata,
19}
20
21#[derive(Debug, Clone)]
23pub struct AlignmentMetadata {
24 pub original_count: HashMap<String, usize>,
26 pub aligned_count: usize,
28 pub gaps_filled: HashMap<String, usize>,
30 pub time_range: (DateTime<Utc>, DateTime<Utc>),
32 pub config: AlignmentConfig,
34}
35
36#[derive(Debug, Clone)]
38pub struct Divergence {
39 pub timestamp: i64,
40 pub index: usize,
41 pub id1_trend: f64,
42 pub id2_trend: f64,
43 pub strength: f64,
44}
45
46#[derive(Debug, Clone, Copy, PartialEq)]
48pub enum JoinType {
49 Inner,
50 Left,
51 Right,
52 Full,
53}