From 16e57ee3aba3185e0fe257cf14b54cd0e7137c53 Mon Sep 17 00:00:00 2001 From: siiky Date: Mon, 3 Feb 2025 14:35:16 +0000 Subject: [PATCH] refactor: simplify reducing solution --- lib/bill-math.js | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/lib/bill-math.js b/lib/bill-math.js index 8d4515c2..f83ff49c 100644 --- a/lib/bill-math.js +++ b/lib/bill-math.js @@ -129,24 +129,13 @@ const getSolution = (units, amount) => { const solutionToOriginalUnits = (solution, units) => { const billsToAssign = (count, left) => _.clamp(0, count)(_.isNaN(left) || _.isNil(left) ? 0 : left) - - const billsLeft = _.flow( - _.map(([denomination, provisioned]) => [BN(denomination), provisioned]), - _.reduce((acc, value) => { - acc[value[0]] = (acc[value[0]] || BN(0)).plus(value[1]) - return acc - }, - {} - ) - )(solution) - - return _.map( + const billsLeft = Object.fromEntries(solution) + return units.map( ({ count, name, denomination }) => { const provisioned = billsToAssign(count, billsLeft[denomination]) billsLeft[denomination] -= provisioned return { name, denomination, provisioned } - }, - units + } ) }