use super::funejson::Value; use super::money_add::add_money; use super::money_amount::{money, money_from_value, money_to_value, Money}; /// # Panics /// Panics if any amount is in a different currency. pub fn sum_money(amounts: &[Money], currency: &str) -> Money { let mut total = money(0, currency); for amount in amounts { total = add_money(&total, amount); } total } pub fn fune_vector(args: &[Value]) -> Value { let amounts: Vec = args[0].as_arr().iter().map(money_from_value).collect(); money_to_value(&sum_money(&amounts, args[1].as_str())) }