From d47101215f5e347abd899fde75401cd5a73f67b3 Mon Sep 17 00:00:00 2001 From: siiky Date: Mon, 23 Oct 2023 10:35:28 +0100 Subject: [PATCH] refactor: inline one step --- lib/plugins.js | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/lib/plugins.js b/lib/plugins.js index 9356137a..7f4934b5 100644 --- a/lib/plugins.js +++ b/lib/plugins.js @@ -161,20 +161,18 @@ function plugins (settings, deviceId) { return _.map(([acc, bill]) => acc + bill.provisioned, _.zip(sum, bills)) } - const counts = _.flow( + recyclers = _.flow( + // Sum "used" bills per recycler _.reduce(sumTxs, _.map(_.constant(0), recyclers)), - _.zip(_.map('count', recyclers)), - _.map(([count, provisioned]) => count - provisioned), + _.zip(recyclers), + // Remove used bills from recycler counts + _.map(([recycler, provisioned]) => _.set('count', recycler.count - provisioned, recycler)), )(redeemableTxs) - if (_.some(_.lt(_, 0), counts)) { + if (_.some(({ count }) => count < 0, recyclers)) throw new Error('Negative note count: %j', counts) - } - return _.map( - recycler => _.set('count', counts[recycler.number], recycler), - recyclers - ) + return recyclers } function buildAvailableCassettes (excludeTxId) {