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>,
|
page: Page<'a, T>,
|
||||||
buffer: Vec<T>,
|
buffer: Vec<T>,
|
||||||
cur_idx: usize,
|
cur_idx: usize,
|
||||||
|
cur_page: usize,
|
||||||
use_initial: bool,
|
use_initial: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -16,6 +17,7 @@ impl<'a, T: Clone + for<'de> Deserialize<'de>> ItemsIter<'a, T> {
|
|||||||
page,
|
page,
|
||||||
buffer: vec![],
|
buffer: vec![],
|
||||||
cur_idx: 0,
|
cur_idx: 0,
|
||||||
|
cur_page: 0,
|
||||||
use_initial: true,
|
use_initial: true,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -36,12 +38,17 @@ impl<'a, T: Clone + for<'de> Deserialize<'de>> ItemsIter<'a, T> {
|
|||||||
}
|
}
|
||||||
self.buffer = items;
|
self.buffer = items;
|
||||||
self.cur_idx = 0;
|
self.cur_idx = 0;
|
||||||
|
self.cur_page += 1;
|
||||||
Some(())
|
Some(())
|
||||||
} else {
|
} else {
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn page_num(&self) -> usize {
|
||||||
|
self.cur_page
|
||||||
|
}
|
||||||
|
|
||||||
pub async fn next_item(&mut self) -> Option<T> {
|
pub async fn next_item(&mut self) -> Option<T> {
|
||||||
if self.use_initial {
|
if self.use_initial {
|
||||||
if self.page.initial_items.is_empty() || self.cur_idx == self.page.initial_items.len() {
|
if self.page.initial_items.is_empty() || self.cur_idx == self.page.initial_items.len() {
|
||||||
|
|||||||
Reference in New Issue
Block a user