use crate::patch::delta::Delta;
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct InlineDeltaMergeInfo<T = String> {
deltas: Vec<Delta<T>>,
orig_list: Vec<T>,
rev_list: Vec<T>,
}
impl<T> InlineDeltaMergeInfo<T> {
pub fn new(deltas: Vec<Delta<T>>, orig_list: Vec<T>, rev_list: Vec<T>) -> Self {
Self {
deltas,
orig_list,
rev_list,
}
}
pub fn deltas(&self) -> &[Delta<T>] {
&self.deltas
}
pub fn orig_list(&self) -> &[T] {
&self.orig_list
}
pub fn rev_list(&self) -> &[T] {
&self.rev_list
}
pub fn into_parts(self) -> (Vec<Delta<T>>, Vec<T>, Vec<T>) {
(self.deltas, self.orig_list, self.rev_list)
}
}