UNPKG

@broadcom/sysview-for-zowe-cli

Version:

Zowe CLI plugin for SYSVIEW

145 lines 7.82 kB
"use strict"; /* * Copyright (c) 2020 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. * */ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const imperative = require("@zowe/imperative"); const api = require("../../api"); class CaptureHandler { process(params) { return __awaiter(this, void 0, void 0, function* () { var _a, _b, _c, _d; // send request const session = yield api.SysviewSession.createSysviewSessionFromArguments(params.arguments); const parms = { capturedsn: params.arguments.captureDsn, capturecommand: params.arguments.captureCommand, capturerow: params.arguments.captureRow, capturescreen: params.arguments.captureScreen, capturetitle: params.arguments.captureTitle, ssid: params.arguments.ssid, rowstart: params.arguments.allRows ? undefined : params.arguments.rowStart, rowend: params.arguments.allRows ? undefined : params.arguments.rowEnd, fields: params.arguments.fields, types: ["CONTEXT", "DATAALL"], timeout: params.arguments.timeout }; if (params.arguments.overview) parms.types.push("OVERVIEW"); if (params.arguments.info) parms.types.push("INFOALL"); // DATAFLDS is included in DATAALL to display field headers instead of field names, // and STATUS is not currently used in the CLI // if (params.arguments.pretty) parms.types.push("DATAFLDS", "STATUS"); const response = yield api.capture(session, parms); // display requested context fields const color = imperative.ImperativeConfig.instance.loadedConfig.primaryTextColor; if (response.context && params.arguments.contextFields) { if (params.arguments.csv) { params.response.console.log("Context:"); for (const field of params.arguments.contextFields) { params.response.console.log(`${field},${response.context[field]}`); } params.response.console.log(``); } else { const contextObj = {}; for (const field of params.arguments.contextFields) { contextObj[field] = response.context[field]; } params.response.console.log(imperative.TextUtils.chalk[color]("Context:")); params.response.console.log(imperative.TextUtils.prettyJson(contextObj)); } } // display message if ((_a = response.context) === null || _a === void 0 ? void 0 : _a.message) { if (params.arguments.csv) { params.response.console.log(`Message: ${response.context.message}\n`); } else { params.response.console.log(imperative.TextUtils.prettyJson({ Message: response.context.message })); } } // display overview if (params.arguments.overview && ((_b = response.overRowsRL) === null || _b === void 0 ? void 0 : _b.length) > 0) { if (params.arguments.csv) { params.response.console.log("Overview:"); params.response.console.log(response.overRowsRL.join("\n") + "\n"); } else { params.response.console.log(imperative.TextUtils.chalk[color]("Overview:")); params.response.console.log(response.overRowsRL.join("\n") + "\n"); } } // display info area if (params.arguments.info && ((_c = response.infoRows) === null || _c === void 0 ? void 0 : _c.length) > 0) { if (params.arguments.csv) { params.response.console.log("Info area:"); params.response.console.log(response.infoRows.join("\n") + "\n"); } else { params.response.console.log(imperative.TextUtils.chalk[color]("Info area:")); params.response.console.log(response.infoRows.join("\n") + "\n"); } } // display data rows if (params.arguments.csv) { params.response.console.log(response.dataRows.fields.join()); response.dataRows.values.forEach(row => params.response.console.log(row.map(field => field[0]).join())); return; } const parsedDataRows = api.Utils.parseDataRows(response, { pretty: params.arguments.pretty, blankIfZero: params.arguments.blankIfZero, fields: params.arguments.fields }); if (((_d = response.dataRows) === null || _d === void 0 ? void 0 : _d.fields.length) === 1 && response.dataRows.fields[0] === "Data") { params.response.console.log(response.dataRows.values.map(value => value[0][0]).join("\n") + "\n"); } else { const headers = api.Utils.getHeadersFromDataFlds(response.dataFlds, params.arguments.fields).map(header => header[0]); const tableText = imperative.TextUtils.getTable(parsedDataRows, color, Infinity, true, false, false, headers); if (params.arguments.truncate) { const truncatedText = tableText.split("\n").map(line => imperative.TextUtils.wordWrap(line, Infinity, undefined, true, false).split("\n")[0]).join("\n"); params.response.console.log(truncatedText); } else { params.response.console.log(tableText); } } // set JSON object params.response.data.setObj({ fullResponse: response, parsedDataRows }); }); } } exports.default = CaptureHandler; //# sourceMappingURL=Capture.handler.js.map