@sap-ux/inquirer-common 0.6.4 → 0.6.6

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.
@@ -26,7 +26,8 @@ export declare enum ERROR_TYPE {
26
26
  NO_SUCH_HOST = "NO_SUCH_HOST",
27
27
  NOT_FOUND = "NOT_FOUND",
28
28
  ODATA_URL_NOT_FOUND = "ODATA_URL_NOT_FOUND",
29
- BAD_GATEWAY = "BAD_GATEWAY",// Can be caused by either local issue or endpoint configuration
29
+ BAD_GATEWAY = "BAD_GATEWAY",// Can be caused by either local issue or endpoint configuration,
30
+ GATEWAY_TIMEOUT = "GATEWAY_TIMEOUT",
30
31
  INTERNAL_SERVER_ERROR = "INTERNAL_SERVER_ERROR",
31
32
  DESTINATION_SERVICE_UNAVAILABLE = "DESTINATION_SERVICE_UNAVAILABLE",// Caused by endpoint using a firewall or proxy
32
33
  DESTINATION_UNAVAILABLE = "DESTINATION_UNAVAILABLE",
@@ -84,6 +85,14 @@ export declare class ErrorHandler {
84
85
  */
85
86
  static set guidedAnswersTrigger(value: string | undefined);
86
87
  private static readonly getMessageFromError;
88
+ /**
89
+ * Get the localized error message for the specified server error.
90
+ *
91
+ * @param error the error object or message that was returned from the server (5xx)
92
+ * @param subTextKey an i18next key used to provide additional context to the error message
93
+ * @returns the localized error message
94
+ */
95
+ private static readonly serverErrorMessage;
87
96
  private static readonly _errorTypeToMsg;
88
97
  /**
89
98
  *
@@ -37,6 +37,7 @@ var ERROR_TYPE;
37
37
  ERROR_TYPE["NOT_FOUND"] = "NOT_FOUND";
38
38
  ERROR_TYPE["ODATA_URL_NOT_FOUND"] = "ODATA_URL_NOT_FOUND";
39
39
  ERROR_TYPE["BAD_GATEWAY"] = "BAD_GATEWAY";
40
+ ERROR_TYPE["GATEWAY_TIMEOUT"] = "GATEWAY_TIMEOUT";
40
41
  ERROR_TYPE["INTERNAL_SERVER_ERROR"] = "INTERNAL_SERVER_ERROR";
41
42
  ERROR_TYPE["DESTINATION_SERVICE_UNAVAILABLE"] = "DESTINATION_SERVICE_UNAVAILABLE";
42
43
  ERROR_TYPE["DESTINATION_UNAVAILABLE"] = "DESTINATION_UNAVAILABLE";
@@ -86,6 +87,7 @@ exports.ERROR_MAP = {
86
87
  [ERROR_TYPE.ODATA_URL_NOT_FOUND]: [],
87
88
  [ERROR_TYPE.INTERNAL_SERVER_ERROR]: [/500/],
88
89
  [ERROR_TYPE.BAD_GATEWAY]: [/502/],
90
+ [ERROR_TYPE.GATEWAY_TIMEOUT]: [/504/],
89
91
  [ERROR_TYPE.DESTINATION_SERVICE_UNAVAILABLE]: [],
90
92
  [ERROR_TYPE.DESTINATION_UNAVAILABLE]: [],
91
93
  [ERROR_TYPE.DESTINATION_NOT_FOUND]: [],
@@ -153,6 +155,18 @@ class ErrorHandler {
153
155
  error?.response?.status?.toString() ||
154
156
  (typeof error === 'string' ? error : JSON.stringify(error)));
155
157
  };
158
+ /**
159
+ * Get the localized error message for the specified server error.
160
+ *
161
+ * @param error the error object or message that was returned from the server (5xx)
162
+ * @param subTextKey an i18next key used to provide additional context to the error message
163
+ * @returns the localized error message
164
+ */
165
+ static serverErrorMessage = (error, subTextKey) => (0, i18n_1.t)('errors.serverReturnedAnError', {
166
+ errorDesc: subTextKey
167
+ ? (0, i18n_1.t)(subTextKey, { errorMsg: ErrorHandler.getMessageFromError(error) })
168
+ : ErrorHandler.getMessageFromError(error)
169
+ });
156
170
  // Get the localized parameterized error message for the specified error type
157
171
  static _errorTypeToMsg = {
158
172
  [ERROR_TYPE.CERT]: (error) => (0, i18n_1.t)('errors.certificateError', { errorMsg: ErrorHandler.getMessageFromError(error) }),
@@ -182,24 +196,12 @@ class ErrorHandler {
182
196
  error: ErrorHandler.getMessageFromError(error)
183
197
  }),
184
198
  [ERROR_TYPE.SERVICES_UNAVAILABLE]: () => (0, i18n_1.t)('errors.servicesUnavailable'),
185
- [ERROR_TYPE.SERVICE_UNAVAILABLE]: (error) => (0, i18n_1.t)('errors.serverReturnedAnError', {
186
- errorDesc: ErrorHandler.getMessageFromError(error)
187
- }),
199
+ [ERROR_TYPE.SERVICE_UNAVAILABLE]: (error) => ErrorHandler.serverErrorMessage(error),
188
200
  [ERROR_TYPE.CATALOG_SERVICE_NOT_ACTIVE]: () => (0, i18n_1.t)('errors.catalogServiceNotActive'),
189
- [ERROR_TYPE.INTERNAL_SERVER_ERROR]: (error) => {
190
- const errorMsg = ErrorHandler.getMessageFromError(error);
191
- return (0, i18n_1.t)('errors.serverReturnedAnError', {
192
- errorDesc: (0, i18n_1.t)('errors.internalServerError', { errorMsg })
193
- });
194
- },
201
+ [ERROR_TYPE.INTERNAL_SERVER_ERROR]: (error) => ErrorHandler.serverErrorMessage(error, 'errors.internalServerError'),
195
202
  [ERROR_TYPE.NOT_FOUND]: () => (0, i18n_1.t)('errors.urlNotFound'),
196
203
  [ERROR_TYPE.ODATA_URL_NOT_FOUND]: () => (0, i18n_1.t)('errors.odataServiceUrlNotFound'),
197
- [ERROR_TYPE.BAD_GATEWAY]: (error) => {
198
- const errorMsg = ErrorHandler.getMessageFromError(error);
199
- return (0, i18n_1.t)('errors.serverReturnedAnError', {
200
- errorDesc: (0, i18n_1.t)('errors.badGateway', { errorMsg })
201
- });
202
- },
204
+ [ERROR_TYPE.BAD_GATEWAY]: (error) => ErrorHandler.serverErrorMessage(error, 'errors.badGateway'),
203
205
  [ERROR_TYPE.DESTINATION_UNAVAILABLE]: () => (0, i18n_1.t)('errors.destination.unavailable'),
204
206
  [ERROR_TYPE.DESTINATION_NOT_FOUND]: () => (0, i18n_1.t)('errors.destination.notFound'),
205
207
  [ERROR_TYPE.DESTINATION_MISCONFIGURED]: (error) => (0, i18n_1.t)('errors.destination.misconfigured', {
@@ -211,16 +213,10 @@ class ErrorHandler {
211
213
  [ERROR_TYPE.REDIRECT]: () => (0, i18n_1.t)('errors.redirectError'),
212
214
  [ERROR_TYPE.NO_SUCH_HOST]: () => (0, i18n_1.t)('errors.noSuchHostError'),
213
215
  [ERROR_TYPE.NO_ABAP_ENVS]: () => (0, i18n_1.t)('errors.abapEnvsUnavailable'),
214
- [ERROR_TYPE.BAD_REQUEST]: (error) => {
215
- const errorMsg = ErrorHandler.getMessageFromError(error);
216
- return (0, i18n_1.t)('errors.serverReturnedAnError', {
217
- errorDesc: (0, i18n_1.t)('errors.badRequest', { errorMsg })
218
- });
219
- },
216
+ [ERROR_TYPE.BAD_REQUEST]: (error) => ErrorHandler.serverErrorMessage(error, 'errors.badRequest'),
220
217
  [ERROR_TYPE.DESTINATION_CONNECTION_ERROR]: () => (0, i18n_1.t)('errors.systemConnectionValidationFailed'),
221
- [ERROR_TYPE.SERVER_HTTP_ERROR]: (error) => (0, i18n_1.t)('errors.serverReturnedAnError', {
222
- errorDesc: ErrorHandler.getMessageFromError(error)
223
- })
218
+ [ERROR_TYPE.SERVER_HTTP_ERROR]: (error) => ErrorHandler.serverErrorMessage(error),
219
+ [ERROR_TYPE.GATEWAY_TIMEOUT]: (error) => ErrorHandler.serverErrorMessage(error)
224
220
  };
225
221
  /**
226
222
  *
@@ -238,10 +234,9 @@ class ErrorHandler {
238
234
  * @returns The Guided Answers node for the specified error type
239
235
  */
240
236
  static getHelpNode = (errorType) => {
237
+ const isBAS = (0, btp_utils_1.isAppStudio)();
241
238
  const errorToHelp = {
242
- [ERROR_TYPE.SERVICES_UNAVAILABLE]: (0, btp_utils_1.isAppStudio)()
243
- ? guided_answers_helper_1.HELP_NODES.BAS_CATALOG_SERVICES_REQUEST_FAILED
244
- : undefined,
239
+ [ERROR_TYPE.SERVICES_UNAVAILABLE]: isBAS ? guided_answers_helper_1.HELP_NODES.BAS_CATALOG_SERVICES_REQUEST_FAILED : undefined,
245
240
  [ERROR_TYPE.CERT]: guided_answers_helper_1.HELP_NODES.CERTIFICATE_ERROR,
246
241
  [ERROR_TYPE.CERT_SELF_SIGNED]: guided_answers_helper_1.HELP_NODES.CERTIFICATE_ERROR,
247
242
  [ERROR_TYPE.CERT_UKNOWN_OR_INVALID]: guided_answers_helper_1.HELP_NODES.CERTIFICATE_ERROR,
@@ -253,6 +248,7 @@ class ErrorHandler {
253
248
  [ERROR_TYPE.BAD_GATEWAY]: guided_answers_helper_1.HELP_NODES.BAD_GATEWAY,
254
249
  [ERROR_TYPE.DESTINATION_SERVICE_UNAVAILABLE]: guided_answers_helper_1.HELP_NODES.DESTINATION_SERVICE_UNAVAILBLE,
255
250
  [ERROR_TYPE.NO_V4_SERVICES]: guided_answers_helper_1.HELP_NODES.NO_V4_SERVICES,
251
+ [ERROR_TYPE.GATEWAY_TIMEOUT]: isBAS ? guided_answers_helper_1.HELP_NODES.DESTINATION_GATEWAY_TIMEOUT : undefined,
256
252
  [ERROR_TYPE.AUTH]: undefined,
257
253
  [ERROR_TYPE.AUTH_TIMEOUT]: undefined,
258
254
  [ERROR_TYPE.REDIRECT]: undefined,
package/dist/types.d.ts CHANGED
@@ -74,6 +74,7 @@ export interface ListQuestion<A extends Answers = Answers> extends BaseListQuest
74
74
  export interface ConfirmQuestion<A extends Answers = Answers> extends BaseConfirmQuestion<A> {
75
75
  name: YUIQuestion['name'];
76
76
  guiOptions?: YUIQuestion['guiOptions'];
77
+ additionalMessages?: PromptSeverityMessage;
77
78
  }
78
79
  export interface EditorQuestion<A extends Answers = Answers> extends BaseEditorQuestion<A> {
79
80
  name: YUIQuestion['name'];
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sap-ux/inquirer-common",
3
3
  "description": "Commonly used shared functionality and types to support inquirer modules.",
4
- "version": "0.6.4",
4
+ "version": "0.6.6",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/SAP/open-ux-tools.git",
@@ -30,9 +30,9 @@
30
30
  "semver": "7.5.4",
31
31
  "@sap-ux/btp-utils": "0.17.2",
32
32
  "@sap-ux/feature-toggle": "0.2.3",
33
- "@sap-ux/fiori-generator-shared": "0.7.19",
34
- "@sap-ux/guided-answers-helper": "0.2.0",
35
- "@sap-ux/telemetry": "0.5.51",
33
+ "@sap-ux/fiori-generator-shared": "0.7.20",
34
+ "@sap-ux/guided-answers-helper": "0.2.1",
35
+ "@sap-ux/telemetry": "0.5.52",
36
36
  "@sap-ux/logger": "0.6.0",
37
37
  "@sap-ux/ui5-info": "0.8.3"
38
38
  },