'use strict';

const config = require('config');
const yargs = require('yargs');

function getArgs() {
    return yargs.command('npm start -- --user <username>').option('users', {
        alias: 'user',
        describe: 'Reddit usernames to fetch posts from',
        type: 'array',
    }).option('posts', {
        alias: 'post',
        describe: 'Reddit post IDs to fetch',
        type: 'array',
    }).option('limit', {
        describe: 'Maximum amount of posts to fetch per supplied user (!), after filtering out ignored, cross- and reposts',
        type: 'number',
        default: config.fetch.limit,
    }).option('sort', {
        describe: 'Property to sort posts by',
        choices: ['new', 'top', 'hot', 'controversial'],
        default: config.fetch.sort,
    }).option('ignore', {
        describe: 'Ignore posts with any of these properties',
        type: 'array',
        choices: ['pinned', 'stickied', 'hidden', 'spoiler', 'over_18'],
    }).option('include', {
        describe: 'Include only these sources',
        type: 'array',
    }).option('exclude', {
        describe: 'Do not include these sources',
        type: 'array',
    }).option('archives', {
        describe: 'Search archives for deleted posts',
        type: 'boolean',
        default: config.fetch.archives.search,
    }).argv;
}

module.exports = getArgs;