Skip to main content

shiplog_coverage/
lib.rs

1#![warn(missing_docs)]
2//! Date-window utilities for coverage and ingestion slicing.
3//!
4//! This crate owns the coverage-facing windowing primitives that keep query
5//! windows explicit, contiguous, and auditable.
6//!
7//! # Examples
8//!
9//! ```
10//! use shiplog_coverage::{month_windows, week_windows, day_windows, window_len_days};
11//! use chrono::NaiveDate;
12//!
13//! let since = NaiveDate::from_ymd_opt(2025, 1, 1).unwrap();
14//! let until = NaiveDate::from_ymd_opt(2025, 4, 1).unwrap();
15//!
16//! let months = month_windows(since, until);
17//! assert_eq!(months.len(), 3); // Jan, Feb, Mar
18//!
19//! assert_eq!(window_len_days(&months[0]), 31);
20//! ```
21
22mod windows;
23
24pub use windows::{day_windows, month_windows, week_windows, window_len_days};