github.com/TrueBlocks/trueblocks-core/src/apps/chifra@v0.0.0-20241022031540-b362680128f7/pkg/rpc/provider/paginator.go (about)

     1  package provider
     2  
     3  import "errors"
     4  
     5  var ErrPaginatorDone = errors.New("calling paginator that is in done state")
     6  
     7  // Paginator takes care of telling us either which page to fetch next or that we
     8  // fetched all pages.
     9  type Paginator interface {
    10  	// Page returns current page
    11  	Page() any
    12  
    13  	// PerPage returns number of items we request per page
    14  	PerPage() int
    15  	NextPage() error
    16  
    17  	// Done returns true if we fetched all pages
    18  	Done() bool
    19  	SetPage(page any) error
    20  	SetNextPage(page any) error
    21  	SetDone(bool)
    22  }