From cd38f0669fd6eadf348e7999c307f4336a338d38 Mon Sep 17 00:00:00 2001 From: Bel LaPointe Date: Wed, 25 Oct 2023 11:27:01 -0600 Subject: [PATCH] file.Delta has sorted transactions with isSet --- ledger/file.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ledger/file.go b/ledger/file.go index b590b77..2d9e928 100644 --- a/ledger/file.go +++ b/ledger/file.go @@ -4,6 +4,7 @@ import ( "fmt" "io" "os" + "sort" "unicode" ) @@ -89,6 +90,10 @@ func (files Files) Deltas(like ...Like) (Deltas, error) { if err != nil { return nil, err } + sort.Slice(transactions, func(i, j int) bool { + return fmt.Sprintf("%s %s", transactions[i].date, transactions[i].description) < fmt.Sprintf("%s %s", transactions[j].date, transactions[j].description) + }) + result := make(Deltas, 0, len(transactions)*2) for _, transaction := range transactions { sums := map[string]float64{}