goext/cursortoken/tokenPaginate.go
Mike Schwörer 54b0d6701d
All checks were successful
Build Docker and Deploy / Run goext test-suite (push) Successful in 2m49s
v0.0.539
2024-10-27 02:21:35 +02:00

38 lines
484 B
Go

package cursortoken
import "strconv"
type CTPaginated struct {
Mode Mode
Page int
}
func Page(p int) CursorToken {
return CTPaginated{
Mode: CTMNormal,
Page: p,
}
}
func PageEnd() CursorToken {
return CTPaginated{
Mode: CTMEnd,
Page: 0,
}
}
func (c CTPaginated) Token() string {
if c.Mode == CTMStart {
return "$1"
}
if c.Mode == CTMEnd {
return "$end"
}
return "$" + strconv.Itoa(c.Page)
}
func (c CTPaginated) IsEnd() bool {
return c.Mode == CTMEnd
}