func()

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
			}
		}
	}
}