From 7d6c80d1540f8bc06bc6a31086b3723bed7c95db Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Sat, 7 Mar 2026 16:43:13 +0800 Subject: mergebase: No fake iterator API first and idempotency --- mergebase/seq.go | 47 ----------------------------------------------- 1 file changed, 47 deletions(-) delete mode 100644 mergebase/seq.go (limited to 'mergebase/seq.go') 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 -} -- cgit v1.3.1-10-gc9f91