diff options
Diffstat (limited to 'mergebase/seq.go')
| -rw-r--r-- | mergebase/seq.go | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/mergebase/seq.go b/mergebase/seq.go deleted file mode 100644 index e7891737..00000000 --- a/mergebase/seq.go +++ /dev/null @@ -1,47 +0,0 @@ -package mergebase - -import ( - "errors" - "iter" - - "codeberg.org/lindenii/furgit/objectid" -) - -// Seq returns the merge-base sequence. It is single-use. -func (query *Bases) Seq() iter.Seq[objectid.ObjectID] { - if query.seqUsed { - return func(yield func(objectid.ObjectID) bool) { - _ = yield - - if query.err == nil { - query.err = errors.New("mergebase: sequence already consumed") - } - } - } - - query.seqUsed = true - - return func(yield func(objectid.ObjectID) bool) { - if query.err != nil { - return - } - - bases, err := query.compute() - if err != nil { - query.err = err - - return - } - - for _, id := range bases { - if !yield(id) { - return - } - } - } -} - -// Err returns the terminal error, if any, once Seq has been consumed. -func (query *Bases) Err() error { - return query.err -} |
