ledger_utils/
join_ledgers.rs1use crate::Ledger;
2
3pub fn join_ledgers(ledgers: Vec<Ledger>) -> Ledger {
4 let mut ledger = Ledger {
5 commodity_prices: Vec::new(),
6 transactions: Vec::new(),
7 };
8
9 for mut src_ledger in ledgers {
10 ledger
11 .commodity_prices
12 .append(&mut src_ledger.commodity_prices);
13 ledger.transactions.append(&mut src_ledger.transactions);
14 }
15
16 ledger.commodity_prices.sort_by_key(|price| price.datetime);
17 ledger.transactions.sort_by_key(|txn| txn.date);
18
19 ledger
20}