use std::cell::{OnceCell, RefCell};
use jiff::Zoned;
#[derive(Debug, Clone, Default)]
pub(crate) struct ZmanCache {
pub(crate) elevation_sunrise: OnceCell<Option<Zoned>>,
pub(crate) elevation_sunset: OnceCell<Option<Zoned>>,
pub(crate) sea_level_sunrise: OnceCell<Option<Zoned>>,
pub(crate) sea_level_sunset: OnceCell<Option<Zoned>>,
pub(crate) solar_noon: OnceCell<Option<Zoned>>,
pub(crate) solar_midnight: OnceCell<Option<Zoned>>,
pub(crate) sunrise_by_degrees: RefCell<Vec<(u64, Option<Zoned>)>>,
pub(crate) sunset_by_degrees: RefCell<Vec<(u64, Option<Zoned>)>>,
}