@broadcom/ops-for-zowe-cli
Version:
OPS/MVS® Plug-in for Zowe CLI
107 lines • 4.61 kB
JavaScript
;
/*
* Copyright (c) 2024 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.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.ParmsListUtils = void 0;
const constants_1 = require("../constants");
const OpsTextUtils_1 = require("./OpsTextUtils");
let headerText = "SSM Parms on subsystem: ";
class ParmsListUtils {
static printShowParmsResponse(response, params, subsystem) {
let output = "";
let jsonString = JSON.stringify(response);
jsonString = jsonString.replace("{", "");
jsonString = jsonString.replace("}", "");
const parmsList = jsonString.split(',');
for (let i = 0; i < parmsList.length; i++) {
const parm = parmsList[i];
output = output + ParmsListUtils.formatOutputFromArrayRestApi(parm, i, subsystem, params);
}
// close out JSON
if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.JSON) {
output = output + "}}";
}
return output;
}
static formatOutputFromArrayRestApi(parm, i, subsystem, params) {
let output = "";
if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.CSV) {
if (i === 0) {
output = `${output}${ParmsListUtils.formatCsvHeaderResponse()}`;
}
output = `${output}\n${ParmsListUtils.formatCsvDataResponse(parm, subsystem)}`;
}
else if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.JSON) {
if (i === 0) {
output = output + `{"subsystem": "${subsystem}", "SSM parms": {`;
}
else if (i > 0) {
output = output + ", ";
}
output = `${output}${ParmsListUtils.formatJsonDataResponse(parm)}`;
}
else if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.NAMEVALUECOLOR) {
if (i === 0) {
output = `${output}${ParmsListUtils.formatNameValueHeaderParmsResponse(subsystem, true)}`;
}
output = `${output}${ParmsListUtils.formatNameValueColorParmsResponse(parm)}`;
}
else {
if (i === 0) {
output = `${output}${ParmsListUtils.formatNameValueHeaderParmsResponse(subsystem, false)}`;
}
output = `${output}${ParmsListUtils.formatNameValueParmsResponse(parm)}`;
}
return output;
}
static formatNameValueHeaderParmsResponse(subsystem, color) {
if (color) {
headerText = OpsTextUtils_1.OpsTextUtils.colorizeAttention(headerText);
}
return `${headerText}${subsystem}\n`;
}
static formatNameValueParmsResponse(parm) {
let work = parm.replace(/"/g, "");
work = work.replace("/", "");
return ` ${work}\n`;
}
static formatNameValueColorParmsResponse(parm) {
const work = parm.replace(/"/g, "");
const nameValue = work.split(':');
return ` ${OpsTextUtils_1.OpsTextUtils.colorizeAttention(nameValue[0])}: ${nameValue[1]}\n`;
}
static formatJsonDataResponse(parm) {
let output = ""; //`{`;
output = output + `${parm}`;
return output;
}
static formatCsvHeaderResponse() {
return `subsystem,SSM parm name,value`;
}
static formatCsvDataResponse(parm, subsystem) {
const nameValue = parm.split(':');
return `"${subsystem}",${nameValue[0]},${nameValue[1]}`;
}
}
exports.ParmsListUtils = ParmsListUtils;
//# sourceMappingURL=ParmsListUtils.js.map