fix: reorder bugs

This commit is contained in:
appflowy
2022-04-28 16:02:03 +08:00
parent f972cdd3fb
commit ecd2dc3e72
8 changed files with 67 additions and 25 deletions

View File

@ -1,8 +1,4 @@
pub mod code_gen;
pub mod future;
pub mod retry;
#[allow(dead_code)]
pub fn timestamp() -> i64 {
chrono::Utc::now().timestamp()
}
pub mod util;

View File

@ -0,0 +1,32 @@
pub fn move_vec_element<T, F>(
vec: &mut Vec<T>,
filter: F,
_from_index: usize,
mut to_index: usize,
) -> Result<bool, String>
where
F: FnMut(&T) -> bool,
{
match vec.iter().position(filter) {
None => Ok(false),
Some(index) => {
if vec.len() > to_index {
let removed_element = vec.remove(index);
vec.insert(to_index, removed_element);
Ok(true)
} else {
let msg = format!(
"Move element to invalid index: {}, current len: {}",
to_index,
vec.len()
);
Err(msg)
}
}
}
}
#[allow(dead_code)]
pub fn timestamp() -> i64 {
chrono::Utc::now().timestamp()
}