Mike Schwörer
e154137105
All checks were successful
Build Docker and Deploy / Run goext test-suite (push) Successful in 2m11s
34 lines
420 B
Go
34 lines
420 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)
|
|
}
|