src/reductioAggregators.js
'use strict'
// var _ = require('./lodash') // _ is defined but never used
module.exports = {
shorthandLabels: {
$count: 'count',
$sum: 'sum',
$avg: 'avg',
$min: 'min',
$max: 'max',
$med: 'med',
$sumSq: 'sumSq',
$std: 'std',
},
aggregators: {
$count: $count,
$sum: $sum,
$avg: $avg,
$min: $min,
$max: $max,
$med: $med,
$sumSq: $sumSq,
$std: $std,
$valueList: $valueList,
$dataList: $dataList,
},
}
// Aggregators
function $count(reducer/* , value */) {
return reducer.count(true)
}
function $sum(reducer, value) {
return reducer.sum(value)
}
function $avg(reducer, value) {
return reducer.avg(value)
}
function $min(reducer, value) {
return reducer.min(value)
}
function $max(reducer, value) {
return reducer.max(value)
}
function $med(reducer, value) {
return reducer.median(value)
}
function $sumSq(reducer, value) {
return reducer.sumOfSq(value)
}
function $std(reducer, value) {
return reducer.std(value)
}
function $valueList(reducer, value) {
return reducer.valueList(value)
}
function $dataList(reducer/* , value */) {
return reducer.dataList(true)
}
// TODO histograms
// TODO exceptions