| 123456789101112131415161718192021222324252627282930 |
- package logic
- import "math"
- const (
- defaultPage = 1
- defaultPageSize = 10
- maxPageSize = 100
- )
- // normalizePage applies defaults and bounds to the requested page/pageSize,
- // and keeps the computed offset within int64 even for absurd page numbers.
- func normalizePage(page, pageSize int64) (int64, int64) {
- if page < 1 {
- page = defaultPage
- }
- if pageSize < 1 {
- pageSize = defaultPageSize
- }
- if pageSize > maxPageSize {
- pageSize = maxPageSize
- }
- const safeOffset = math.MaxInt64 / 2
- if page-1 > safeOffset/pageSize {
- page = safeOffset/pageSize + 1
- }
- return page, pageSize
- }
|