"use strict";
/*
* This program and the accompanying materials are made available under the terms of the
* Eclipse Public License v2.0 which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-v20.html
*
* SPDX-License-Identifier: EPL-2.0
*
* Copyright Contributors to the Zowe Project.
*
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.DataSetsDefinition = void 0;
const Download_options_1 = require("../../download/Download.options");
// Does not use the import in anticipation of some internationalization work to be done later.
const strings = require("../../-strings-/en").default.SEARCH;
const dataSetStrings = strings.ACTIONS.DS;
/**
 * List all data sets and members command definition containing its description, examples and/or options
 * @type {ICommandDefinition}
 */
exports.DataSetsDefinition = {
    name: "data-sets",
    aliases: ["ds"],
    summary: dataSetStrings.SUMMARY,
    description: dataSetStrings.DESCRIPTION,
    type: "command",
    handler: __dirname + "/DataSets.handler",
    profile: {
        optional: ["zosmf"]
    },
    positionals: [
        {
            name: "pattern",
            description: dataSetStrings.POSITIONALS.PATTERN,
            type: "string",
            required: true
        },
        {
            name: "searchString",
            description: strings.OPTIONS.SEARCHSTRING,
            type: "string",
            required: true
        }
    ],
    options: [
        {
            name: "case-sensitive",
            aliases: ["cs"],
            description: dataSetStrings.OPTIONS.CASESENSITIVE,
            type: "boolean",
            defaultValue: false
        },
        {
            name: "encoding",
            aliases: ["ec"],
            description: dataSetStrings.OPTIONS.ENCODING,
            type: "string"
        },
        {
            name: "mainframe-search",
            aliases: ["ms"],
            description: dataSetStrings.OPTIONS.MAINFRAMESEARCH,
            type: "boolean",
            defaultValue: false
        },
        {
            name: "max-concurrent-requests",
            aliases: ["mcr"],
            description: dataSetStrings.OPTIONS.MAX_CONCURRENT_REQUESTS,
            type: "number",
            defaultValue: 1,
            numericValueRange: [1, Download_options_1.maxConcurrentRequestsMaxValue]
        },
        {
            name: "timeout",
            aliases: ["to"],
            description: dataSetStrings.OPTIONS.TIMEOUT,
            type: "number"
        },
        {
            name: "regex",
            aliases: ["re"],
            description: dataSetStrings.OPTIONS.REGEX,
            type: "boolean",
            defaultValue: false
        },
        {
            name: "search-exact-name",
            aliases: ["sen"],
            description: dataSetStrings.OPTIONS.SEARCHEXACTNAME,
            type: "boolean",
            defaultValue: false
        }
    ],
    examples: [
        {
            description: dataSetStrings.EXAMPLES.EX1.DESCRIPTION,
            options: dataSetStrings.EXAMPLES.EX1.OPTIONS
        },
        {
            description: dataSetStrings.EXAMPLES.EX2.DESCRIPTION,
            options: dataSetStrings.EXAMPLES.EX2.OPTIONS
        },
        {
            description: dataSetStrings.EXAMPLES.EX3.DESCRIPTION,
            options: dataSetStrings.EXAMPLES.EX3.OPTIONS
        },
        {
            description: dataSetStrings.EXAMPLES.EX4.DESCRIPTION,
            options: dataSetStrings.EXAMPLES.EX4.OPTIONS
        },
        {
            description: dataSetStrings.EXAMPLES.EX5.DESCRIPTION,
            options: dataSetStrings.EXAMPLES.EX5.OPTIONS
        }
    ]
};
//# sourceMappingURL=DataSets.definition.js.map