UNPKG

uno-js

Version:

JS/TS common used functions, zero dependencies

24 lines (23 loc) 1.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAverage = exports.sumBy = exports.sumByName = exports.selectNumberBy = exports.selectNumberByName = exports.identity = exports.nameof = void 0; const nameof = (name) => name; exports.nameof = nameof; const identity = (x) => x; exports.identity = identity; const selectNumberByName = (data, name) => data.map((i) => Number(i[name])); exports.selectNumberByName = selectNumberByName; const selectNumberBy = (data, selector) => data.map(selector).map((x) => Number(x)); exports.selectNumberBy = selectNumberBy; const sumByName = (data, name, callBack) => { const innerCallback = callBack ?? exports.identity; return (0, exports.selectNumberByName)(data, name).reduce((acc, item) => innerCallback(acc + item), 0); }; exports.sumByName = sumByName; const sumBy = (data, selector, callBack) => { const innerCallback = callBack ?? exports.identity; return (0, exports.selectNumberBy)(data, selector).reduce((acc, item) => innerCallback(acc + item), 0); }; exports.sumBy = sumBy; const getAverage = (data, prop) => (0, exports.sumByName)(data, prop) / data.length; exports.getAverage = getAverage;