UNPKG

@broadcom/jclcheck-for-zowe-cli

Version:

JCLCheck Plug-in for Zowe CLI

78 lines (77 loc) 2.95 kB
/** * Copyright (c) 2023. Broadcom. All rights reserved. * * This software and all information contained therein is confidential and * proprietary and shall not be duplicated, used, disclosed or disseminated * in any way except as authorized by the applicable license agreement, * without the express written permission of BROADCOM. All authorized reproductions * must be marked with this language. * * EXCEPT AS SET FORTH IN THE APPLICABLE LICENSE AGREEMENT, TO THE EXTENT * PERMITTED BY APPLICABLE LAW, BROADCOM PROVIDES THIS SOFTWARE WITHOUT * WARRANTY OF ANY KIND, INCLUDING WITHOUT LIMITATION, ANY IMPLIED * WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN * NO EVENT WILL BROADCOM BE LIABLE TO THE END USER OR ANY THIRD PARTY FOR ANY * LOSS OR DAMAGE, DIRECT OR INDIRECT, FROM THE USE OF THIS SOFTWARE, * INCLUDING WITHOUT LIMITATION, LOST PROFITS, BUSINESS INTERRUPTION, * GOODWILL, OR LOST DATA, EVEN IF CA IS EXPRESSLY ADVISED OF SUCH LOSS OR * DAMAGE. * * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries. * **/ import { ILoadConfig } from "../interface/ILoadConfig"; import ILoadedConfig from "../interface/ILoadedConfig"; export default class ConfigYaml { static readonly DefaultConfigFile: string; static readonly DefaultUserConfigFile: string; static readonly EnvPrefix = "ZOWE_TASKS"; /** * Load the configuration file and optionally the user configuration file. * The result is a complete IConfig object available. * @param configPath The yaml file path. * @param userConfigPath The user config yaml file path. */ static load(options?: ILoadConfig): Promise<ConfigYaml>; private configPath; private userConfigPaths; private loadedConfig; private loadedInputs; private userConfig; private constructor(); /** * Returns the loaded config */ get config(): ILoadedConfig; /** * Builds the full set of tasks in the loaded config file. */ /** * Get the file path of the configuration file used */ get path(): string; /** * Gather user input from various sources (prompt, env, or user config file) * @param inputs The various inputs and their sources * @param userConfig The use configuration to check if values are specified. */ private gatherInput; /** * Process the input value and return either a string, number, or boolean * value. * @param value The value that was inputted as a string. * @param input The input parameters. */ private processInputValue; /** * Ask the user a question and obtain a response. * @param rl The readline interface object that was previously created. * @param question The question to ask. */ private ask; /** * Load a yaml file into an object. * @param filePath The full path to the yaml file. */ private loadYaml; }