in util/gcs/fake/fake.go [359:389]
func (fi *Iterator) Next() (*storage.ObjectAttrs, error) {
if fi.ctx.Err() != nil {
return nil, fi.ctx.Err()
}
if fi.ErrOpen != nil {
return nil, fi.ErrOpen
}
for fi.Idx < len(fi.Objects) {
if fi.Offset == "" {
break
}
name, prefix := fi.Objects[fi.Idx].Name, fi.Objects[fi.Idx].Prefix
if name != "" && name < fi.Offset {
continue
}
if prefix != "" && prefix < fi.Offset {
continue
}
fi.Idx++
}
if fi.Idx >= len(fi.Objects) {
return nil, iterator.Done
}
if fi.Idx > 0 && fi.Idx == fi.Err {
return nil, errors.New("injected Iterator error")
}
o := fi.Objects[fi.Idx]
fi.Idx++
return &o, nil
}