From b10e5935ae32f4756b19e9ca58b78a5382f865d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Hru=C5=A1ka?= Date: Tue, 5 Oct 2021 09:35:38 +0200 Subject: [PATCH] add page num counting to ItemsIter --- src/entities/itemsiter.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/entities/itemsiter.rs b/src/entities/itemsiter.rs index b0266c1..d18f500 100644 --- a/src/entities/itemsiter.rs +++ b/src/entities/itemsiter.rs @@ -7,6 +7,7 @@ pub struct ItemsIter<'a, T: Clone + for<'de> Deserialize<'de>> { page: Page<'a, T>, buffer: Vec, 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 { if self.use_initial { if self.page.initial_items.is_empty() || self.cur_idx == self.page.initial_items.len() {