Repository URL to install this package:
|
Version:
1.2.13 ▾
|
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.sumProps = void 0;
var _chainAbleBoost = require("chain-able-boost");
/**
* @TODO @MICHAEL finish / use Ramda
*
* @desc reduce an array based on properties or paths
* @param {Array|string} props
* @param {Array} list
* @return {Number}
*
* @see https://github.com/ramda/ramda/issues/606
* @alias sumOfProps
* @alias sumOfAllPropsOr
*
* @example
*
* sumProps('price', [{price: 1}, {price: 2}]) //=> 3
*/
const sumProps = (0, _chainAbleBoost.curry2)((props, list, fallback = 0) => list.reduce((sum, item) => sum + item[props], 0) || fallback // R.pipe(R.props([props]), R.sum)(list)
);
exports.sumProps = sumProps;
var _default = sumProps;
exports.default = _default;