UNPKG

@broadcom/jclcheck-for-zowe-cli

Version:

JCLCheck Plug-in for Zowe CLI

79 lines (77 loc) 2.96 kB
/** * Copyright (c) 2025. Broadcom. All rights reserved. The term * "Broadcom" refers to Broadcom Inc. and/or its subsidiaries. * * 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 BROADCOM IS * EXPRESSLY ADVISED OF SUCH LOSS OR DAMAGE. * **/ 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; }