use super::TimeZone;
use super::{Target, state::RuntimeState};
pub struct Context<'a> {
target: &'a mut dyn Target,
state: &'a mut RuntimeState,
timezone: &'a TimeZone,
}
impl<'a> Context<'a> {
pub fn new(
target: &'a mut dyn Target,
state: &'a mut RuntimeState,
timezone: &'a TimeZone,
) -> Self {
Self {
target,
state,
timezone,
}
}
#[must_use]
pub fn target(&self) -> &dyn Target {
self.target
}
pub fn target_mut(&mut self) -> &mut dyn Target {
self.target
}
#[must_use]
pub fn state(&self) -> &RuntimeState {
self.state
}
pub fn state_mut(&mut self) -> &mut RuntimeState {
self.state
}
#[must_use]
pub fn timezone(&self) -> &TimeZone {
self.timezone
}
}