summaryrefslogtreecommitdiff
path: root/index.js
blob: cefd7e90720d84198376cc82214eb86b042b3694 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/node

const R  = require('ramda'),
  Future = require('fluture'),
  moment = require('moment'),
  source = require('./source'),
  params = require('./params'),
  reduce = require('./reduce'),
  config = require('./config');

function main() {
  const paramsForHourSample = params.paramsForHourSample(config.api);
  const loadFApi            = source.loadFApi(config.etl);
  const aggregatePayloads   = reduce.aggregatePayloads(config.reduce);
  const deriveStatistics    = reduce.deriveStatistics(config.reduce);

  const requests = R.map(R.apply(loadFApi), paramsForHourSample(moment().subtract(1, 'days')));

  /* main */
  Future.parallel(1, requests)
    .map(R.compose(deriveStatistics, aggregatePayloads, R.unnest))
    .value(R.compose(console.log, (a) => JSON.stringify(a, null, 2)));
}

main();