use super::delta::Delta;
use super::error::PatchError;
use super::verify_chunk::VerifyChunk;
pub trait ConflictOutput<T> {
fn process_conflict(
&self,
verify_chunk: VerifyChunk,
delta: &Delta<T>,
result: &mut Vec<T>,
) -> Result<(), PatchError>;
}
impl<T, F> ConflictOutput<T> for F
where
F: Fn(VerifyChunk, &Delta<T>, &mut Vec<T>) -> Result<(), PatchError>,
{
fn process_conflict(
&self,
verify_chunk: VerifyChunk,
delta: &Delta<T>,
result: &mut Vec<T>,
) -> Result<(), PatchError> {
(self)(verify_chunk, delta, result)
}
}