use crate::Hook;
#[derive(Default, Clone)]
pub struct EvaluationOptions {
pub hooks: Vec<crate::hooks::HookWrapper>,
pub hints: crate::hooks::HookHints,
}
impl EvaluationOptions {
pub fn new(hooks: Vec<crate::hooks::HookWrapper>, hints: crate::hooks::HookHints) -> Self {
Self { hooks, hints }
}
#[must_use]
pub fn with_hook<T: Hook + 'static>(mut self, hook: T) -> Self {
self.hooks.push(crate::hooks::HookWrapper::new(hook));
self
}
}