|
|
|
|
const { pathOr, hasPath } = require('ramda');
|
|
|
|
|
const parseArgs = require('minimist');
|
|
|
|
|
const process = require('process');
|
|
|
|
|
|
|
|
|
|
const event_url = (event_id) => `https://www.facebook.com/events/${event_id}`;
|
|
|
|
|
|
|
|
|
|
const page_url = (page_id) => `https://www.facebook.com/${page_id}`;
|
|
|
|
|
|
|
|
|
|
const page_events_url = (page_id) => page_url(page_id) + '/events/';
|
|
|
|
|
|
|
|
|
|
export const parse_args = (args) => {
|
|
|
|
|
const argv = parseArgs(args);
|
|
|
|
|
|
|
|
|
|
const has_help_param =
|
|
|
|
|
hasPath(['h'], argv) || hasPath(['help'], argv) || hasPath(['?'], argv);
|
|
|
|
|
if (has_help_param) {
|
|
|
|
|
process.exit(1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const away_empty_strings = (str) => str.length !== 0;
|
|
|
|
|
const page_id_to_page_events_url = page_events_url;
|
|
|
|
|
const parse_param = (param) =>
|
|
|
|
|
pathOr('', [param], argv)
|
|
|
|
|
.split(',')
|
|
|
|
|
.filter(away_empty_strings)
|
|
|
|
|
.map(page_id_to_page_events_url);
|
|
|
|
|
|
|
|
|
|
const events = pathOr(null, ['events'], argv);
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
page_ids: [
|
|
|
|
|
...parse_param('page'),
|
|
|
|
|
...parse_param('p'),
|
|
|
|
|
...parse_param('pages'),
|
|
|
|
|
],
|
|
|
|
|
events,
|
|
|
|
|
};
|
|
|
|
|
};
|