@broadcom/mat-analyze-for-zowe-cli 3.1.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -133,10 +133,10 @@ class HistogramCsectHandler extends AbstractAnalyzeHandler_1.default {
133
133
  // Determine the fields to be included in the output based on the presence of specific keys in the JSON
134
134
  getFields(json) {
135
135
  let fields = ["csect", "offset", "active", "wait", "total"];
136
- if (JSON.stringify(json).indexOf("verb") >= 0) {
136
+ if (this.hasListing(json)) {
137
137
  fields = ["csect", "stmt", "verb", "active", "wait", "total"];
138
138
  }
139
- if (("footprint" in json) || (("message" in json) && (json.message !== "OK"))) {
139
+ if ("footprint" in json) {
140
140
  fields.push("listing");
141
141
  }
142
142
  return fields;
@@ -208,24 +208,20 @@ class HistogramCsectHandler extends AbstractAnalyzeHandler_1.default {
208
208
  throw exception;
209
209
  }
210
210
  }
211
- else if (("message" in json) && (json.message !== "OK")) {
212
- for (const histogram of json.histogram) {
213
- histogram.listing = json.message;
214
- }
215
- }
216
- else {
217
- const exception = {
218
- name: "HistogramException",
219
- header: "Resource Access Error",
220
- message: "The listing data set for the measurement is not registered with MAT"
211
+ else if (!this.hasListing(json)) {
212
+ const payload = {
213
+ "Message": "The listing data set for the measurement is not registered with MAT."
221
214
  };
222
- throw exception;
215
+ params.response.console.log(imperative_1.TextUtils.prettyJson(payload));
223
216
  }
224
217
  }
225
218
  // Return the updated histogram data
226
219
  return json.histogram;
227
220
  });
228
221
  }
222
+ hasListing(json) {
223
+ return JSON.stringify(json).indexOf("verb") >= 0;
224
+ }
229
225
  getOptionalParams() {
230
226
  return ["module", "csect", "top", "group", "listing"];
231
227
  }
@@ -247,4 +243,4 @@ class HistogramCsectHandler extends AbstractAnalyzeHandler_1.default {
247
243
  }
248
244
  }
249
245
  exports.default = HistogramCsectHandler;
250
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGlzdG9ncmFtQ3NlY3QuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGkvbW9uaXRvci9jb2Rldmlldy9oaXN0b2dyYW0vY3NlY3QvSGlzdG9ncmFtQ3NlY3QuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVILDRHQUFvRjtBQUNwRix3REFBbUQ7QUFHbkQsaURBQTBGO0FBQzFGLDJDQUE2QjtBQUU3Qix1Q0FBeUI7QUFFekIsTUFBcUIscUJBQXNCLFNBQVEsZ0NBQWtDO0lBQXJGOztRQXVISSxrREFBa0Q7UUFDMUMsV0FBTSxHQUFHO1lBQ2IsdURBQXVEO1lBQ3ZELGdCQUFnQixDQUFDLElBQVM7Z0JBQ3RCLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUMvQyxTQUFTLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLHFDQUFxQztZQUN2RSxDQUFDO1lBRUQsOERBQThEO1lBQzlELG1CQUFtQixDQUFDLGFBQWtCO2dCQUNsQyxPQUFPLEdBQUcsR0FBRyxhQUFhLENBQUMsZUFBZSxHQUFHLEdBQUcsR0FBRyxhQUFhLENBQUMsY0FBYyxHQUFHLE9BQU8sR0FBRyxhQUFhLENBQUMsV0FBVyxHQUFHLFVBQVU7c0JBQzVILGFBQWEsQ0FBQyxLQUFLLEdBQUcsT0FBTyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEdBQUcsVUFBVSxHQUFHLGFBQWEsQ0FBQyxT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
246
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGlzdG9ncmFtQ3NlY3QuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGkvbW9uaXRvci9jb2Rldmlldy9oaXN0b2dyYW0vY3NlY3QvSGlzdG9ncmFtQ3NlY3QuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVILDRHQUFvRjtBQUNwRix3REFBbUQ7QUFJbkQsaURBTTBCO0FBQzFCLDJDQUE2QjtBQUM3Qix1Q0FBeUI7QUFFekIsTUFBcUIscUJBQXNCLFNBQVEsZ0NBQWtDO0lBQXJGOztRQXdISSxrREFBa0Q7UUFDMUMsV0FBTSxHQUFHO1lBQ2IsdURBQXVEO1lBQ3ZELGdCQUFnQixDQUFDLElBQVM7Z0JBQ3RCLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUMvQyxTQUFTLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLHFDQUFxQztZQUN2RSxDQUFDO1lBRUQsOERBQThEO1lBQzlELG1CQUFtQixDQUFDLGFBQWtCO2dCQUNsQyxPQUFPLEdBQUcsR0FBRyxhQUFhLENBQUMsZUFBZSxHQUFHLEdBQUcsR0FBRyxhQUFhLENBQUMsY0FBYyxHQUFHLE9BQU8sR0FBRyxhQUFhLENBQUMsV0FBVyxHQUFHLFVBQVU7c0JBQzVILGFBQWEsQ0FBQyxLQUFLLEdBQUcsT0FBTyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEdBQUcsVUFBVSxHQUFHLGFBQWEsQ0FBQyxT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
@@ -41,7 +41,7 @@ class HistoryHandler extends AbstractAnalyzeHandler_1.default {
41
41
  return MATRest_1.MATRest.HISTORY;
42
42
  }
