diff --git a/branch_test.go b/branch_test.go index 7db509b..ee65b07 100644 --- a/branch_test.go +++ b/branch_test.go @@ -32,7 +32,7 @@ func TestBranchIterator(t *testing.T) { checkFatal(t, err) list := make([]string, 0) - for ref := range ReferenceNameIteratorChannel(i) { + for ref := range NameIteratorChannel(i) { list = append(list, ref) } diff --git a/reference.go b/reference.go index 7d28115..493663a 100644 --- a/reference.go +++ b/reference.go @@ -185,12 +185,16 @@ func (v *Reference) Free() { C.git_reference_free(v.ptr) } -type ReferenceIterator interface { - Next() (*Reference, error) +type NameIterator interface { NextName() (string, error) Free() } +type ReferenceIterator interface { + NameIterator + Next() (*Reference, error) +} + type gitReferenceIterator struct { ptr *C.git_reference_iterator } @@ -255,7 +259,7 @@ func (v *gitReferenceIterator) NextName() (string, error) { // Create a channel from the iterator. You can use range on the // returned channel to iterate over all the references names. The channel // will be closed in case any error is found. -func ReferenceNameIteratorChannel(v ReferenceIterator) <-chan string { +func NameIteratorChannel(v NameIterator) <-chan string { ch := make(chan string) go func() { defer close(ch) diff --git a/reference_test.go b/reference_test.go index 331bc74..b4ff588 100644 --- a/reference_test.go +++ b/reference_test.go @@ -138,7 +138,7 @@ func TestReferenceIterator(t *testing.T) { // test the channel iteration list = []string{} iter, err = repo.NewReferenceIterator() - for name := range ReferenceNameIteratorChannel(iter) { + for name := range NameIteratorChannel(iter) { list = append(list, name) } @@ -152,7 +152,7 @@ func TestReferenceIterator(t *testing.T) { } list = []string{} - for name := range ReferenceNameIteratorChannel(iter) { + for name := range NameIteratorChannel(iter) { list = append(list, name) }