From 0b16c89884f8c586b5edffa612af02144e3006a2 Mon Sep 17 00:00:00 2001 From: schneefux Date: Thu, 10 May 2018 13:40:40 +0200 Subject: merge 'NoTalent' and null talents --- backend/index.js | 3 ++- backend/reduce.js | 8 ++++++++ data | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/backend/index.js b/backend/index.js index 45869fb..9679a02 100644 --- a/backend/index.js +++ b/backend/index.js @@ -11,6 +11,7 @@ const R = require('ramda'), const loadFTimestamped = source.loadFTimestamped(config); const deriveStatistics = reduce.deriveStatistics(config.reduce); const aggregatePayloads = reduce.aggregatePayloads(config.reduce); +const cleanPayloads = reduce.cleanPayloads(config.reduce); const saveFPayloads = file.saveFPayloads(config.file); function main() { @@ -22,7 +23,7 @@ function main() { const futures = R.map(loadFTimestamped, laterMoments); Future.parallel(1, futures) - .map(R.compose(deriveStatistics, aggregatePayloads, R.unnest)) + .map(R.compose(deriveStatistics, aggregatePayloads, cleanPayloads, R.unnest)) .chain(saveFPayloads(config.file.reportPattern())) .fork(console.error, (d) => console.log(JSON.stringify(d, null, 2))); } diff --git a/backend/reduce.js b/backend/reduce.js index 3ac9da2..519004c 100644 --- a/backend/reduce.js +++ b/backend/reduce.js @@ -3,6 +3,13 @@ const R = require('ramda'), utils = require('./utils'); +function cleanPayloads(config) { + return R.map(R.pipe( + // some Talents are 'null', some are 'NoTalent' + R.over(R.lensProp('Talent'), R.defaultTo('NoTalent')), + )); +} + function aggregatePayloads(config) { // Ramda group() only groups neighbors, so sort beforehand const sorter = R.props(config.group); @@ -46,6 +53,7 @@ function deriveStatistics(config) { } module.exports = { + cleanPayloads, aggregatePayloads, deriveStatistics, }; diff --git a/data b/data index 9d0679b..f74e4eb 160000 --- a/data +++ b/data @@ -1 +1 @@ -Subproject commit 9d0679b024c61722ce3b99b0040776a15910efdf +Subproject commit f74e4eb73fb9f7178d6e9a6dfd7f799f5319c340 -- cgit v1.3.1