"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var path = require("path");
function targetBaseDir() {
    return {
        shortName: 'tb',
        longName: 'targetBaseDir',
        exampleValue: 'target/folder',
        description: 'target metadata base directory',
        isRequired: true,
        defaultValue: process.cwd()
    };
}
exports.targetBaseDir = targetBaseDir;
function baseDir() {
    return {
        shortName: 'b',
        longName: 'baseDir',
        exampleValue: 'metadata',
        description: 'plexus metadata base directory',
        isRequired: true,
        defaultValue: process.cwd()
    };
}
exports.baseDir = baseDir;
function excludePattern() {
    return {
        shortName: 'e',
        longName: 'exclude',
        exampleValue: '.*options.*',
        description: 'exclude pattern (regexp) to filter *.proto files',
        isRequired: false,
        defaultValue: ''
    };
}
exports.excludePattern = excludePattern;
function generalEntryPoint() {
    return {
        shortName: 'i',
        longName: 'input',
        exampleValue: 'plexus_application.interop',
        isRequired: true,
        description: 'entry point file'
    };
}
exports.generalEntryPoint = generalEntryPoint;
function plexusEntryPoint() {
    return {
        shortName: 'i',
        longName: 'input',
        exampleValue: 'plexus_application.interop',
        isRequired: true,
        description: 'file containing Plexus Component\'s entry point, e.g. rate_provider.interop'
    };
}
exports.plexusEntryPoint = plexusEntryPoint;
function out(defaultValue) {
    if (defaultValue === void 0) { defaultValue = path.join(process.cwd(), 'gen'); }
    return {
        shortName: 'o',
        longName: 'out',
        exampleValue: 'src/gen',
        description: 'output directory',
        isRequired: true,
        defaultValue: defaultValue
    };
}
exports.out = out;
function outFile() {
    return {
        shortName: 'o',
        longName: 'out',
        exampleValue: 'plexus.out.log',
        description: 'output file',
        isRequired: false
    };
}
exports.outFile = outFile;
function namespace(defaultValue) {
    if (defaultValue === void 0) { defaultValue = 'plexus'; }
    return {
        shortName: 'n',
        longName: 'namespace',
        exampleValue: 'plexus',
        isRequired: true,
        description: 'namespace',
        defaultValue: defaultValue
    };
}
exports.namespace = namespace;
function verbose() {
    return {
        shortName: 'v',
        longName: 'verbose',
        isFlag: true,
        description: 'print verbose output'
    };
}
exports.verbose = verbose;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmYXVsdE9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbWFuZHMvRGVmYXVsdE9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFpQkEsMkJBQTZCO0FBRTdCLFNBQWdCLGFBQWE7SUFDekIsT0FBTztRQUNILFNBQVMsRUFBRSxJQUFJO1FBQ2YsUUFBUSxFQUFFLGVBQWU7UUFDekIsWUFBWSxFQUFFLGVBQWU7UUFDN0IsV0FBVyxFQUFFLGdDQUFnQztRQUM3QyxVQUFVLEVBQUUsSUFBSTtRQUNoQixZQUFZLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRTtLQUM5QixDQUFDO0FBQ04sQ0FBQztBQVRELHNDQVNDO0FBRUQsU0FBZ0IsT0FBTztJQUNuQixPQUFPO1FBQ0gsU0FBUyxFQUFFLEdBQUc7UUFDZCxRQUFRLEVBQUUsU0FBUztRQUNuQixZQUFZLEVBQUUsVUFBVTtRQUN4QixXQUFXLEVBQUUsZ0NBQWdDO1FBQzdDLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLFlBQVksRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFFO0tBQzlCLENBQUM7QUFDTixDQUFDO0FBVEQsMEJBU0M7QUFFRCxTQUFnQixjQUFjO0lBQzFCLE9BQU87UUFDSCxTQUFTLEVBQUUsR0FBRztRQUNkLFFBQVEsRUFBRSxTQUFTO1FBQ25CLFlBQVksRUFBRSxhQUFhO1FBQzNCLFdBQVcsRUFBRSxrREFBa0Q7UUFDL0QsVUFBVSxFQUFFLEtBQUs7UUFDakIsWUFBWSxFQUFFLEVBQUU7S0FDbkIsQ0FBQztBQUNOLENBQUM7QUFURCx3Q0FTQztBQUVELFNBQWdCLGlCQUFpQjtJQUM3QixPQUFPO1FBQ0gsU0FBUyxFQUFFLEdBQUc7UUFDZCxRQUFRLEVBQUUsT0FBTztRQUNqQixZQUFZLEVBQUUsNEJBQTRCO1FBQzFDLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLFdBQVcsRUFBRSxrQkFBa0I7S0FDbEMsQ0FBQztBQUNOLENBQUM7QUFSRCw4Q0FRQztBQUVELFNBQWdCLGdCQUFnQjtJQUM1QixPQUFPO1FBQ0gsU0FBUyxFQUFFLEdBQUc7UUFDZCxRQUFRLEVBQUUsT0FBTztRQUNqQixZQUFZLEVBQUUsNEJBQTRCO1FBQzFDLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLFdBQVcsRUFBRSw2RUFBNkU7S0FDN0YsQ0FBQztBQUNOLENBQUM7QUFSRCw0Q0FRQztBQUVELFNBQWdCLEdBQUcsQ0FBQyxZQUFzRDtJQUF0RCw2QkFBQSxFQUFBLGVBQXVCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLEtBQUssQ0FBQztJQUN0RSxPQUFPO1FBQ0gsU0FBUyxFQUFFLEdBQUc7UUFDZCxRQUFRLEVBQUUsS0FBSztRQUNmLFlBQVksRUFBRSxTQUFTO1FBQ3ZCLFdBQVcsRUFBRSxrQkFBa0I7UUFDL0IsVUFBVSxFQUFFLElBQUk7UUFDaEIsWUFBWSxjQUFBO0tBQ2YsQ0FBQztBQUNOLENBQUM7QUFURCxrQkFTQztBQUVELFNBQWdCLE9BQU87SUFDbkIsT0FBTztRQUNILFNBQVMsRUFBRSxHQUFHO1FBQ2QsUUFBUSxFQUFFLEtBQUs7UUFDZixZQUFZLEVBQUUsZ0JBQWdCO1FBQzlCLFdBQVcsRUFBRSxhQUFhO1FBQzFCLFVBQVUsRUFBRSxLQUFLO0tBQ3BCLENBQUM7QUFDTixDQUFDO0FBUkQsMEJBUUM7QUFFRCxTQUFnQixTQUFTLENBQUMsWUFBK0I7SUFBL0IsNkJBQUEsRUFBQSx1QkFBK0I7SUFDckQsT0FBTztRQUNILFNBQVMsRUFBRSxHQUFHO1FBQ2QsUUFBUSxFQUFFLFdBQVc7UUFDckIsWUFBWSxFQUFFLFFBQVE7UUFDdEIsVUFBVSxFQUFFLElBQUk7UUFDaEIsV0FBVyxFQUFFLFdBQVc7UUFDeEIsWUFBWSxjQUFBO0tBQ2YsQ0FBQztBQUNOLENBQUM7QUFURCw4QkFTQztBQUVELFNBQWdCLE9BQU87SUFDbkIsT0FBTztRQUNILFNBQVMsRUFBRSxHQUFHO1FBQ2QsUUFBUSxFQUFFLFNBQVM7UUFDbkIsTUFBTSxFQUFFLElBQUk7UUFDWixXQUFXLEVBQUUsc0JBQXNCO0tBQ3RDLENBQUM7QUFDTixDQUFDO0FBUEQsMEJBT0MifQ==