diff options
| author | 2026-03-07 16:43:13 +0800 | |
|---|---|---|
| committer | 2026-03-07 16:43:59 +0800 | |
| commit | 7d6c80d1540f8bc06bc6a31086b3723bed7c95db (patch) | |
| tree | f0f46fd35fed61a24b4fc1b2d1557b81bea9b26a /mergebase/seq.go | |
| parent | internal/commitquery: paintDown only paints, don't collect (diff) | |
| signature | No signature | |
mergebase: No fake iterator API first and idempotency
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 -} |
