19 lines
452 B
Rust
Raw Normal View History

2021-08-14 16:44:39 +08:00
use crate::{
client::view::DeleteExt,
2021-08-15 00:05:18 +08:00
core::{Delta, DeltaBuilder, Interval},
2021-08-14 16:44:39 +08:00
};
pub struct DefaultDeleteExt {}
impl DeleteExt for DefaultDeleteExt {
2021-08-15 21:11:48 +08:00
fn ext_name(&self) -> &str { "DeleteExt" }
2021-08-14 16:44:39 +08:00
fn apply(&self, _delta: &Delta, interval: Interval) -> Option<Delta> {
Some(
DeltaBuilder::new()
2021-08-15 00:05:18 +08:00
.retain(interval.start)
2021-08-14 16:44:39 +08:00
.delete(interval.size())
.build(),
)
}
}