A framework agnostic pagination crate, that is especially suited for databases, slices and collections. Paginate calculates the range of pages indexes, making it ideal for accessing slices, chunking data and querying databases.
To iterate over each page:
```rust use paginate::Pages;
fn main() { let totalitems = 100; let itemsperpage = 5; let pages = Pages::new(totalitems, itemsperpage); for page in pages.into_iter() { println!("offset: {}, total: {}, start: {}, end: {}", page.offset, page.length, page.start, page.end); } } ```
To get the pagination of a specific offset: ```rust use paginate::Pages;
fn main() { let totalitems = 35; let itemsperpage = 5; let pages = Pages::new(totalitems, itemsperpage); let page = pages.with_offset(3); println!("offset: {}, total: {}, start: {}, end: {}", page.offset, page.length, page.start, page.end); } ```