diff options
Diffstat (limited to 'internal/ap/collections.go')
-rw-r--r-- | internal/ap/collections.go | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/internal/ap/collections.go b/internal/ap/collections.go index c55bbe70b..62c81fd57 100644 --- a/internal/ap/collections.go +++ b/internal/ap/collections.go @@ -105,6 +105,15 @@ func (iter *regularCollectionIterator) PrevItem() TypeOrIRI { return cur } +func (iter *regularCollectionIterator) TotalItems() int { + totalItems := iter.GetActivityStreamsTotalItems() + if totalItems == nil || !totalItems.IsXMLSchemaNonNegativeInteger() { + return -1 + } + + return totalItems.Get() +} + func (iter *regularCollectionIterator) initItems() bool { if iter.once { return (iter.items != nil) @@ -147,6 +156,15 @@ func (iter *orderedCollectionIterator) PrevItem() TypeOrIRI { return cur } +func (iter *orderedCollectionIterator) TotalItems() int { + totalItems := iter.GetActivityStreamsTotalItems() + if totalItems == nil || !totalItems.IsXMLSchemaNonNegativeInteger() { + return -1 + } + + return totalItems.Get() +} + func (iter *orderedCollectionIterator) initItems() bool { if iter.once { return (iter.items != nil) @@ -203,6 +221,15 @@ func (iter *regularCollectionPageIterator) PrevItem() TypeOrIRI { return cur } +func (iter *regularCollectionPageIterator) TotalItems() int { + totalItems := iter.GetActivityStreamsTotalItems() + if totalItems == nil || !totalItems.IsXMLSchemaNonNegativeInteger() { + return -1 + } + + return totalItems.Get() +} + func (iter *regularCollectionPageIterator) initItems() bool { if iter.once { return (iter.items != nil) @@ -259,6 +286,15 @@ func (iter *orderedCollectionPageIterator) PrevItem() TypeOrIRI { return cur } +func (iter *orderedCollectionPageIterator) TotalItems() int { + totalItems := iter.GetActivityStreamsTotalItems() + if totalItems == nil || !totalItems.IsXMLSchemaNonNegativeInteger() { + return -1 + } + + return totalItems.Get() +} + func (iter *orderedCollectionPageIterator) initItems() bool { if iter.once { return (iter.items != nil) |