Skip to content

Commit

Permalink
ociregistry: breaking change: rename SliceIter and ErrorIter after Seq
Browse files Browse the repository at this point in the history
Iter was renamed to Seq in https://cuelang.org/cl/1177264.
Update the two companion types accordingly.

Signed-off-by: Daniel Martí <mvdan@mvdan.cc>
Change-Id: I22c10bd642dbc1a48af95e6b2bf4c210998041c2
Reviewed-on: https://review.gerrithub.io/c/cue-labs/oci/+/1186137
TryBot-Result: CUE porcuepine <cue.porcuepine@gmail.com>
Reviewed-by: Roger Peppe <rogpeppe@gmail.com>
  • Loading branch information
mvdan committed Mar 22, 2024
1 parent cf784f9 commit 43b81f4
Show file tree
Hide file tree
Showing 8 changed files with 28 additions and 28 deletions.
6 changes: 3 additions & 3 deletions ociregistry/func.go
Original file line number Diff line number Diff line change
Expand Up @@ -178,19 +178,19 @@ func (f *Funcs) Repositories(ctx context.Context, startAfter string) Seq[string]
if f != nil && f.Repositories_ != nil {
return f.Repositories_(ctx, startAfter)
}
return ErrorIter[string](f.newError(ctx, "Repositories", ""))
return ErrorSeq[string](f.newError(ctx, "Repositories", ""))
}

func (f *Funcs) Tags(ctx context.Context, repo string, startAfter string) Seq[string] {
if f != nil && f.Tags_ != nil {
return f.Tags_(ctx, repo, startAfter)
}
return ErrorIter[string](f.newError(ctx, "Tags", repo))
return ErrorSeq[string](f.newError(ctx, "Tags", repo))
}

func (f *Funcs) Referrers(ctx context.Context, repo string, digest Digest, artifactType string) Seq[Descriptor] {
if f != nil && f.Referrers_ != nil {
return f.Referrers_(ctx, repo, digest, artifactType)
}
return ErrorIter[Descriptor](f.newError(ctx, "Referrers", repo))
return ErrorSeq[Descriptor](f.newError(ctx, "Referrers", repo))
}
6 changes: 3 additions & 3 deletions ociregistry/iter.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func All[T any](it Seq[T]) (_ []T, _err error) {
return xs, _err
}

