Function
paginate
(items: Vec<T>, page: u32, page_size: u32)
Source from the content-addressed store, hash-verified
| 1196 | } |
| 1197 | |
| 1198 | fn paginate<T>(items: Vec<T>, page: u32, page_size: u32) -> impl Iterator<Item = T> { |
| 1199 | let skip; |
| 1200 | let take; |
| 1201 | if page == 0 || page_size == 0 { |
| 1202 | skip = 0; |
| 1203 | take = items.len(); |
| 1204 | } else { |
| 1205 | let page = page - 1; |
| 1206 | let start = page * page_size; |
| 1207 | skip = start as usize; |
| 1208 | take = page_size as usize; |
| 1209 | } |
| 1210 | items.into_iter().skip(skip).take(take) |
| 1211 | } |
| 1212 | |
| 1213 | #[derive(Clone)] |
| 1214 | pub struct VmState { |
Tested by
no test coverage detected