Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
207fd331d5
|
|||
54b0d6701d
|
@@ -11,6 +11,7 @@ import (
|
|||||||
|
|
||||||
type CursorToken interface {
|
type CursorToken interface {
|
||||||
Token() string
|
Token() string
|
||||||
|
IsEnd() bool
|
||||||
}
|
}
|
||||||
|
|
||||||
type Mode string
|
type Mode string
|
||||||
|
@@ -111,6 +111,10 @@ func (c CTKeySort) Token() string {
|
|||||||
return "tok_" + base32.StdEncoding.EncodeToString(body)
|
return "tok_" + base32.StdEncoding.EncodeToString(body)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c CTKeySort) IsEnd() bool {
|
||||||
|
return c.Mode == CTMEnd
|
||||||
|
}
|
||||||
|
|
||||||
func (c CTKeySort) valuePrimaryObjectId() (primitive.ObjectID, bool) {
|
func (c CTKeySort) valuePrimaryObjectId() (primitive.ObjectID, bool) {
|
||||||
if oid, err := primitive.ObjectIDFromHex(c.ValuePrimary); err == nil {
|
if oid, err := primitive.ObjectIDFromHex(c.ValuePrimary); err == nil {
|
||||||
return oid, true
|
return oid, true
|
||||||
|
@@ -31,3 +31,7 @@ func (c CTPaginated) Token() string {
|
|||||||
|
|
||||||
return "$" + strconv.Itoa(c.Page)
|
return "$" + strconv.Itoa(c.Page)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c CTPaginated) IsEnd() bool {
|
||||||
|
return c.Mode == CTMEnd
|
||||||
|
}
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
package goext
|
package goext
|
||||||
|
|
||||||
const GoextVersion = "0.0.538"
|
const GoextVersion = "0.0.540"
|
||||||
|
|
||||||
const GoextVersionTimestamp = "2024-10-27T02:18:45+0200"
|
const GoextVersionTimestamp = "2024-10-28T14:35:05+0100"
|
||||||
|
@@ -10,6 +10,10 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func (c *Coll[TData]) List(ctx context.Context, filter ct.Filter, pageSize *int, inTok ct.CursorToken) ([]TData, ct.CursorToken, error) {
|
func (c *Coll[TData]) List(ctx context.Context, filter ct.Filter, pageSize *int, inTok ct.CursorToken) ([]TData, ct.CursorToken, error) {
|
||||||
|
if inTok == nil {
|
||||||
|
inTok = ct.Start()
|
||||||
|
}
|
||||||
|
|
||||||
if ctks, ok := inTok.(ct.CTKeySort); ok {
|
if ctks, ok := inTok.(ct.CTKeySort); ok {
|
||||||
d, tok, err := c.listWithKSToken(ctx, filter, pageSize, ctks)
|
d, tok, err := c.listWithKSToken(ctx, filter, pageSize, ctks)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Reference in New Issue
Block a user