func SliceIter[T any](xs []T) Seq[T] {
func SliceSeq[T any](xs []T) Seq[T] {
return func(yield func(T, error) bool) {
for _, x := range xs {
if !yield(x, nil) {
Expand All @@ -46,9 +46,9 @@ func SliceIter[T any](xs []T) Seq[T] {
}
}

// ErrorIter returns an iterator that has no
// ErrorSeq returns an iterator that has no
// items and always returns the given error.
func ErrorIter[T any](err error) Seq[T] {
func ErrorSeq[T any](err error) Seq[T] {
return func(yield func(T, error) bool) {
yield(*new(T), err)
}
Expand Down
8 changes: 4 additions & 4 deletions ociregistry/iter_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,20 @@ import (
"github.com/go-quicktest/qt"
)

func TestSliceIter(t *testing.T) {
func TestSliceSeq(t *testing.T) {
slice := []int{3, 1, 4}
var got []int
for x, err := range SliceIter(slice) {
for x, err := range SliceSeq(slice) {
qt.Assert(t, qt.IsNil(err))
got = append(got, x)
}
qt.Assert(t, qt.DeepEquals(got, slice))
}

func TestErrorIter(t *testing.T) {
func TestErrorSeq(t *testing.T) {
err := errors.New("foo")
i := 0
for s, gotErr := range ErrorIter[string](err) {
for s, gotErr := range ErrorSeq[string](err) {
qt.Assert(t, qt.Equals(i, 0))
qt.Assert(t, qt.Equals(s, ""))
qt.Assert(t, qt.Equals(err, gotErr))
Expand Down
8 changes: 4 additions & 4 deletions ociregistry/ociclient/lister.go
Original file line number Diff line number Diff line change
Expand Up @@ -79,19 +79,19 @@ func (c *client) Referrers(ctx context.Context, repoName string, digest ociregis
ListN: c.listPageSize,
})
if err != nil {
return ociregistry.ErrorIter[ociregistry.Descriptor](err)
return ociregistry.ErrorSeq[ociregistry.Descriptor](err)
}

data, err := io.ReadAll(resp.Body)
resp.Body.Close()
if err != nil {
return ociregistry.ErrorIter[ociregistry.Descriptor](err)
return ociregistry.ErrorSeq[ociregistry.Descriptor](err)
}
var referrersResponse ocispec.Index
if err := json.Unmarshal(data, &referrersResponse); err != nil {
return ociregistry.ErrorIter[ociregistry.Descriptor](fmt.Errorf("cannot unmarshal referrers response: %v", err))
return ociregistry.ErrorSeq[ociregistry.Descriptor](fmt.Errorf("cannot unmarshal referrers response: %v", err))
}
return ociregistry.SliceIter(referrersResponse.Manifests)
return ociregistry.SliceSeq(referrersResponse.Manifests)
}

// pager returns an iterator for a list entry point. It starts by sending the given
Expand Down
4 changes: 2 additions & 2 deletions ociregistry/ocifilter/select.go
Original file line number Diff line number Diff line change
Expand Up @@ -168,14 +168,14 @@ func (r *selectRegistry) Repositories(ctx context.Context, startAfter string) oc

func (r *selectRegistry) Tags(ctx context.Context, repo, startAfter string) ociregistry.Seq[string] {
if !r.allow(repo) {
return ociregistry.ErrorIter[string](ociregistry.ErrNameUnknown)
return ociregistry.ErrorSeq[string](ociregistry.ErrNameUnknown)
}
return r.r.Tags(ctx, repo, startAfter)
}

func (r *selectRegistry) Referrers(ctx context.Context, repo string, digest ociregistry.Digest, artifactType string) ociregistry.Seq[ociregistry.Descriptor] {
if !r.allow(repo) {
return ociregistry.ErrorIter[ociregistry.Descriptor](ociregistry.ErrNameUnknown)
return ociregistry.ErrorSeq[ociregistry.Descriptor](ociregistry.ErrNameUnknown)
}
return r.r.Referrers(ctx, repo, digest, artifactType)
}
8 changes: 4 additions & 4 deletions ociregistry/ocimem/lister.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ func (r *Registry) Tags(ctx context.Context, repoName string, startAfter string)
defer r.mu.Unlock()
repo, err := r.repo(repoName)
if err != nil {
return ociregistry.ErrorIter[string](err)
return ociregistry.ErrorSeq[string](err)
}
return mapKeysIter(repo.tags, stringLess, startAfter)
}
Expand All @@ -42,7 +42,7 @@ func (r *Registry) Referrers(ctx context.Context, repoName string, digest ocireg
defer r.mu.Unlock()
repo, err := r.repo(repoName)
if err != nil {
return ociregistry.ErrorIter[ociregistry.Descriptor](err)
return ociregistry.ErrorSeq[ociregistry.Descriptor](err)
}
var referrers []ociregistry.Descriptor
for _, b := range repo.manifests {
Expand All @@ -55,7 +55,7 @@ func (r *Registry) Referrers(ctx context.Context, repoName string, digest ocireg
sort.Slice(referrers, func(i, j int) bool {
return descriptorLess(referrers[i], referrers[j])
})
return ociregistry.SliceIter(referrers)
return ociregistry.SliceSeq(referrers)
}

func mapKeysIter[K comparable, V any](m map[K]V, less func(K, K) bool, startAfter K) ociregistry.Seq[K] {
Expand All @@ -68,7 +68,7 @@ func mapKeysIter[K comparable, V any](m map[K]V, less func(K, K) bool, startAfte
sort.Slice(ks, func(i, j int) bool {
return less(ks[i], ks[j])
})
return ociregistry.SliceIter(ks)
return ociregistry.SliceSeq(ks)
}

func stringLess(s1, s2 string) bool {
Expand Down
12 changes: 6 additions & 6 deletions ociregistry/ociunify/iter_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,18 +28,18 @@ var mergeIterTests = []struct {
wantErr error
}{{
testName: "IdenticalContents",
it0: ociregistry.SliceIter([]int{1, 2, 3}),
it1: ociregistry.SliceIter([]int{1, 2, 3}),
it0: ociregistry.SliceSeq([]int{1, 2, 3}),
it1: ociregistry.SliceSeq([]int{1, 2, 3}),
want: []int{1, 2, 3},
}, {
testName: "DifferentContents",
it0: ociregistry.SliceIter([]int{0, 1, 2, 3}),
it1: ociregistry.SliceIter([]int{1, 2, 3, 5}),
it0: ociregistry.SliceSeq([]int{0, 1, 2, 3}),
it1: ociregistry.SliceSeq([]int{1, 2, 3, 5}),
want: []int{0, 1, 2, 3, 5},
}, {
testName: "NoItems",
it0: ociregistry.SliceIter[int](nil),
it1: ociregistry.SliceIter[int](nil),
it0: ociregistry.SliceSeq[int](nil),
it1: ociregistry.SliceSeq[int](nil),
want: []int{},
}}

Expand Down
4 changes: 2 additions & 2 deletions ociregistry/ociunify/lister.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ func mergeIter[T any](it0, it1 ociregistry.Seq[T], cmp func(T, T) int) ociregist
notFound0 := errors.Is(err0, ociregistry.ErrNameUnknown)
notFound1 := errors.Is(err1, ociregistry.ErrNameUnknown)
if notFound0 && notFound1 {
return ociregistry.ErrorIter[T](err0)
return ociregistry.ErrorSeq[T](err0)
}
if notFound0 {
err0 = nil
Expand Down Expand Up @@ -87,7 +87,7 @@ func mergeIter[T any](it0, it1 ociregistry.Seq[T], cmp func(T, T) int) ociregist
err = err1
}
if err == nil {
return ociregistry.SliceIter(xs)
return ociregistry.SliceSeq(xs)
}
return func(yield func(T, error) bool) {
for _, x := range xs {
Expand Down

0 comments on commit 43b81f4

Please sign in to comment.