43
43
  getFields() {
44
- return ["profile", "monnum", "stardate", "startime"];
44
+ return ["profile", "monnum", "startDate", "startTime"];
45
45
  }
46
46
  getOutput(json) {
47
47
  return __awaiter(this, void 0, void 0, function* () {
@@ -50,4 +50,4 @@ class HistoryHandler extends AbstractAnalyzeHandler_1.default {
50
50
  }
51
51
  }
52
52
  exports.default = HistoryHandler;
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGlzdG9yeS5oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NsaS9tb25pdG9yL2hpc3RvcnkvSGlzdG9yeS5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHOzs7Ozs7Ozs7Ozs7OztBQUdILHNHQUE4RTtBQUU5RSxrREFBK0M7QUFDL0MsTUFBcUIsY0FBZSxTQUFRLGdDQUFnQztJQUU5RCxhQUFhO1FBQ25CLE9BQU8saUJBQU8sQ0FBQyxPQUFPLENBQUM7SUFDM0IsQ0FBQztJQUVTLFNBQVM7UUFDZixPQUFPLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUNlLFNBQVMsQ0FBQyxJQUFTOztZQUMvQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDL0IsQ0FBQztLQUFBO0NBQ0o7QUFaRCxpQ0FZQyJ9
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGlzdG9yeS5oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NsaS9tb25pdG9yL2hpc3RvcnkvSGlzdG9yeS5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHOzs7Ozs7Ozs7Ozs7OztBQUdILHNHQUE4RTtBQUU5RSxrREFBK0M7QUFDL0MsTUFBcUIsY0FBZSxTQUFRLGdDQUFnQztJQUU5RCxhQUFhO1FBQ25CLE9BQU8saUJBQU8sQ0FBQyxPQUFPLENBQUM7SUFDM0IsQ0FBQztJQUVTLFNBQVM7UUFDZixPQUFPLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUNlLFNBQVMsQ0FBQyxJQUFTOztZQUMvQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDL0IsQ0FBQztLQUFBO0NBQ0o7QUFaRCxpQ0FZQyJ9
@@ -39,7 +39,7 @@ const AbstractObjectDisplayHandler_1 = __importDefault(require("../../../handler
39
39
  class ListProfileHandler extends AbstractObjectDisplayHandler_1.default {
40
40
  getOutput(json) {
41
41
  return __awaiter(this, void 0, void 0, function* () {
42
- return json.profileList;
42
+ return json.profilelist;
43
43
  });
44
44
  }
45
45
  getRequireParams() {
@@ -3,6 +3,15 @@ import { IResponse } from "../api/response/IResponse";
3
3
  export default abstract class AbstractRestHandler<T extends IResponse> implements ICommandHandler {
4
4
  protected arguments: any;
5
5
  process(params: IHandlerParameters): Promise<void>;
6
+ private validateRequiredParams;
7
+ private resolveEndpoint;
8
+ private isEmptyResponse;
9
+ private stripTokens;
10
+ private printHttpStatus;
11
+ private printResponse;
12
+ private handleProcessError;
13
+ private parseJson;
14
+ private normalizeErrorMessage;
6
15
  protected getRequestParams(): string[];
7
16
  protected getOptionalParams(): string[];
8
17
  protected abstract sendRestRequest(session: Session, resource: string, headers: any): Promise<T>;
@@ -38,36 +38,12 @@ class AbstractRestHandler {
38
38
  process(params) {
39
39
  return __awaiter(this, void 0, void 0, function* () {
40
40
  this.arguments = params.arguments;
41
- // Paramater validation
42
- for (const element of this.getRequireParams()) {
43
- const oneorOther = element.split("|");
44
- if (oneorOther.length > 1) {
45
- let validParams = 0;
46
- for (const iterator of oneorOther) {
47
- const parameter = Reflect.get(params.arguments, iterator);
48
- if (parameter !== undefined || parameter != null) {
49
- validParams++;
50
- }
51
- }
52
- if (validParams === 0) {
53
- imperative_1.ImperativeExpect.toNotBeNullOrUndefined(undefined, "either " + oneorOther.join(" or ") + " must be specified");
54
- }
55
- }
56
- else {
57
- const paramter = Reflect.get(params.arguments, element);
58
- imperative_1.ImperativeExpect.toNotBeNullOrUndefined(paramter, element + " must be specified");
59
- }
60
- }
41
+ let session;
42
+ // Parameter validation
43
+ this.validateRequiredParams(params);
61
44
  try {
62
- // Profile evaluation
63
- const session = yield MATSession_1.MATSession.createSessCfgForHandler(params);
64
- let endpoint;
65
- if (params.arguments.basePath != null) {
66
- endpoint = "/" + params.arguments.basePath;
67
- }
68
- else {
69
- endpoint = index_1.MATRest.REST_ENDPOINT;
70
- }
45
+ session = yield MATSession_1.MATSession.createSessCfgForHandler(params);
46
+ const endpoint = this.resolveEndpoint(params);
71
47
  const token = (yield index_1.MATRest.GetAuth(session, endpoint)).accessToken;
72
48
  const bearer = "Bearer " + token;
73
49
  const header = { Authorization: bearer };
@@ -75,50 +51,125 @@ class AbstractRestHandler {
75
51
  const resource = endpoint + this.getURI();
76
52
  // Submits the request
77
53
  const json = yield this.sendRestRequest(session, resource, headers);
78
- if ("accessToken" in json) {
79
- delete json.accessToken;
80
- }
81
- if ("tokenType" in json) {
82
- delete json.tokenType;
54
+ if (this.isEmptyResponse(json)) {
55
+ this.printHttpStatus(params, session);
56
+ return;
83
57
  }
58
+ this.stripTokens(json);
84
59
  const response = yield this.getOutput(json, params);
85
- if (this.arguments.rfj === true) {
86
- params.response.console.log(JSON.stringify(response));
87
- }
88
- else {
89
- params.response.format.output({
90
- fields: this.getFields(json),
91
- output: response === undefined ? json : response,
92
- format: this.getFormat(),
93
- header: this.getHeader()
94
- });
95
- }
60
+ this.printResponse(params, json, response);
96
61
  }
97
62
  catch (error) {
98
- if (error.name === "HistogramException") {
99
- params.response.console.errorHeader(error.header);
100
- params.response.console.error(error.message);
101
- if ((error.errno !== null) && (error.errno !== undefined)) {
102
- params.response.console.error("errno: " + error.errno);
63
+ this.handleProcessError(params, session, error);
64
+ return;
65
+ }
66
+ });
67
+ }
68
+ validateRequiredParams(params) {
69
+ for (const element of this.getRequireParams()) {
70
+ const oneorOther = element.split("|");
71
+ if (oneorOther.length > 1) {
72
+ let validParams = 0;
73
+ for (const iterator of oneorOther) {
74
+ const parameter = Reflect.get(params.arguments, iterator);
75
+ if (parameter !== undefined || parameter != null) {
76
+ validParams++;
103
77
  }
104
- return;
105
78
  }
106
- if (error instanceof imperative_1.RestClientError) {
107
- if (error.causeErrors !== undefined && error.causeErrors !== "") {
108
- try {
109
- const errData = imperative_1.JSONUtils.parse(error.causeErrors);
110
- errData.error_level = error.errorCode;
111
- params.response.console.log(imperative_1.TextUtils.prettyJson(errData));
112
- return;
113
- }
114
- catch (err) {
115
- throw error;
116
- }
117
- }
79
+ if (validParams === 0) {
80
+ imperative_1.ImperativeExpect.toNotBeNullOrUndefined(undefined, "either " + oneorOther.join(" or ") + " must be specified");
118
81
  }
119
- throw error;
82
+ continue;
120
83
  }
121
- });
84
+ const paramter = Reflect.get(params.arguments, element);
85
+ imperative_1.ImperativeExpect.toNotBeNullOrUndefined(paramter, element + " must be specified");
86
+ }
87
+ }
88
+ resolveEndpoint(params) {
89
+ return params.arguments.basePath != null
90
+ ? "/" + params.arguments.basePath
91
+ : index_1.MATRest.REST_ENDPOINT;
92
+ }
93
+ isEmptyResponse(json) {
94
+ if (json == null || json === "")
95
+ return true;
96
+ if (Array.isArray(json))
97
+ return json.length === 0;
98
+ if (typeof json === "object")
99
+ return Object.keys(json).length === 0;
100
+ return false;
101
+ }
102
+ stripTokens(json) {
103
+ if (!json || typeof json !== "object")
104
+ return;
105
+ if ("accessToken" in json)
106
+ delete json.accessToken;
107
+ if ("tokenType" in json)
108
+ delete json.tokenType;
109
+ }
110
+ printHttpStatus(params, session) {
111
+ var _a;
112
+ params.response.console.log(imperative_1.TextUtils.prettyJson({
113
+ "HTTP Response Code": (_a = session === null || session === void 0 ? void 0 : session.__mat_httpStatusCode) !== null && _a !== void 0 ? _a : ""
114
+ }).trimEnd());
115
+ }
116
+ printResponse(params, json, response) {
117
+ if (this.arguments.rfj === true) {
118
+ params.response.console.log(JSON.stringify(response));
119
+ }
120
+ else {
121
+ params.response.format.output({
122
+ fields: this.getFields(json),
123
+ output: response === undefined ? json : response,
124
+ format: this.getFormat(),
125
+ header: this.getHeader()
126
+ });
127
+ }
128
+ }
129
+ handleProcessError(params, session, error) {
130
+ if (error.name === "HistogramException") {
131
+ params.response.console.errorHeader(error.header);
132
+ params.response.console.error(error.message);
133
+ if ((error.errno !== null) && (error.errno !== undefined)) {
134
+ params.response.console.error("errno: " + error.errno);
135
+ }
136
+ return;
137
+ }
138
+ if (error instanceof imperative_1.RestClientError) {
139
+ if (error.causeErrors !== undefined && error.causeErrors !== "") {
140
+ const errData = this.parseJson(error.causeErrors);
141
+ if (errData !== undefined) {
142
+ errData.error_level = error.errorCode;
143
+ params.response.console.log(imperative_1.TextUtils.prettyJson(errData));
144
+ return;
145
+ }
146
+ // Invalid JSON -> fall through to generic payload
147
+ }
148
+ }
149
+ // No JSON -> log code & message if present
150
+ const payload = {};
151
+ if ((session === null || session === void 0 ? void 0 : session.__mat_httpStatusCode) !== undefined && session.__mat_httpStatusCode !== "") {
152
+ payload["HTTP Response Code"] = session.__mat_httpStatusCode;
153
+ }
154
+ const msg = this.normalizeErrorMessage(error === null || error === void 0 ? void 0 : error.message);
155
+ if (msg !== undefined && msg !== "") {
156
+ payload["Response Message"] = msg;
157
+ }
158
+ params.response.console.log(imperative_1.TextUtils.prettyJson(payload).trimEnd());
159
+ }
160
+ parseJson(text) {
161
+ try {
162
+ return imperative_1.JSONUtils.parse(text);
163
+ }
164
+ catch (_a) {
165
+ return undefined;
166
+ }
167
+ }
168
+ normalizeErrorMessage(msg) {
169
+ const s = (msg !== null && msg !== void 0 ? msg : "").replace(/^Expect Error:\s*/i, "").trim();
170
+ if (!s)
171
+ return "";
172
+ return s.charAt(0).toUpperCase() + s.slice(1);
122
173
  }
123
174
  getRequestParams() {
124
175
  return [];
@@ -128,4 +179,4 @@ class AbstractRestHandler {
128
179
  }
129
180
  }
130
181
  exports.default = AbstractRestHandler;
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RSZXN0SGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oYW5kbGVycy9BYnN0cmFjdFJlc3RIYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHOzs7Ozs7Ozs7OztBQUVILGlEQUcwQjtBQUMxQixvQ0FBbUM7QUFFbkMsMERBQXVEO0FBRXZELE1BQThCLG1CQUFtQjtJQUVoQyxPQUFPLENBQUMsTUFBMEI7O1lBQzNDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUNsQyx1QkFBdUI7WUFDdkIsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDO2dCQUM1QyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN0QyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQ3hCLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQztvQkFDcEIsS0FBSyxNQUFNLFFBQVEsSUFBSSxVQUFVLEVBQUUsQ0FBQzt3QkFDaEMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO3dCQUMxRCxJQUFJLFNBQVMsS0FBSyxTQUFTLElBQUksU0FBUyxJQUFJLElBQUksRUFBRSxDQUFDOzRCQUMvQyxXQUFXLEVBQUUsQ0FBQzt3QkFDbEIsQ0FBQztvQkFDTCxDQUFDO29CQUNELElBQUksV0FBVyxLQUFLLENBQUMsRUFBRSxDQUFDO3dCQUNwQiw2QkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLEVBQUUsU0FBUyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsb0JBQW9CLENBQUMsQ0FBQztvQkFDbkgsQ0FBQztnQkFDTCxDQUFDO3FC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
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RSZXN0SGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oYW5kbGVycy9BYnN0cmFjdFJlc3RIYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHOzs7Ozs7Ozs7OztBQUVILGlEQUcwQjtBQUMxQixvQ0FBbUM7QUFFbkMsMERBQXVEO0FBRXZELE1BQThCLG1CQUFtQjtJQUVoQyxPQUFPLENBQUMsTUFBMEI7O1lBQzNDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUNsQyxJQUFJLE9BQVksQ0FBQztZQUVqQix1QkFBdUI7WUFDdkIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRXBDLElBQUksQ0FBQztnQkFDRCxPQUFPLEdBQUcsTUFBTSx1QkFBVSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUUzRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUU5QyxNQUFNLEtBQUssR0FBRyxDQUFDLE1BQU0sZUFBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7Z0JBQ3JFLE1BQU0sTUFBTSxHQUFHLFNBQVMsR0FBRyxLQUFLLENBQUM7Z0JBQ2pDLE1BQU0sTUFBTSxHQUFHLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxDQUFDO2dCQUN6QyxNQUFNLE9BQU8sR0FBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUVoQyxNQUFNLFFBQVEsR0FBRyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUMxQyxzQkFBc0I7Z0JBQ3RCLE1BQU0sSUFBSSxHQUFRLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dC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
@@ -1,30 +1,12 @@
1
1
  import { AbstractPluginLifeCycle } from "@zowe/imperative";
2
2
  /**
3
- * This class performs lifecycle functions for your plug-in. You are free to
4
- * change the name of this class to reflect your plug-in and its actions.
5
- *
6
- * You only have to supply such a class if you specify the 'pluginLifeCycle'
7
- * property in your IImperativeConfig definition for your plug-in. In this sample,
8
- * that definition is supplied in src/pluginDef.ts.
3
+ * Performs lifecycle functions for a plug-in.
9
4
  */
10
5
  export declare class LifeCycleForSample extends AbstractPluginLifeCycle {
11
6
  /**
12
7
  * This function will be called after a plug-in is installed.
13
- * A plug-in can use this opportunity to perform a sanity test or to
14
- * perform some additional setup which is specific to your plug-in.
15
- *
16
- * If your plug-in's postInstall function performs an asynchronous operation,
17
- * its postInstall function should return a promise, allowing the CLI
18
- * to await the postInstall function. Such a signature would be like this:
19
- *
20
- * public async postInstall(): Promise<void>
21
- *
22
- * If it has no asynchronous operation, the postInstall function can be
23
- * written as a synchronous function. That is the style which this trivial
24
- * synchronous sample uses below.
25
- *
26
- * If you supply this class, you must supply this function. If you have nothing to
27
- * do post-install, then simply return from the function.
8
+ * A plug-in can use this function to perform a sanity test or to
9
+ * perform some additional setup.
28
10
  */
29
11
  postInstall(): void;
30
12
  /**
@@ -34,21 +16,8 @@ export declare class LifeCycleForSample extends AbstractPluginLifeCycle {
34
16
  * capability in NPM version 7.
35
17
  * See https://docs.npmjs.com/cli/v9/using-npm/scripts#a-note-on-a-lack-of-npm-uninstall-scripts
36
18
  *
37
- * A plug-in can use this opportunity to revert any specialized setup that was
38
- * established during the lifetime of your plug-in.
39
- *
40
- * If your plug-in's preUninstall function performs an asynchronous operation,
41
- * its preUninstall function should return a promise, allowing the CLI
42
- * framework to await the preUninstall function. Such a signature would be like this:
43
- *
44
- * public async preUninstall(): Promise<void>
45
- *
46
- * If it has no asynchronous operation, the preUninstall function can be
47
- * written as a synchronous function. That is the style which this trivial
48
- * synchronous sample uses below.
49
- *
50
- * If you supply this class, you must supply this function. If you have nothing to
51
- * do pre-uninstall, then simply return from the function.
19
+ * A plug-in can use this function to revert any specialized setup that was
20
+ * established during the lifetime of the plug-in.
52
21
  */
53
22
  preUninstall(): void;
54
23
  }
@@ -1,96 +1,42 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright (c) 2023 Broadcom. All Rights Reserved. The term
4
- * "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
3
+ * **************************************************************************************
4
+ * Copyright © 2025 BROADCOM Inc and/or its subsidiaries.
5
5
  *
6
- * This software and all information contained therein is
7
- * confidential and proprietary and shall not be duplicated,
8
- * used, disclosed, or disseminated in any way except as
9
- * authorized by the applicable license agreement, without the
10
- * express written permission of Broadcom. All authorized
11
- * reproductions must be marked with this language.
6
+ * This software and all information contained therein is confidential and
7
+ * proprietary and shall not be duplicated, used, disclosed or disseminated in any
8
+ * way except as authorized by the applicable license agreement, without the
9
+ * express written permission of Broadcom. All authorized reproductions must be marked
10
+ * with this language.
12
11
  *
13
- * EXCEPT AS SET FORTH IN THE APPLICABLE LICENSE AGREEMENT, TO
14
- * THE EXTENT PERMITTED BY APPLICABLE LAW, BROADCOM PROVIDES THIS
15
- * SOFTWARE WITHOUT WARRANTY OF ANY KIND, INCLUDING WITHOUT
16
- * LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR
17
- * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL BROADCOM
18
- * BE LIABLE TO THE END USER OR ANY THIRD PARTY FOR ANY LOSS OR
19
- * DAMAGE, DIRECT OR INDIRECT, FROM THE USE OF THIS SOFTWARE,
20
- * INCLUDING WITHOUT LIMITATION, LOST PROFITS, BUSINESS
21
- * INTERRUPTION, GOODWILL, OR LOST DATA, EVEN IF BROADCOM IS
22
- * EXPRESSLY ADVISED OF SUCH LOSS OR DAMAGE.
12
+ * EXCEPT AS SET FORTH IN THE APPLICABLE LICENSE AGREEMENT, TO THE EXTENT PERMITTED
13
+ * BY APPLICABLE LAW, BROADCOM PROVIDES THIS SOFTWARE WITHOUT WARRANTY OF ANY KIND,
14
+ * INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR
15
+ * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL BROADCOM BE LIABLE TO THE END USER
16
+ * OR ANY THIRD PARTY FOR ANY LOSS OR DAMAGE, DIRECT OR INDIRECT, FROM THE USE OF
17
+ * THIS SOFTWARE, INCLUDING WITHOUT LIMITATION, LOST PROFITS, BUSINESS INTERRUPTION,
18
+ * GOODWILL, OR LOST DATA, EVEN IF BROADCOM IS EXPRESSLY ADVISED OF SUCH LOSS OR DAMAGE.
19
+ * **************************************************************************************
23
20
  */
24
21
  Object.defineProperty(exports, "__esModule", { value: true });
25
22
  exports.LifeCycleForSample = void 0;
26
23
  const imperative_1 = require("@zowe/imperative");
27
24
  /**
28
- * This class performs lifecycle functions for your plug-in. You are free to
29
- * change the name of this class to reflect your plug-in and its actions.
30
- *
31
- * You only have to supply such a class if you specify the 'pluginLifeCycle'
32
- * property in your IImperativeConfig definition for your plug-in. In this sample,
33
- * that definition is supplied in src/pluginDef.ts.
25
+ * Performs lifecycle functions for a plug-in.
34
26
  */
35
27
  class LifeCycleForSample extends imperative_1.AbstractPluginLifeCycle {
36
28
  /**
37
29
  * This function will be called after a plug-in is installed.
38
- * A plug-in can use this opportunity to perform a sanity test or to
39
- * perform some additional setup which is specific to your plug-in.
40
- *
41
- * If your plug-in's postInstall function performs an asynchronous operation,
42
- * its postInstall function should return a promise, allowing the CLI
43
- * to await the postInstall function. Such a signature would be like this:
44
- *
45
- * public async postInstall(): Promise<void>
46
- *
47
- * If it has no asynchronous operation, the postInstall function can be
48
- * written as a synchronous function. That is the style which this trivial
49
- * synchronous sample uses below.
50
- *
51
- * If you supply this class, you must supply this function. If you have nothing to
52
- * do post-install, then simply return from the function.
30
+ * A plug-in can use this function to perform a sanity test or to
31
+ * perform some additional setup.
53
32
  */
54
33
  postInstall() {
55
- /* It is up to you to decide what actions are meaningful for you
56
- * to perform immediately after your plug-in is installed.
57
- *
58
- * When all goes well, you probably should display nothing to the user.
59
- */
60
- // const somethingWeirdOccurred = true;
61
- // if ( somethingWeirdOccurred ) {
62
- // /* If you display a message about a problem, you should also log the
63
- // * message to a file, so that the message can be found later.
64
- // *
65
- // * You can use a consoleLogger to display a message. The available logging
66
- // * levels can be found in the Zowe doc:
67
- // * https://docs.zowe.org/stable/user-guide/cli-configuringcli-ev/#setting-cli-log-levels
68
- // *
69
- // * Note that the user controls the logging level with the
70
- // * ZOWE_IMPERATIVE_LOG_LEVEL environment variable. When not set, the
71
- // * default log level is WARN. So by default, only messages displayed at
72
- // * the WARN, ERROR, and FATAL levels will be displayed (or logged).
73
- // */
74
- // const warnMsg = "Something weird happened in the sample plug-in's " +
75
- // "postInstall function. However, things should still work ok.";
76
- // Logger.getConsoleLogger().warn(warnMsg);
77
- // Logger.getImperativeLogger().warn(warnMsg);
78
- // }
79
- /* When you are unable to achieve your desired actions, you should throw
80
- * an imperative error. The "zowe plugins install" command will catch
81
- * that error, display it, and add some additional information.
34
+ /**
35
+ * If function performs an asynchronous operation, it should return a promise, allowing
36
+ * the CLI to await. Example:
82
37
  *
83
- * Your plug-in has already been installed. However, when you throw an
84
- * error during your postInstall function, the 'zowe plugins install'
85
- * command will exit with a non-zero exit code.
38
+ * public async postInstall(): Promise<void>
86
39
  */
87
- // const someBigProblemOccurred = false;
88
- // if ( someBigProblemOccurred ) {
89
- // throw new ImperativeError({
90
- // msg: "Something awful happened in the sample plug-in's " +
91
- // "postInstall function. Thus, the plug-in could not be properly setup."
92
- // });
93
- // }
94
40
  }
95
41
  /**
96
42
  * This function will be called before a plug-in is uninstalled.
@@ -99,49 +45,18 @@ class LifeCycleForSample extends imperative_1.AbstractPluginLifeCycle {
99
45
  * capability in NPM version 7.
100
46
  * See https://docs.npmjs.com/cli/v9/using-npm/scripts#a-note-on-a-lack-of-npm-uninstall-scripts
101
47
  *
102
- * A plug-in can use this opportunity to revert any specialized setup that was
103
- * established during the lifetime of your plug-in.
104
- *
105
- * If your plug-in's preUninstall function performs an asynchronous operation,
106
- * its preUninstall function should return a promise, allowing the CLI
107
- * framework to await the preUninstall function. Such a signature would be like this:
108
- *
109
- * public async preUninstall(): Promise<void>
110
- *
111
- * If it has no asynchronous operation, the preUninstall function can be
112
- * written as a synchronous function. That is the style which this trivial
113
- * synchronous sample uses below.
114
- *
115
- * If you supply this class, you must supply this function. If you have nothing to
116
- * do pre-uninstall, then simply return from the function.
48
+ * A plug-in can use this function to revert any specialized setup that was
49
+ * established during the lifetime of the plug-in.
117
50
  */
118
51
  preUninstall() {
119
- /* The comments from the postInstall function also apply to the
120
- * preUninstall function.
121
- */
122
- // const somethingWeirdOccurred = true;
123
- // if ( somethingWeirdOccurred ) {
124
- // const warnMsg = "Something weird happened in the sample plug-in's " +
125
- // "preUninstall function that we thought you should know about.";
126
- // Logger.getConsoleLogger().warn(warnMsg);
127
- // Logger.getImperativeLogger().warn(warnMsg);
128
- // }
129
- /* When you throw an error during your preUninstall function, the
130
- * 'zowe plugins uninstall' catches the error and still performs the
131
- * uninstall operation that was requested by the user. If the actual
132
- * uninstall operation succeeds, the command will exit with a zero
133
- * exit code.
52
+ /**
53
+ * If function performs an asynchronous operation, it should return a promise, allowing
54
+ * the CLI to await. Example:
55
+ *
56
+ * public async preUninstall(): Promise<void>
134
57
  */
135
- // const someBigProblemOccurred = false;
136
- // if ( someBigProblemOccurred ) {
137
- // throw new ImperativeError({
138
- // msg: "Something awful happened during the sample plug-in's " +
139
- // "preUninstall function. Maybe you have to manually release " +
140
- // "some resource that was used by this plug-in."
141
- // });
142
- // }
143
58
  }
144
59
  }
145
60
  exports.LifeCycleForSample = LifeCycleForSample;
146
61
  module.exports = LifeCycleForSample;
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhbHRoQ2hlY2suSGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oZWFsdGhDaGVjay5IYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHOzs7QUFFSCxpREFBa0Y7QUFFbEY7Ozs7Ozs7R0FPRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsb0NBQXVCO0lBQzdEOzs7Ozs7Ozs7Ozs7Ozs7OztPQWlCRztJQUNJLFdBQVc7UUFDaEI7Ozs7V0FJRztRQUVILHVDQUF1QztRQUN2QyxrQ0FBa0M7UUFDbEMsMkVBQTJFO1FBQzNFLG9FQUFvRTtRQUNwRSxTQUFTO1FBQ1QsaUZBQWlGO1FBQ2pGLDhDQUE4QztRQUM5QywrRkFBK0Y7UUFDL0YsU0FBUztRQUNULGdFQUFnRTtRQUNoRSwyRUFBMkU7UUFDM0UsOEVBQThFO1FBQzlFLDBFQUEwRTtRQUMxRSxVQUFVO1FBQ1YsNEVBQTRFO1FBQzVFLHlFQUF5RTtRQUN6RSwrQ0FBK0M7UUFDL0Msa0RBQWtEO1FBQ2xELElBQUk7UUFFSjs7Ozs7OztXQU9HO1FBQ0gsd0NBQXdDO1FBQ3hDLGtDQUFrQztRQUNsQyxrQ0FBa0M7UUFDbEMscUVBQXFFO1FBQ3JFLHFGQUFxRjtRQUNyRixVQUFVO1FBQ1YsSUFBSTtJQUNOLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXNCRztJQUNJLFlBQVk7UUFDakI7O1dBRUc7UUFDSCx1Q0FBdUM7UUFDdkMsa0NBQWtDO1FBQ2xDLDRFQUE0RTtRQUM1RSwwRUFBMEU7UUFDMUUsK0NBQStDO1FBQy9DLGtEQUFrRDtRQUNsRCxJQUFJO1FBRUo7Ozs7O1dBS0c7UUFDSCx3Q0FBd0M7UUFDeEMsa0NBQWtDO1FBQ2xDLGtDQUFrQztRQUNsQyx5RUFBeUU7UUFDekUsNkVBQTZFO1FBQzdFLDZEQUE2RDtRQUM3RCxVQUFVO1FBQ1YsSUFBSTtJQUNOLENBQUM7Q0FDRjtBQWpIRCxnREFpSEM7QUFFRCxNQUFNLENBQUMsT0FBTyxHQUFHLGtCQUFrQixDQUFDIn0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhbHRoQ2hlY2suSGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oZWFsdGhDaGVjay5IYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHOzs7QUFFSCxpREFBeUQ7QUFFekQ7O0dBRUc7QUFDSCxNQUFhLGtCQUFtQixTQUFRLG9DQUF1QjtJQUUzRDs7OztPQUlHO0lBQ0ksV0FBVztRQUNkOzs7OztXQUtHO0lBQ1AsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLFlBQVk7UUFDZjs7Ozs7V0FLRztJQUNQLENBQUM7Q0FDSjtBQWxDRCxnREFrQ0M7QUFFRCxNQUFNLENBQUMsT0FBTyxHQUFHLGtCQUFrQixDQUFDIn0=