use crate::JsonLdProcessingMode;
#[derive(Clone, Copy, PartialEq, Eq)]
pub struct JsonLdContextProcessingOptions {
pub processing_mode: JsonLdProcessingMode,
pub override_protected: bool,
pub propagate: bool,
}
impl JsonLdContextProcessingOptions {
#[must_use]
pub fn with_override(&self) -> JsonLdContextProcessingOptions {
let mut opt = *self;
opt.override_protected = true;
opt
}
#[must_use]
pub fn with_no_override(&self) -> JsonLdContextProcessingOptions {
let mut opt = *self;
opt.override_protected = false;
opt
}
#[must_use]
pub fn without_propagation(&self) -> JsonLdContextProcessingOptions {
let mut opt = *self;
opt.propagate = false;
opt
}
}
impl Default for JsonLdContextProcessingOptions {
fn default() -> JsonLdContextProcessingOptions {
JsonLdContextProcessingOptions {
processing_mode: JsonLdProcessingMode::default(),
override_protected: false,
propagate: true,
}
}
}