@sap-ux/odata-service-inquirer 0.3.11 → 0.4.1

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.
@@ -89,6 +89,105 @@ exports.ERROR_MAP = {
89
89
  * This class will also log errors and provide help links for validation errors in some limited use cases.
90
90
  */
91
91
  class ErrorHandler {
92
+ /** The last error message generated */
93
+ currentErrorMsg;
94
+ /** The last error message type generated if determined */
95
+ currentErrorType;
96
+ static _guidedAnswersEnabled;
97
+ static _logger;
98
+ // Get the required localized parameterized error message
99
+ // Note that these are general fallback end-user error messages.
100
+ // More specific error messages can be used at the point of error generation.
101
+ static _errorMsg = (error) => ({
102
+ [ERROR_TYPE.CERT]: (0, i18n_1.t)('errors.certificateError', { error }),
103
+ [ERROR_TYPE.CERT_EXPIRED]: (0, i18n_1.t)('errors.urlCertValidationError', { certErrorReason: (0, i18n_1.t)('texts.anExpiredCert') }),
104
+ [ERROR_TYPE.CERT_SELF_SIGNED]: (0, i18n_1.t)('errors.urlCertValidationError', {
105
+ certErrorReason: (0, i18n_1.t)('texts.aSelfSignedCert')
106
+ }),
107
+ [ERROR_TYPE.CERT_UKNOWN_OR_INVALID]: (0, i18n_1.t)('errors.urlCertValidationError', {
108
+ certErrorReason: (0, i18n_1.t)('texts.anUnknownOrInvalidCert')
109
+ }),
110
+ [ERROR_TYPE.CERT_SELF_SIGNED_CERT_IN_CHAIN]: (0, i18n_1.t)('errors.urlCertValidationError', {
111
+ certErrorReason: (0, i18n_1.t)('texts.anUntrustedRootCert')
112
+ }),
113
+ [ERROR_TYPE.AUTH]: (0, i18n_1.t)('errors.authenticationFailed', { error }),
114
+ [ERROR_TYPE.AUTH_TIMEOUT]: (0, i18n_1.t)('errors.authenticationTimeout'),
115
+ [ERROR_TYPE.INVALID_URL]: (0, i18n_1.t)('errors.invalidUrl'),
116
+ [ERROR_TYPE.CONNECTION]: (0, i18n_1.t)('errors.connectionError', {
117
+ error: error?.message || JSON.stringify(error)
118
+ }),
119
+ [ERROR_TYPE.UNKNOWN]: (0, i18n_1.t)('errors.unknownError', {
120
+ error: error?.message || JSON.stringify(error)
121
+ }),
122
+ [ERROR_TYPE.SERVICES_UNAVAILABLE]: (0, i18n_1.t)('errors.servicesUnavailable'),
123
+ [ERROR_TYPE.SERVICE_UNAVAILABLE]: (0, i18n_1.t)('errors.serviceUnavailable'),
124
+ [ERROR_TYPE.CATALOG_SERVICE_NOT_ACTIVE]: (0, i18n_1.t)('errors.catalogServiceNotActive'),
125
+ [ERROR_TYPE.INTERNAL_SERVER_ERROR]: (0, i18n_1.t)('errors.internalServerError', { error: error?.message }),
126
+ [ERROR_TYPE.NOT_FOUND]: (0, i18n_1.t)('errors.urlNotFound'),
127
+ [ERROR_TYPE.ODATA_URL_NOT_FOUND]: (0, i18n_1.t)('errors.odataServiceUrlNotFound'),
128
+ [ERROR_TYPE.BAD_GATEWAY]: (0, i18n_1.t)('errors.badGateway'),
129
+ [ERROR_TYPE.DESTINATION_UNAVAILABLE]: (0, i18n_1.t)('errors.destinationUnavailable'),
130
+ [ERROR_TYPE.DESTINATION_NOT_FOUND]: (0, i18n_1.t)('errors.destinationNotFound'),
131
+ [ERROR_TYPE.DESTINATION_MISCONFIGURED]: (0, i18n_1.t)('errors.destinationMisconfigured'),
132
+ [ERROR_TYPE.NO_V2_SERVICES]: (0, i18n_1.t)('errors.noServicesAvailable', { version: '2' }),
133
+ [ERROR_TYPE.NO_V4_SERVICES]: (0, i18n_1.t)('errors.noServicesAvailable', { version: '4' }),
134
+ [ERROR_TYPE.DESTINATION_BAD_GATEWAY_503]: (0, i18n_1.t)('errors.destinationUnavailable'),
135
+ [ERROR_TYPE.REDIRECT]: (0, i18n_1.t)('errors.redirectError'),
136
+ [ERROR_TYPE.NO_SUCH_HOST]: (0, i18n_1.t)('errors.noSuchHostError'),
137
+ [ERROR_TYPE.NO_ABAP_ENVS]: (0, i18n_1.t)('error.abapEnvsUnavailable')
138
+ });
139
+ /**
140
+ * Get the Guided Answers (help) node for the specified error type.
141
+ *
142
+ * @param errorType The error type for which a help node (help content id) may be returned
143
+ * @returns The Guided Answers node for the specified error type
144
+ */
145
+ static getHelpNode = (errorType) => {
146
+ const errorToHelp = {
147
+ [ERROR_TYPE.SERVICES_UNAVAILABLE]: (0, btp_utils_1.isAppStudio)()
148
+ ? help_topics_1.HELP_NODES.BAS_CATALOG_SERVICES_REQUEST_FAILED
149
+ : undefined,
150
+ [ERROR_TYPE.CERT]: help_topics_1.HELP_NODES.CERTIFICATE_ERROR,
151
+ [ERROR_TYPE.CERT_SELF_SIGNED]: help_topics_1.HELP_NODES.CERTIFICATE_ERROR,
152
+ [ERROR_TYPE.CERT_UKNOWN_OR_INVALID]: help_topics_1.HELP_NODES.CERTIFICATE_ERROR,
153
+ [ERROR_TYPE.CERT_SELF_SIGNED_CERT_IN_CHAIN]: help_topics_1.HELP_NODES.CERTIFICATE_ERROR,
154
+ [ERROR_TYPE.DESTINATION_MISCONFIGURED]: help_topics_1.HELP_NODES.DESTINATION_MISCONFIGURED,
155
+ [ERROR_TYPE.DESTINATION_UNAVAILABLE]: help_topics_1.HELP_NODES.DESTINATION_UNAVAILABLE,
156
+ [ERROR_TYPE.DESTINATION_NOT_FOUND]: help_topics_1.HELP_NODES.DESTINATION_NOT_FOUND,
157
+ [ERROR_TYPE.BAD_GATEWAY]: help_topics_1.HELP_NODES.BAD_GATEWAY,
158
+ [ERROR_TYPE.DESTINATION_BAD_GATEWAY_503]: help_topics_1.HELP_NODES.DESTINATION_BAD_GATEWAY_503,
159
+ [ERROR_TYPE.NO_V4_SERVICES]: help_topics_1.HELP_NODES.NO_V4_SERVICES,
160
+ [ERROR_TYPE.AUTH]: undefined,
161
+ [ERROR_TYPE.AUTH_TIMEOUT]: undefined,
162
+ [ERROR_TYPE.REDIRECT]: undefined,
163
+ [ERROR_TYPE.CERT_EXPIRED]: undefined,
164
+ [ERROR_TYPE.UNKNOWN]: undefined,
165
+ [ERROR_TYPE.INVALID_URL]: undefined,
166
+ [ERROR_TYPE.CONNECTION]: undefined,
167
+ [ERROR_TYPE.SERVICE_UNAVAILABLE]: undefined,
168
+ [ERROR_TYPE.NO_ABAP_ENVS]: undefined,
169
+ [ERROR_TYPE.CATALOG_SERVICE_NOT_ACTIVE]: undefined,
170
+ [ERROR_TYPE.NO_SUCH_HOST]: undefined,
171
+ [ERROR_TYPE.NOT_FOUND]: undefined,
172
+ [ERROR_TYPE.ODATA_URL_NOT_FOUND]: undefined,
173
+ [ERROR_TYPE.INTERNAL_SERVER_ERROR]: undefined,
174
+ [ERROR_TYPE.NO_V2_SERVICES]: undefined
175
+ };
176
+ return errorToHelp[errorType];
177
+ };
178
+ /**
179
+ * Find an error property for mapping to a general error type from most to least significant.
180
+ *
181
+ * @param error any type of error or object that has an error code, status, name or message
182
+ * @returns a value that can be used to look up a general error type
183
+ */
184
+ static findErrorValueForMapping = (error) => error.response?.data?.error?.code ||
185
+ error.response?.status ||
186
+ error.response?.data ||
187
+ error.code ||
188
+ (['TypeError', 'Error'].includes(error.name) ? error.message : error.name) || // For generic error types use the message otherwise the name is more relevant
189
+ error.message ||
190
+ error;
92
191
  /**
93
192
  * Create an instance of the ErrorHandler.
94
193
  *
@@ -96,7 +195,7 @@ class ErrorHandler {
96
195
  * @param enableGuidedAnswers if true, the end user validation errors will include guided answers to provide help
97
196
  */
98
197
  constructor(logger, enableGuidedAnswers = false) {
99
- ErrorHandler._logger = logger !== null && logger !== void 0 ? logger : new logger_1.ToolsLogger({ logPrefix: '@sap-ux/odata-service-inquirer' });
198
+ ErrorHandler._logger = logger ?? new logger_1.ToolsLogger({ logPrefix: '@sap-ux/odata-service-inquirer' });
100
199
  ErrorHandler.guidedAnswersEnabled = enableGuidedAnswers;
101
200
  }
102
201
  /**
@@ -169,7 +268,6 @@ class ErrorHandler {
169
268
  * @returns A user-friendly message for display in-line
170
269
  */
171
270
  logErrorMsgs(error, userMsg, retainError = true) {
172
- var _a;
173
271
  let resolvedError = {
174
272
  errorMsg: '',
175
273
  errorType: ERROR_TYPE.UNKNOWN
@@ -177,7 +275,7 @@ class ErrorHandler {
177
275
  // Overloaded to allow ERROR_TYPE for convenience
178
276
  if (Object.values(ERROR_TYPE).includes(error)) {
179
277
  const errorType = error;
180
- resolvedError.errorMsg = (_a = ErrorHandler.getErrorMsgFromType(errorType)) !== null && _a !== void 0 ? _a : errorType.toString();
278
+ resolvedError.errorMsg = ErrorHandler.getErrorMsgFromType(errorType) ?? errorType.toString();
181
279
  resolvedError.errorType = errorType;
182
280
  }
183
281
  else if (typeof error === 'string') {
@@ -188,7 +286,7 @@ class ErrorHandler {
188
286
  }
189
287
  ErrorHandler._logger.error(userMsg ? `${userMsg} ${resolvedError.errorMsg}` : resolvedError.errorMsg);
190
288
  if (retainError) {
191
- this.currentErrorMsg = userMsg !== null && userMsg !== void 0 ? userMsg : resolvedError.errorMsg;
289
+ this.currentErrorMsg = userMsg ?? resolvedError.errorMsg;
192
290
  this.currentErrorType = resolvedError.errorType;
193
291
  }
194
292
  return resolvedError.errorMsg;
@@ -200,14 +298,13 @@ class ErrorHandler {
200
298
  * @returns The mapped error message and error type
201
299
  */
202
300
  static mapErrorToMsg(error) {
203
- var _a;
204
301
  let errorType;
205
302
  if (Object.values(ERROR_TYPE).includes(error)) {
206
303
  errorType = error;
207
304
  }
208
305
  else {
209
306
  // Map error type using more to less specific information if available
210
- errorType = (_a = ErrorHandler.getErrorType(this.findErrorValueForMapping(error))) !== null && _a !== void 0 ? _a : ERROR_TYPE.UNKNOWN;
307
+ errorType = ErrorHandler.getErrorType(this.findErrorValueForMapping(error)) ?? ERROR_TYPE.UNKNOWN;
211
308
  }
212
309
  return {
213
310
  errorMsg: ErrorHandler._errorMsg(error)[errorType],
@@ -224,14 +321,13 @@ class ErrorHandler {
224
321
  * @returns The error message
225
322
  */
226
323
  getErrorMsg(error, reset, fallback) {
227
- var _a;
228
324
  let errorMsg;
229
325
  if (error) {
230
326
  errorMsg = ErrorHandler.mapErrorToMsg(error).errorMsg;
231
327
  }
232
328
  // Get previous error message
233
329
  if (!errorMsg) {
234
- errorMsg = (_a = this.currentErrorMsg) !== null && _a !== void 0 ? _a : (fallback ? ErrorHandler.getErrorMsgFromType(fallback) : undefined);
330
+ errorMsg = this.currentErrorMsg ?? (fallback ? ErrorHandler.getErrorMsgFromType(fallback) : undefined);
235
331
  }
236
332
  if (reset) {
237
333
  this.currentErrorMsg = null;
@@ -249,7 +345,6 @@ class ErrorHandler {
249
345
  * @returns An instance of @see {ValidationLink}
250
346
  */
251
347
  getValidationErrorHelp(error, reset = false) {
252
- var _a;
253
348
  let errorHelp;
254
349
  let errorMsg;
255
350
  if (error) {
@@ -259,7 +354,7 @@ class ErrorHandler {
259
354
  }
260
355
  }
261
356
  else if (!error) {
262
- errorMsg = (_a = this.currentErrorMsg) !== null && _a !== void 0 ? _a : '';
357
+ errorMsg = this.currentErrorMsg ?? '';
263
358
  if (this.currentErrorType) {
264
359
  errorHelp = ErrorHandler.getHelpForError(this.currentErrorType, errorMsg);
265
360
  }
@@ -268,7 +363,7 @@ class ErrorHandler {
268
363
  this.currentErrorMsg = null;
269
364
  this.currentErrorType = null;
270
365
  }
271
- return errorHelp !== null && errorHelp !== void 0 ? errorHelp : errorMsg;
366
+ return errorHelp ?? errorMsg;
272
367
  }
273
368
  /**
274
369
  * Get the error message for the specified error type.
@@ -332,10 +427,10 @@ class ErrorHandler {
332
427
  */
333
428
  static getHelpForError(errorType, errorMsg) {
334
429
  const helpNode = ErrorHandler.getHelpNode(errorType);
335
- const mappedErrorMsg = errorMsg !== null && errorMsg !== void 0 ? errorMsg : ErrorHandler.getErrorMsgFromType(errorType);
430
+ const mappedErrorMsg = errorMsg ?? ErrorHandler.getErrorMsgFromType(errorType);
336
431
  if (helpNode) {
337
432
  const valLink = {
338
- message: mappedErrorMsg !== null && mappedErrorMsg !== void 0 ? mappedErrorMsg : '',
433
+ message: mappedErrorMsg ?? '',
339
434
  link: {
340
435
  text: (0, i18n_1.t)('guidedAnswers.validationErrorHelpText'),
341
436
  icon: images_1.GUIDED_ANSWERS_ICON,
@@ -364,100 +459,4 @@ class ErrorHandler {
364
459
  }
365
460
  }
366
461
  exports.ErrorHandler = ErrorHandler;
367
- // Get the required localized parameterized error message
368
- // Note that these are general fallback end-user error messages.
369
- // More specific error messages can be used at the point of error generation.
370
- ErrorHandler._errorMsg = (error) => ({
371
- [ERROR_TYPE.CERT]: (0, i18n_1.t)('errors.certificateError', { error }),
372
- [ERROR_TYPE.CERT_EXPIRED]: (0, i18n_1.t)('errors.urlCertValidationError', { certErrorReason: (0, i18n_1.t)('texts.anExpiredCert') }),
373
- [ERROR_TYPE.CERT_SELF_SIGNED]: (0, i18n_1.t)('errors.urlCertValidationError', {
374
- certErrorReason: (0, i18n_1.t)('texts.aSelfSignedCert')
375
- }),
376
- [ERROR_TYPE.CERT_UKNOWN_OR_INVALID]: (0, i18n_1.t)('errors.urlCertValidationError', {
377
- certErrorReason: (0, i18n_1.t)('texts.anUnknownOrInvalidCert')
378
- }),
379
- [ERROR_TYPE.CERT_SELF_SIGNED_CERT_IN_CHAIN]: (0, i18n_1.t)('errors.urlCertValidationError', {
380
- certErrorReason: (0, i18n_1.t)('texts.anUntrustedRootCert')
381
- }),
382
- [ERROR_TYPE.AUTH]: (0, i18n_1.t)('errors.authenticationFailed', { error }),
383
- [ERROR_TYPE.AUTH_TIMEOUT]: (0, i18n_1.t)('errors.authenticationTimeout'),
384
- [ERROR_TYPE.INVALID_URL]: (0, i18n_1.t)('errors.invalidUrl'),
385
- [ERROR_TYPE.CONNECTION]: (0, i18n_1.t)('errors.connectionError', {
386
- error: (error === null || error === void 0 ? void 0 : error.message) || JSON.stringify(error)
387
- }),
388
- [ERROR_TYPE.UNKNOWN]: (0, i18n_1.t)('errors.unknownError', {
389
- error: (error === null || error === void 0 ? void 0 : error.message) || JSON.stringify(error)
390
- }),
391
- [ERROR_TYPE.SERVICES_UNAVAILABLE]: (0, i18n_1.t)('errors.servicesUnavailable'),
392
- [ERROR_TYPE.SERVICE_UNAVAILABLE]: (0, i18n_1.t)('errors.serviceUnavailable'),
393
- [ERROR_TYPE.CATALOG_SERVICE_NOT_ACTIVE]: (0, i18n_1.t)('errors.catalogServiceNotActive'),
394
- [ERROR_TYPE.INTERNAL_SERVER_ERROR]: (0, i18n_1.t)('errors.internalServerError', { error: error === null || error === void 0 ? void 0 : error.message }),
395
- [ERROR_TYPE.NOT_FOUND]: (0, i18n_1.t)('errors.urlNotFound'),
396
- [ERROR_TYPE.ODATA_URL_NOT_FOUND]: (0, i18n_1.t)('errors.odataServiceUrlNotFound'),
397
- [ERROR_TYPE.BAD_GATEWAY]: (0, i18n_1.t)('errors.badGateway'),
398
- [ERROR_TYPE.DESTINATION_UNAVAILABLE]: (0, i18n_1.t)('errors.destinationUnavailable'),
399
- [ERROR_TYPE.DESTINATION_NOT_FOUND]: (0, i18n_1.t)('errors.destinationNotFound'),
400
- [ERROR_TYPE.DESTINATION_MISCONFIGURED]: (0, i18n_1.t)('errors.destinationMisconfigured'),
401
- [ERROR_TYPE.NO_V2_SERVICES]: (0, i18n_1.t)('errors.noServicesAvailable', { version: '2' }),
402
- [ERROR_TYPE.NO_V4_SERVICES]: (0, i18n_1.t)('errors.noServicesAvailable', { version: '4' }),
403
- [ERROR_TYPE.DESTINATION_BAD_GATEWAY_503]: (0, i18n_1.t)('errors.destinationUnavailable'),
404
- [ERROR_TYPE.REDIRECT]: (0, i18n_1.t)('errors.redirectError'),
405
- [ERROR_TYPE.NO_SUCH_HOST]: (0, i18n_1.t)('errors.noSuchHostError'),
406
- [ERROR_TYPE.NO_ABAP_ENVS]: (0, i18n_1.t)('error.abapEnvsUnavailable')
407
- });
408
- /**
409
- * Get the Guided Answers (help) node for the specified error type.
410
- *
411
- * @param errorType The error type for which a help node (help content id) may be returned
412
- * @returns The Guided Answers node for the specified error type
413
- */
414
- ErrorHandler.getHelpNode = (errorType) => {
415
- const errorToHelp = {
416
- [ERROR_TYPE.SERVICES_UNAVAILABLE]: (0, btp_utils_1.isAppStudio)()
417
- ? help_topics_1.HELP_NODES.BAS_CATALOG_SERVICES_REQUEST_FAILED
418
- : undefined,
419
- [ERROR_TYPE.CERT]: help_topics_1.HELP_NODES.CERTIFICATE_ERROR,
420
- [ERROR_TYPE.CERT_SELF_SIGNED]: help_topics_1.HELP_NODES.CERTIFICATE_ERROR,
421
- [ERROR_TYPE.CERT_UKNOWN_OR_INVALID]: help_topics_1.HELP_NODES.CERTIFICATE_ERROR,
422
- [ERROR_TYPE.CERT_SELF_SIGNED_CERT_IN_CHAIN]: help_topics_1.HELP_NODES.CERTIFICATE_ERROR,
423
- [ERROR_TYPE.DESTINATION_MISCONFIGURED]: help_topics_1.HELP_NODES.DESTINATION_MISCONFIGURED,
424
- [ERROR_TYPE.DESTINATION_UNAVAILABLE]: help_topics_1.HELP_NODES.DESTINATION_UNAVAILABLE,
425
- [ERROR_TYPE.DESTINATION_NOT_FOUND]: help_topics_1.HELP_NODES.DESTINATION_NOT_FOUND,
426
- [ERROR_TYPE.BAD_GATEWAY]: help_topics_1.HELP_NODES.BAD_GATEWAY,
427
- [ERROR_TYPE.DESTINATION_BAD_GATEWAY_503]: help_topics_1.HELP_NODES.DESTINATION_BAD_GATEWAY_503,
428
- [ERROR_TYPE.NO_V4_SERVICES]: help_topics_1.HELP_NODES.NO_V4_SERVICES,
429
- [ERROR_TYPE.AUTH]: undefined,
430
- [ERROR_TYPE.AUTH_TIMEOUT]: undefined,
431
- [ERROR_TYPE.REDIRECT]: undefined,
432
- [ERROR_TYPE.CERT_EXPIRED]: undefined,
433
- [ERROR_TYPE.UNKNOWN]: undefined,
434
- [ERROR_TYPE.INVALID_URL]: undefined,
435
- [ERROR_TYPE.CONNECTION]: undefined,
436
- [ERROR_TYPE.SERVICE_UNAVAILABLE]: undefined,
437
- [ERROR_TYPE.NO_ABAP_ENVS]: undefined,
438
- [ERROR_TYPE.CATALOG_SERVICE_NOT_ACTIVE]: undefined,
439
- [ERROR_TYPE.NO_SUCH_HOST]: undefined,
440
- [ERROR_TYPE.NOT_FOUND]: undefined,
441
- [ERROR_TYPE.ODATA_URL_NOT_FOUND]: undefined,
442
- [ERROR_TYPE.INTERNAL_SERVER_ERROR]: undefined,
443
- [ERROR_TYPE.NO_V2_SERVICES]: undefined
444
- };
445
- return errorToHelp[errorType];
446
- };
447
- /**
448
- * Find an error property for mapping to a general error type from most to least significant.
449
- *
450
- * @param error any type of error or object that has an error code, status, name or message
451
- * @returns a value that can be used to look up a general error type
452
- */
453
- ErrorHandler.findErrorValueForMapping = (error) => {
454
- var _a, _b, _c, _d, _e;
455
- return ((_c = (_b = (_a = error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.error) === null || _c === void 0 ? void 0 : _c.code) ||
456
- ((_d = error.response) === null || _d === void 0 ? void 0 : _d.status) ||
457
- ((_e = error.response) === null || _e === void 0 ? void 0 : _e.data) ||
458
- error.code ||
459
- (['TypeError', 'Error'].includes(error.name) ? error.message : error.name) || // For generic error types use the message otherwise the name is more relevant
460
- error.message ||
461
- error;
462
- };
463
462
  //# sourceMappingURL=error-handler.js.map
package/dist/i18n.js CHANGED
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
@@ -20,19 +11,17 @@ exports.defaultProjectNumber = 1;
20
11
  /**
21
12
  * Initialize i18next with the translations for this module.
22
13
  */
23
- function initI18nOdataServiceInquirer() {
24
- return __awaiter(this, void 0, void 0, function* () {
25
- yield i18next_1.default.init({
26
- lng: 'en',
27
- fallbackLng: 'en',
28
- missingInterpolationHandler: () => '',
29
- interpolation: {
30
- format: function odataVersionFormatter(odataVersion) {
31
- return odataVersion ? ` V${odataVersion}` : '';
32
- }
14
+ async function initI18nOdataServiceInquirer() {
15
+ await i18next_1.default.init({
16
+ lng: 'en',
17
+ fallbackLng: 'en',
18
+ missingInterpolationHandler: () => '',
19
+ interpolation: {
20
+ format: function odataVersionFormatter(odataVersion) {
21
+ return odataVersion ? ` V${odataVersion}` : '';
33
22
  }
34
- }, () => i18next_1.default.addResourceBundle('en', odataServiceInquirerNamespace, odata_service_inquirer_i18n_json_1.default));
35
- });
23
+ }
24
+ }, () => i18next_1.default.addResourceBundle('en', odataServiceInquirerNamespace, odata_service_inquirer_i18n_json_1.default));
36
25
  }
37
26
  exports.initI18nOdataServiceInquirer = initI18nOdataServiceInquirer;
38
27
  /**
@@ -43,8 +32,8 @@ exports.initI18nOdataServiceInquirer = initI18nOdataServiceInquirer;
43
32
  * @returns {string} localized string stored for the given key
44
33
  */
45
34
  function t(key, options) {
46
- if (!(options === null || options === void 0 ? void 0 : options.ns)) {
47
- options = Object.assign(options !== null && options !== void 0 ? options : {}, { ns: odataServiceInquirerNamespace });
35
+ if (!options?.ns) {
36
+ options = Object.assign(options ?? {}, { ns: odataServiceInquirerNamespace });
48
37
  }
49
38
  return i18next_1.default.t(key, options);
50
39
  }
package/dist/index.js CHANGED
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
@@ -36,21 +27,19 @@ const i18n_1 = require("./i18n");
36
27
  * @param isYUI - if true, the prompt is being called from the Yeoman UI extension host
37
28
  * @returns the prompts used to provide input for odata service generation and a reference to the answers object which will be populated with the user's responses once `inquirer.prompt` returns
38
29
  */
39
- function getPrompts(promptOptions, logger, enableGuidedAnswers = false, telemetryClient, isYUI = false) {
40
- return __awaiter(this, void 0, void 0, function* () {
41
- // prompt texts must be loaded before the prompts are created, wait for the i18n bundle to be initialized
42
- yield (0, i18n_1.initI18nOdataServiceInquirer)();
43
- logger_helper_1.default.logger = logger !== null && logger !== void 0 ? logger : new logger_1.ToolsLogger({ logPrefix: '@sap-ux/odata-service-inquirer' });
44
- error_handler_1.ErrorHandler.logger = logger_helper_1.default.logger;
45
- error_handler_1.ErrorHandler.guidedAnswersEnabled = enableGuidedAnswers;
46
- utils_1.PromptState.isYUI = isYUI;
47
- (0, utils_1.setTelemetryClient)(telemetryClient);
48
- return {
49
- prompts: yield (0, prompts_1.getQuestions)(promptOptions),
50
- // Return reference to derived answers object that will be populated with user responses (after prompting is complete)
51
- answers: utils_1.PromptState.odataService
52
- };
53
- });
30
+ async function getPrompts(promptOptions, logger, enableGuidedAnswers = false, telemetryClient, isYUI = false) {
31
+ // prompt texts must be loaded before the prompts are created, wait for the i18n bundle to be initialized
32
+ await (0, i18n_1.initI18nOdataServiceInquirer)();
33
+ logger_helper_1.default.logger = logger ?? new logger_1.ToolsLogger({ logPrefix: '@sap-ux/odata-service-inquirer' });
34
+ error_handler_1.ErrorHandler.logger = logger_helper_1.default.logger;
35
+ error_handler_1.ErrorHandler.guidedAnswersEnabled = enableGuidedAnswers;
36
+ utils_1.PromptState.isYUI = isYUI;
37
+ (0, utils_1.setTelemetryClient)(telemetryClient);
38
+ return {
39
+ prompts: await (0, prompts_1.getQuestions)(promptOptions),
40
+ // Return reference to derived answers object that will be populated with user responses (after prompting is complete)
41
+ answers: utils_1.PromptState.odataService
42
+ };
54
43
  }
55
44
  exports.getPrompts = getPrompts;
56
45
  /**
@@ -64,15 +53,13 @@ exports.getPrompts = getPrompts;
64
53
  * @param isYUI - if true, the prompt is being called from the Yeoman UI extension host
65
54
  * @returns the prompt answers
66
55
  */
67
- function prompt(adapter, promptOptions, logger, enableGuidedAnswers, telemetryClient, isYUI = false) {
68
- return __awaiter(this, void 0, void 0, function* () {
69
- const odataServicePrompts = (yield getPrompts(promptOptions, logger, enableGuidedAnswers, telemetryClient, isYUI))
70
- .prompts;
71
- const answers = yield adapter.prompt(odataServicePrompts);
72
- // Add dervied service answers to the answers object
73
- Object.assign(answers, utils_1.PromptState.odataService);
74
- return answers;
75
- });
56
+ async function prompt(adapter, promptOptions, logger, enableGuidedAnswers, telemetryClient, isYUI = false) {
57
+ const odataServicePrompts = (await getPrompts(promptOptions, logger, enableGuidedAnswers, telemetryClient, isYUI))
58
+ .prompts;
59
+ const answers = await adapter.prompt(odataServicePrompts);
60
+ // Add dervied service answers to the answers object
61
+ Object.assign(answers, utils_1.PromptState.odataService);
62
+ return answers;
76
63
  }
77
64
  exports.prompt = prompt;
78
65
  //# sourceMappingURL=index.js.map