forked from MightyPork/elefren-fork
add page num counting to ItemsIter
This commit is contained in:
@@ -7,6 +7,7 @@ pub struct ItemsIter<'a, T: Clone + for<'de> Deserialize<'de>> {
|
||||
page: Page<'a, T>,
|
||||
buffer: Vec<T>,
|
||||
cur_idx: usize,
|
||||
cur_page: usize,
|
||||
use_initial: bool,
|
||||
}
|
||||
|
||||
@@ -16,6 +17,7 @@ impl<'a, T: Clone + for<'de> Deserialize<'de>> ItemsIter<'a, T> {
|
||||
page,
|
||||
buffer: vec![],
|
||||
cur_idx: 0,
|
||||
cur_page: 0,
|
||||
use_initial: true,
|
||||
}
|
||||
}
|
||||
@@ -36,12 +38,17 @@ impl<'a, T: Clone + for<'de> Deserialize<'de>> ItemsIter<'a, T> {
|
||||
}
|
||||
self.buffer = items;
|
||||
self.cur_idx = 0;
|
||||
self.cur_page += 1;
|
||||
Some(())
|
||||
} else {
|
||||
None
|
||||
}
|
||||
}
|
||||
|
||||
pub fn page_num(&self) -> usize {
|
||||
self.cur_page
|
||||
}
|
||||
|
||||
pub async fn next_item(&mut self) -> Option<T> {
|
||||
if self.use_initial {
|
||||
if self.page.initial_items.is_empty() || self.cur_idx == self.page.initial_items.len() {
|
||||
|
||||
Reference in New Issue
Block a user