NewPagination creates a new Pagination.
(page, size int, opts ...PaginationOpt)
| 28 | |
| 29 | // NewPagination creates a new Pagination. |
| 30 | func NewPagination(page, size int, opts ...PaginationOpt) *Pagination { |
| 31 | p := &Pagination{ |
| 32 | Page: page, |
| 33 | Size: size, |
| 34 | defaultSize: 10, |
| 35 | } |
| 36 | |
| 37 | for _, opt := range opts { |
| 38 | if opt != nil { |
| 39 | opt(p) |
| 40 | } |
| 41 | } |
| 42 | |
| 43 | p.normalize() |
| 44 | return p |
| 45 | } |
| 46 | |
| 47 | func (p *Pagination) normalize() { |
| 48 | if p.Page <= 0 { |
no test coverage detected