use polars::prelude::DataFrame;
use serde::{Deserialize, Serialize};
use crate::{EtlResult, MeasurementUnit};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EtlTimeRange {
pub start_ts: i64,
pub end_ts: i64,
pub duration_ms: u64,
pub duration_human: String,
pub source_unit: String,
}
impl EtlTimeRange {
pub fn extract_time_range(
df: &DataFrame,
measurement: &MeasurementUnit,
) -> EtlResult<EtlTimeRange> {
crate::polars_fns::extract_time_range(df, measurement)
}
pub fn extract_time_range_from_parts(
df: &DataFrame,
time_col: &str,
time_format: Option<&str>,
) -> EtlResult<EtlTimeRange> {
crate::polars_fns::extract_time_range_from_parts(df, time_col, time_format)
}
}