ferroui_dynamic_data/cache/
page_response.rs1use std::fmt;
4
5pub trait IPageResponse {
7 fn page(&self) -> usize;
9 fn pages(&self) -> usize;
11 fn page_size(&self) -> usize;
13 fn total_size(&self) -> usize;
15}
16
17#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Hash)]
20pub struct PageResponse {
21 page_size: usize,
22 total_size: usize,
23 page: usize,
24 pages: usize,
25}
26
27impl PageResponse {
28 pub const fn new(page_size: usize, total_size: usize, page: usize, pages: usize) -> Self {
31 Self { page_size, total_size, page, pages }
32 }
33
34 pub const fn page(&self) -> usize {
36 self.page
37 }
38
39 pub const fn pages(&self) -> usize {
41 self.pages
42 }
43
44 pub const fn page_size(&self) -> usize {
46 self.page_size
47 }
48
49 pub const fn total_size(&self) -> usize {
51 self.total_size
52 }
53}
54
55impl IPageResponse for PageResponse {
56 fn page(&self) -> usize {
57 self.page
58 }
59
60 fn pages(&self) -> usize {
61 self.pages
62 }
63
64 fn page_size(&self) -> usize {
65 self.page_size
66 }
67
68 fn total_size(&self) -> usize {
69 self.total_size
70 }
71}
72
73impl fmt::Display for PageResponse {
74 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
76 write!(f, "Page: {}, PageSize: {}, Pages: {}, TotalSize: {}", self.page, self.page_size, self.pages, self.total_size)
77 }
78}