代码拉取完成,页面将自动刷新
package graphql
import (
"math"
"github.com/sensu/sensu-go/backend/apid/graphql/schema"
"github.com/sensu/sensu-go/graphql"
)
var _ schema.OffsetPageInfoFieldResolvers = (*offsetPageInfoImpl)(nil)
type offsetContainer struct {
Nodes interface{}
PageInfo offsetPageInfo
}
type offsetPageInfo struct {
offset int
limit int
totalCount int
}
func newOffsetContainer(offset, limit int) offsetContainer {
container := offsetContainer{}
container.Nodes = make([]interface{}, 0)
container.PageInfo.offset = offset
container.PageInfo.limit = limit
return container
}
//
// Implement OffsetPageInfoFieldResolvers
//
type offsetPageInfoImpl struct{}
// HasNextPage implements response to request for 'hasNextPage' field.
func (*offsetPageInfoImpl) HasNextPage(p graphql.ResolveParams) (bool, error) {
page := p.Source.(offsetPageInfo)
return (page.offset + page.limit) < page.totalCount, nil
}
// HasPreviousPage implements response to request for 'hasPreviousPage' field.
func (*offsetPageInfoImpl) HasPreviousPage(p graphql.ResolveParams) (bool, error) {
page := p.Source.(offsetPageInfo)
return page.offset > 0, nil
}
// NextOffset implements response to request for 'nextOffset' field.
func (*offsetPageInfoImpl) NextOffset(p graphql.ResolveParams) (int, error) {
page := p.Source.(offsetPageInfo)
nextOffset := page.offset + page.limit
if nextOffset < page.totalCount {
return nextOffset, nil
}
return 0, nil
}
// PreviousOffset implements response to request for 'previousOffset' field.
func (*offsetPageInfoImpl) PreviousOffset(p graphql.ResolveParams) (int, error) {
page := p.Source.(offsetPageInfo)
if page.offset > 0 {
prevOffset := page.offset - page.limit
return clampInt(prevOffset, 0, math.MaxInt32), nil
}
return 0, nil
}
// TotalCount implements response to request for 'totalCount' field.
func (*offsetPageInfoImpl) TotalCount(p graphql.ResolveParams) (int, error) {
page := p.Source.(offsetPageInfo)
return page.totalCount, nil
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。