///|
pub struct EvaluationOptions {
priv context : EvaluationContext
priv transaction_context : EvaluationContext
priv hooks : Array[Hook]
priv hints : EvaluationContext
}
///|
pub fn EvaluationOptions::new(
context~ : EvaluationContext = EvaluationContext::empty(),
transaction_context~ : EvaluationContext = EvaluationContext::empty(),
hooks~ : Array[Hook] = [],
hints~ : EvaluationContext = EvaluationContext::empty(),
) -> EvaluationOptions {
{
context: context.copy(),
transaction_context: transaction_context.copy(),
hooks: hooks.copy(),
hints: hints.copy(),
}
}
///|
pub fn EvaluationOptions::context(
self : EvaluationOptions,
) -> EvaluationContext {
self.context.copy()
}
///|
pub fn EvaluationOptions::transaction_context(
self : EvaluationOptions,
) -> EvaluationContext {
self.transaction_context.copy()
}
///|
pub fn EvaluationOptions::hooks(self : EvaluationOptions) -> Array[Hook] {
self.hooks.copy()
}
///|
pub fn EvaluationOptions::hints(self : EvaluationOptions) -> EvaluationContext {
self.hints.copy()
}
///|
pub fn EvaluationOptions::copy(self : EvaluationOptions) -> EvaluationOptions {
EvaluationOptions::new(
context=self.context,
transaction_context=self.transaction_context,
hooks=self.hooks,
hints=self.hints,
)
}