in internal/database/util.go [45:72]
func (iter queryItemsIterator[T]) Items(ctx context.Context) DBClientIteratorItem[T] {
return func(yield func(string, *T) bool) {
for iter.pager.More() {
response, err := iter.pager.NextPage(ctx)
if err != nil {
iter.err = err
return
}
if iter.singlePage && response.ContinuationToken != nil {
iter.continuationToken = *response.ContinuationToken
}
for _, item := range response.Items {
typedDoc, innerDoc, err := typedDocumentUnmarshal[T](item)
if err != nil {
iter.err = err
return
}
if !yield(typedDoc.ID, innerDoc) {
return
}
}
if iter.singlePage {
return
}
}
}
}