github.com/treeverse/lakefs@v1.24.1-0.20240520134607-95648127bfb0/pkg/graveler/committed/value_iterator.go (about)

     1  package committed
     2  
     3  import "github.com/treeverse/lakefs/pkg/graveler"
     4  
     5  type valueIterator struct {
     6  	it Iterator
     7  }
     8  
     9  func (v *valueIterator) Next() bool {
    10  	for v.it.Next() {
    11  		if val, _ := v.it.Value(); val != nil {
    12  			return true
    13  		}
    14  	}
    15  	return false
    16  }
    17  
    18  func (v *valueIterator) SeekGE(id graveler.Key) {
    19  	v.it.SeekGE(id)
    20  }
    21  
    22  func (v *valueIterator) Value() *graveler.ValueRecord {
    23  	rec, _ := v.it.Value()
    24  	return rec
    25  }
    26  
    27  func (v *valueIterator) Err() error {
    28  	return v.it.Err()
    29  }
    30  
    31  func (v *valueIterator) Close() {
    32  	v.it.Close()
    33  }
    34  
    35  func NewValueIterator(it Iterator) graveler.ValueIterator {
    36  	return &valueIterator{
    37  		it: it,
    38  	}
    39  }