github.com/weaviate/weaviate@v1.24.6/entities/filters/cursor.go (about) 1 // _ _ 2 // __ _____ __ ___ ___ __ _| |_ ___ 3 // \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \ 4 // \ V V / __/ (_| |\ V /| | (_| | || __/ 5 // \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___| 6 // 7 // Copyright © 2016 - 2024 Weaviate B.V. All rights reserved. 8 // 9 // CONTACT: hello@weaviate.io 10 // 11 12 package filters 13 14 type Cursor struct { 15 After string `json:"after"` 16 Limit int `json:"limit"` 17 } 18 19 // ExtractCursorFromArgs gets the limit key out of a map. Not specific to 20 // GQL, but can be used from GQL 21 func ExtractCursorFromArgs(args map[string]interface{}) (*Cursor, error) { 22 after, afterOk := args["after"] 23 24 limit, limitOk := args["limit"] 25 if !limitOk || limit.(int) < 0 { 26 limit = LimitFlagNotSet 27 } 28 29 if !afterOk && !limitOk || after == nil { 30 return nil, nil 31 } 32 33 return &Cursor{ 34 After: after.(string), 35 Limit: limit.(int), 36 }, nil 37 }