summaryrefslogtreecommitdiff
path: root/index.js
blob: 12decf26fc9eeebb442328083d20f26724c001a4 (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
26
27
28
29
30
#!/usr/bin/node

const R  = require('ramda'),
  etl    = require('./etl'),
  reduce = require('./reduce'),
  config = require('./config');

function main() {
  const loadFPayloads     = etl.loadFPayloads(config.etl);
  const aggregatePayloads = reduce.aggregatePayloads(config.reduce);
  const deriveStatistics  = reduce.deriveStatistics(config.reduce);

  let pages   = [0, 5, 10, 15, 20, 25];
  let regions = ['sg', 'eu', 'na'];

  const params   = R.xprod(regions, pages);
  const requests = R.map(
    R.apply((region, page) => loadFPayloads(
      `/shards/${region}/matches`,
      { 'sort': '-createdAt', 'filter[gameMode]': 'blitz_pvp_ranked', 'page[limit]': '5', 'page[offset]': page },
    )),
    params);

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

main();