pub struct PlanNormalizer { /* private fields */ }Expand description
Plan normalizer - the stability core
Implementations§
Source§impl PlanNormalizer
impl PlanNormalizer
Sourcepub fn new() -> PlanNormalizer
pub fn new() -> PlanNormalizer
Create a new normalizer
Sourcepub fn add_validator(&mut self, validator: Box<dyn PlanValidator>)
pub fn add_validator(&mut self, validator: Box<dyn PlanValidator>)
Add a validator
Sourcepub fn register_action(&mut self, name: impl Into<String>)
pub fn register_action(&mut self, name: impl Into<String>)
Register a known action
Sourcepub fn deterministic_contract(&self) -> Option<Value>
pub fn deterministic_contract(&self) -> Option<Value>
Returns the immutable contract required to replay normalization after a process restart.
Custom trait-object validators and fixers have no stable identity in v1, so a normalizer containing either is intentionally not replayable.
Sourcepub fn normalize(&self, plan: Plan) -> Result<NormalizedPlan, NormalizeError>
pub fn normalize(&self, plan: Plan) -> Result<NormalizedPlan, NormalizeError>
Normalize a plan
Trait Implementations§
Source§impl Default for PlanNormalizer
impl Default for PlanNormalizer
Source§fn default() -> PlanNormalizer
fn default() -> PlanNormalizer
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for PlanNormalizer
impl !UnwindSafe for PlanNormalizer
impl Freeze for PlanNormalizer
impl Send for PlanNormalizer
impl Sync for PlanNormalizer
impl Unpin for PlanNormalizer
impl UnsafeUnpin for PlanNormalizer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.