Trait former::protected::FormingEnd

source ·
pub trait FormingEnd<Definition: FormerDefinitionTypes> {
    // Required method
    fn call(
        &self,
        storage: Definition::Storage,
        context: Option<Definition::Context>
    ) -> Definition::Formed;
}
Expand description

Defines a handler for the end of a subforming process, enabling the return of the original context.

This trait is designed to be flexible, allowing for various end-of-forming behaviors in builder patterns. Implementors can define how to transform or pass through the context during the forming process’s completion.

§Parameters

  • Storage: The type of the collection being processed.
  • Context: The type of the context that might be altered or returned upon completion.

Required Methods§

source

fn call( &self, storage: Definition::Storage, context: Option<Definition::Context> ) -> Definition::Formed

Called at the end of the subforming process to return the modified or original context.

§Parameters
  • collection: The collection being processed.
  • context: Optional context to be transformed or returned.
§Returns

Returns the transformed or original context based on the implementation.

Implementors§

source§

impl<Definition> FormingEnd<Definition> for NoEnd
where Definition: FormerDefinitionTypes,

source§

impl<Definition> FormingEnd<Definition> for ReturnPreformed
where Definition::Storage: StoragePreform<Preformed = Definition::Formed>, Definition: FormerDefinitionTypes,

source§

impl<Definition, F> FormingEnd<Definition> for F
where F: Fn(Definition::Storage, Option<Definition::Context>) -> Definition::Formed, Definition: FormerDefinitionTypes,

source§

impl<Definition, T> FormingEnd<Definition> for ReturnStorage
where Definition: FormerDefinitionTypes<Context = (), Storage = T, Formed = T>,

source§

impl<Definition: FormerDefinitionTypes> FormingEnd<Definition> for FormingEndClosure<Definition>