@broadcom/ops-for-zowe-cli
Version:
OPS/MVS® Plug-in for Zowe CLI
103 lines • 4.89 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.SubsystemListUtils = void 0;
const constants_1 = require("../constants");
const OpsTextUtils_1 = require("./OpsTextUtils");
class SubsystemListUtils {
static printShowSubsystemResponse(subsystemsList, params) {
let output = "";
for (let i = 0; i < subsystemsList.subsystems.length; i++) {
const subsystem = subsystemsList.subsystems[i];
output = output + SubsystemListUtils.formatOutputFromArrayRestApi(subsystem, i, params);
}
// close out JSON
if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.JSON) {
output = output + "]";
}
return output;
}
static formatOutputFromArrayRestApi(subsystem, i, params) {
let output = "";
if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.CSV) {
if (i === 0) {
output = `${output}${SubsystemListUtils.formatCsvHeaderResponse()}`;
}
output = `${output}\n${SubsystemListUtils.formatCsvDataResponse(subsystem)}`;
}
else if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.JSON) {
if (i === 0) {
output = output + "[";
}
else if (i > 0) {
output = output + ", ";
}
output = `${output}${SubsystemListUtils.formatJsonDataResponse(subsystem)}`;
}
else if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.NAMEVALUECOLOR) {
if (i === 0) {
output = `${output}${SubsystemListUtils.formatNameValueColorHeaderSubsystemResponse(subsystem)}`;
}
output = `${output}${SubsystemListUtils.formatNameValueColorSubsystemResponse(subsystem)}`;
}
else {
if (i === 0) {
output = `${output}${SubsystemListUtils.formatNameValueHeaderSubsystemResponse(subsystem)}`;
}
output = `${output}${SubsystemListUtils.formatNameValueSubsystemResponse(subsystem)}`;
}
return output;
}
static formatNameValueSubsystemResponse(subsystem) {
return ` subsystem: ${subsystem.name}, level: ${subsystem.level}\n`;
}
static formatNameValueHeaderSubsystemResponse(subsystem) {
return `name: ${subsystem.sysplexName}/${subsystem.systemName}/${subsystem.hostName}\n`;
}
static formatNameValueColorHeaderSubsystemResponse(subsystem) {
const name = OpsTextUtils_1.OpsTextUtils.colorizeAttention("name: ");
return `${name}${subsystem.sysplexName}/${subsystem.systemName}/${subsystem.hostName}\n`;
}
static formatNameValueColorSubsystemResponse(subsystem) {
const subsystemText = OpsTextUtils_1.OpsTextUtils.colorizeAttention("subsystem:");
const levelText = OpsTextUtils_1.OpsTextUtils.colorizeAttention("level:");
return ` ${subsystemText} ${subsystem.name}, ${levelText} ${subsystem.level}\n`;
}
static formatJsonDataResponse(subsystem) {
let output = `{`;
output = output + `"name": "${subsystem.sysplexName}/${subsystem.systemName}/${subsystem.hostName}", `;
output = output + `"subsystem": "${subsystem.name}", `;
output = output + `"level": "${subsystem.level}"`;
output = output + `}`;
return output;
}
static formatCsvHeaderResponse() {
return `name,subsystem,level`;
}
static formatCsvDataResponse(subsystem) {
return `"${subsystem.sysplexName}/${subsystem.systemName}/${subsystem.hostName}","${subsystem.name}","${subsystem.level}"`;
}
}
exports.SubsystemListUtils = SubsystemListUtils;
//# sourceMappingURL=SubsystemListUtils.js.map