@ama-sdk/core 10.3.0-prerelease.5 → 10.3.0-prerelease.51

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.
Files changed (44) hide show
  1. package/cjs/clients/api-angular-client.js +32 -14
  2. package/cjs/clients/api-beacon-client.js +58 -16
  3. package/cjs/clients/api-fetch-client.js +56 -14
  4. package/cjs/fwk/api.helpers.js +1 -1
  5. package/cjs/utils/generic-api.js +253 -0
  6. package/cjs/utils/index.js +1 -0
  7. package/esm2015/clients/api-angular-client.js +32 -14
  8. package/esm2015/clients/api-beacon-client.js +58 -16
  9. package/esm2015/clients/api-fetch-client.js +56 -14
  10. package/esm2015/fwk/api.helpers.js +1 -1
  11. package/esm2015/utils/generic-api.js +245 -0
  12. package/esm2015/utils/index.js +1 -0
  13. package/package.json +7 -7
  14. package/src/clients/api-angular-client.d.ts +6 -3
  15. package/src/clients/api-angular-client.d.ts.map +1 -1
  16. package/src/clients/api-angular-client.js +23 -11
  17. package/src/clients/api-angular-client.js.map +1 -1
  18. package/src/clients/api-beacon-client.d.ts +7 -5
  19. package/src/clients/api-beacon-client.d.ts.map +1 -1
  20. package/src/clients/api-beacon-client.js +22 -14
  21. package/src/clients/api-beacon-client.js.map +1 -1
  22. package/src/clients/api-fetch-client.d.ts +5 -3
  23. package/src/clients/api-fetch-client.d.ts.map +1 -1
  24. package/src/clients/api-fetch-client.js +22 -11
  25. package/src/clients/api-fetch-client.js.map +1 -1
  26. package/src/fwk/api.helpers.d.ts +1 -1
  27. package/src/fwk/api.helpers.d.ts.map +1 -1
  28. package/src/fwk/api.helpers.js +1 -1
  29. package/src/fwk/api.helpers.js.map +1 -1
  30. package/src/fwk/core/api-client.d.ts +36 -1
  31. package/src/fwk/core/api-client.d.ts.map +1 -1
  32. package/src/fwk/core/api-client.js.map +1 -1
  33. package/src/plugins/core/plugin.d.ts +6 -1
  34. package/src/plugins/core/plugin.d.ts.map +1 -1
  35. package/src/plugins/core/reply-plugin.d.ts +0 -2
  36. package/src/plugins/core/reply-plugin.d.ts.map +1 -1
  37. package/src/utils/generic-api.d.ts +39 -0
  38. package/src/utils/generic-api.d.ts.map +1 -0
  39. package/src/utils/generic-api.js +43 -0
  40. package/src/utils/generic-api.js.map +1 -0
  41. package/src/utils/index.d.ts +1 -0
  42. package/src/utils/index.d.ts.map +1 -1
  43. package/src/utils/index.js +1 -0
  44. package/src/utils/index.js.map +1 -1
@@ -232,24 +232,18 @@ var ApiAngularClient = /*#__PURE__*/ function() {
232
232
  }
233
233
  },
234
234
  {
235
- key: "prepareOptions",
236
- value: function prepareOptions(url, method, queryParams, headers, body, tokenizedOptions, metadata) {
235
+ key: "getRequestOptions",
236
+ value: /** @inheritdoc */ function getRequestOptions(requestOptionsParameters) {
237
237
  var _this = this;
238
238
  return _async_to_generator(function() {
239
- var options, opts, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, plugin, err;
239
+ var opts, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, plugin, _requestOptionsParameters_api, err;
240
240
  return _ts_generator(this, function(_state) {
241
241
  switch(_state.label){
242
242
  case 0:
243
- options = {
244
- method: method,
245
- headers: new Headers((0, _apihelpers.filterUndefinedValues)(headers)),
246
- body: body,
247
- queryParams: (0, _apihelpers.filterUndefinedValues)(queryParams),
248
- basePath: url,
249
- tokenizedOptions: tokenizedOptions,
250
- metadata: metadata
251
- };
252
- opts = options;
243
+ opts = _object_spread_props(_object_spread({}, requestOptionsParameters), {
244
+ headers: new Headers((0, _apihelpers.filterUndefinedValues)(requestOptionsParameters.headers)),
245
+ queryParams: (0, _apihelpers.filterUndefinedValues)(requestOptionsParameters.queryParams)
246
+ });
253
247
  if (!_this.options.requestPlugins) return [
254
248
  3,
255
249
  8
@@ -274,7 +268,8 @@ var ApiAngularClient = /*#__PURE__*/ function() {
274
268
  return [
275
269
  4,
276
270
  plugin.load({
277
- logger: _this.options.logger
271
+ logger: _this.options.logger,
272
+ apiName: (_requestOptionsParameters_api = requestOptionsParameters.api) === null || _requestOptionsParameters_api === void 0 ? void 0 : _requestOptionsParameters_api.apiName
278
273
  }).transform(opts)
279
274
  ];
280
275
  case 3:
@@ -322,6 +317,29 @@ var ApiAngularClient = /*#__PURE__*/ function() {
322
317
  })();
323
318
  }
324
319
  },
320
+ {
321
+ key: "prepareOptions",
322
+ value: /** @inheritdoc */ function prepareOptions(url, method, queryParams, headers, body, tokenizedOptions, metadata, api) {
323
+ var _this = this;
324
+ return _async_to_generator(function() {
325
+ return _ts_generator(this, function(_state) {
326
+ return [
327
+ 2,
328
+ _this.getRequestOptions({
329
+ headers: headers,
330
+ method: method,
331
+ basePath: url,
332
+ queryParams: queryParams,
333
+ body: body,
334
+ metadata: metadata,
335
+ tokenizedOptions: tokenizedOptions,
336
+ api: api
337
+ })
338
+ ];
339
+ });
340
+ })();
341
+ }
342
+ },
325
343
  {
326
344
  key: "prepareUrl",
327
345
  value: /** @inheritdoc */ function prepareUrl(url) {
@@ -41,6 +41,13 @@ function _define_property(obj, key, value) {
41
41
  }
42
42
  return obj;
43
43
  }
44
+ function _instanceof(left, right) {
45
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
46
+ return !!right[Symbol.hasInstance](left);
47
+ } else {
48
+ return left instanceof right;
49
+ }
50
+ }
44
51
  function _object_spread(target) {
45
52
  for(var i = 1; i < arguments.length; i++){
46
53
  var source = arguments[i] != null ? arguments[i] : {};
@@ -56,6 +63,30 @@ function _object_spread(target) {
56
63
  }
57
64
  return target;
58
65
  }
66
+ function ownKeys(object, enumerableOnly) {
67
+ var keys = Object.keys(object);
68
+ if (Object.getOwnPropertySymbols) {
69
+ var symbols = Object.getOwnPropertySymbols(object);
70
+ if (enumerableOnly) {
71
+ symbols = symbols.filter(function(sym) {
72
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
73
+ });
74
+ }
75
+ keys.push.apply(keys, symbols);
76
+ }
77
+ return keys;
78
+ }
79
+ function _object_spread_props(target, source) {
80
+ source = source != null ? source : {};
81
+ if (Object.getOwnPropertyDescriptors) {
82
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
83
+ } else {
84
+ ownKeys(Object(source)).forEach(function(key) {
85
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
86
+ });
87
+ }
88
+ return target;
89
+ }
59
90
  var DEFAULT_OPTIONS = {
60
91
  replyPlugins: [],
61
92
  requestPlugins: [],
@@ -67,7 +98,7 @@ var DEFAULT_OPTIONS = {
67
98
  */ // NOTE: the `extends unknown` is required for ESM build with TSC
68
99
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-constraint
69
100
  var isPromise = function(value) {
70
- return value && typeof value.then === "function";
101
+ return _instanceof(value, Promise);
71
102
  };
72
103
  var ApiBeaconClient = /*#__PURE__*/ function() {
73
104
  "use strict";
@@ -87,28 +118,24 @@ var ApiBeaconClient = /*#__PURE__*/ function() {
87
118
  }
88
119
  },
89
120
  {
90
- key: "prepareOptions",
91
- value: /** @inheritdoc */ function prepareOptions(url, method, queryParams, headers, body, tokenizedOptions, metadata) {
92
- if (method.toUpperCase() !== "POST") {
93
- throw new Error("Unsupported method: ".concat(method, ". The beacon API only supports POST."));
121
+ key: "getRequestOptions",
122
+ value: /** @inheritdoc */ function getRequestOptions(options) {
123
+ if (options.method.toUpperCase() !== "POST") {
124
+ throw new Error("Unsupported method: ".concat(options.method, ". The beacon API only supports POST."));
94
125
  }
95
- var options = {
96
- method: method,
97
- headers: new Headers((0, _apihelpers.filterUndefinedValues)(headers)),
98
- body: body,
99
- queryParams: (0, _apihelpers.filterUndefinedValues)(queryParams),
100
- basePath: url,
101
- tokenizedOptions: tokenizedOptions,
102
- metadata: metadata
103
- };
104
- var opts = options;
126
+ var opts = _object_spread_props(_object_spread({}, options), {
127
+ headers: new Headers((0, _apihelpers.filterUndefinedValues)(options.headers)),
128
+ queryParams: (0, _apihelpers.filterUndefinedValues)(options.queryParams)
129
+ });
105
130
  if (this.options.requestPlugins) {
106
131
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
107
132
  try {
108
133
  for(var _iterator = this.options.requestPlugins[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
109
134
  var plugin = _step.value;
135
+ var _options_api;
110
136
  var changedOpt = plugin.load({
111
- logger: this.options.logger
137
+ logger: this.options.logger,
138
+ apiName: (_options_api = options.api) === null || _options_api === void 0 ? void 0 : _options_api.apiName
112
139
  }).transform(opts);
113
140
  if (isPromise(changedOpt)) {
114
141
  throw new Error("Request plugin ".concat(plugin.constructor.name, " has async transform method. Only sync methods are supported with the Beacon client."));
@@ -134,6 +161,21 @@ var ApiBeaconClient = /*#__PURE__*/ function() {
134
161
  return Promise.resolve(opts);
135
162
  }
136
163
  },
164
+ {
165
+ key: "prepareOptions",
166
+ value: /** @inheritdoc */ function prepareOptions(url, method, queryParams, headers, body, tokenizedOptions, metadata, api) {
167
+ return this.getRequestOptions({
168
+ headers: headers,
169
+ method: method,
170
+ basePath: url,
171
+ queryParams: queryParams,
172
+ body: body,
173
+ metadata: metadata,
174
+ tokenizedOptions: tokenizedOptions,
175
+ api: api
176
+ });
177
+ }
178
+ },
137
179
  {
138
180
  key: "prepareUrl",
139
181
  value: /** @inheritdoc */ function prepareUrl(url, queryParameters) {
@@ -109,6 +109,30 @@ function _object_spread(target) {
109
109
  }
110
110
  return target;
111
111
  }
112
+ function ownKeys(object, enumerableOnly) {
113
+ var keys = Object.keys(object);
114
+ if (Object.getOwnPropertySymbols) {
115
+ var symbols = Object.getOwnPropertySymbols(object);
116
+ if (enumerableOnly) {
117
+ symbols = symbols.filter(function(sym) {
118
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
119
+ });
120
+ }
121
+ keys.push.apply(keys, symbols);
122
+ }
123
+ return keys;
124
+ }
125
+ function _object_spread_props(target, source) {
126
+ source = source != null ? source : {};
127
+ if (Object.getOwnPropertyDescriptors) {
128
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
129
+ } else {
130
+ ownKeys(Object(source)).forEach(function(key) {
131
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
132
+ });
133
+ }
134
+ return target;
135
+ }
112
136
  function _to_consumable_array(arr) {
113
137
  return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
114
138
  }
@@ -246,24 +270,18 @@ var ApiFetchClient = /*#__PURE__*/ function() {
246
270
  }
247
271
  },
248
272
  {
249
- key: "prepareOptions",
250
- value: /** @inheritdoc */ function prepareOptions(url, method, queryParams, headers, body, tokenizedOptions, metadata) {
273
+ key: "getRequestOptions",
274
+ value: /** @inheritdoc */ function getRequestOptions(requestOptionsParameters) {
251
275
  var _this = this;
252
276
  return _async_to_generator(function() {
253
- var options, opts, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, plugin, err;
277
+ var opts, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, plugin, _requestOptionsParameters_api, err;
254
278
  return _ts_generator(this, function(_state) {
255
279
  switch(_state.label){
256
280
  case 0:
257
- options = {
258
- method: method,
259
- headers: new Headers((0, _apihelpers.filterUndefinedValues)(headers)),
260
- body: body,
261
- queryParams: (0, _apihelpers.filterUndefinedValues)(queryParams),
262
- basePath: url,
263
- tokenizedOptions: tokenizedOptions,
264
- metadata: metadata
265
- };
266
- opts = options;
281
+ opts = _object_spread_props(_object_spread({}, requestOptionsParameters), {
282
+ headers: new Headers((0, _apihelpers.filterUndefinedValues)(requestOptionsParameters.headers)),
283
+ queryParams: (0, _apihelpers.filterUndefinedValues)(requestOptionsParameters.queryParams)
284
+ });
267
285
  if (!_this.options.requestPlugins) return [
268
286
  3,
269
287
  8
@@ -288,7 +306,8 @@ var ApiFetchClient = /*#__PURE__*/ function() {
288
306
  return [
289
307
  4,
290
308
  plugin.load({
291
- logger: _this.options.logger
309
+ logger: _this.options.logger,
310
+ apiName: (_requestOptionsParameters_api = requestOptionsParameters.api) === null || _requestOptionsParameters_api === void 0 ? void 0 : _requestOptionsParameters_api.apiName
292
311
  }).transform(opts)
293
312
  ];
294
313
  case 3:
@@ -336,6 +355,29 @@ var ApiFetchClient = /*#__PURE__*/ function() {
336
355
  })();
337
356
  }
338
357
  },
358
+ {
359
+ key: "prepareOptions",
360
+ value: /** @inheritdoc */ function prepareOptions(url, method, queryParams, headers, body, tokenizedOptions, metadata, api) {
361
+ var _this = this;
362
+ return _async_to_generator(function() {
363
+ return _ts_generator(this, function(_state) {
364
+ return [
365
+ 2,
366
+ _this.getRequestOptions({
367
+ headers: headers,
368
+ method: method,
369
+ basePath: url,
370
+ queryParams: queryParams,
371
+ body: body,
372
+ metadata: metadata,
373
+ tokenizedOptions: tokenizedOptions,
374
+ api: api
375
+ })
376
+ ];
377
+ });
378
+ })();
379
+ }
380
+ },
339
381
  {
340
382
  key: "prepareUrl",
341
383
  value: /** @inheritdoc */ function prepareUrl(url) {
@@ -125,7 +125,7 @@ function extractQueryParams(data, names) {
125
125
  }, {});
126
126
  }
127
127
  function filterUndefinedValues(object) {
128
- return Object.keys(object).filter(function(objectKey) {
128
+ return !object ? {} : Object.keys(object).filter(function(objectKey) {
129
129
  return typeof object[objectKey] !== "undefined";
130
130
  }).reduce(function(acc, objectKey) {
131
131
  acc[objectKey] = object[objectKey];
@@ -0,0 +1,253 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "GenericApi", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return GenericApi;
9
+ }
10
+ });
11
+ var _fwk = require("../fwk");
12
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
13
+ try {
14
+ var info = gen[key](arg);
15
+ var value = info.value;
16
+ } catch (error) {
17
+ reject(error);
18
+ return;
19
+ }
20
+ if (info.done) {
21
+ resolve(value);
22
+ } else {
23
+ Promise.resolve(value).then(_next, _throw);
24
+ }
25
+ }
26
+ function _async_to_generator(fn) {
27
+ return function() {
28
+ var self = this, args = arguments;
29
+ return new Promise(function(resolve, reject) {
30
+ var gen = fn.apply(self, args);
31
+ function _next(value) {
32
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
33
+ }
34
+ function _throw(err) {
35
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
36
+ }
37
+ _next(undefined);
38
+ });
39
+ };
40
+ }
41
+ function _class_call_check(instance, Constructor) {
42
+ if (!(instance instanceof Constructor)) {
43
+ throw new TypeError("Cannot call a class as a function");
44
+ }
45
+ }
46
+ function _defineProperties(target, props) {
47
+ for(var i = 0; i < props.length; i++){
48
+ var descriptor = props[i];
49
+ descriptor.enumerable = descriptor.enumerable || false;
50
+ descriptor.configurable = true;
51
+ if ("value" in descriptor) descriptor.writable = true;
52
+ Object.defineProperty(target, descriptor.key, descriptor);
53
+ }
54
+ }
55
+ function _create_class(Constructor, protoProps, staticProps) {
56
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
57
+ if (staticProps) _defineProperties(Constructor, staticProps);
58
+ return Constructor;
59
+ }
60
+ function _define_property(obj, key, value) {
61
+ if (key in obj) {
62
+ Object.defineProperty(obj, key, {
63
+ value: value,
64
+ enumerable: true,
65
+ configurable: true,
66
+ writable: true
67
+ });
68
+ } else {
69
+ obj[key] = value;
70
+ }
71
+ return obj;
72
+ }
73
+ function _object_spread(target) {
74
+ for(var i = 1; i < arguments.length; i++){
75
+ var source = arguments[i] != null ? arguments[i] : {};
76
+ var ownKeys = Object.keys(source);
77
+ if (typeof Object.getOwnPropertySymbols === "function") {
78
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
79
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
80
+ }));
81
+ }
82
+ ownKeys.forEach(function(key) {
83
+ _define_property(target, key, source[key]);
84
+ });
85
+ }
86
+ return target;
87
+ }
88
+ function _ts_generator(thisArg, body) {
89
+ var f, y, t, g, _ = {
90
+ label: 0,
91
+ sent: function() {
92
+ if (t[0] & 1) throw t[1];
93
+ return t[1];
94
+ },
95
+ trys: [],
96
+ ops: []
97
+ };
98
+ return g = {
99
+ next: verb(0),
100
+ "throw": verb(1),
101
+ "return": verb(2)
102
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
103
+ return this;
104
+ }), g;
105
+ function verb(n) {
106
+ return function(v) {
107
+ return step([
108
+ n,
109
+ v
110
+ ]);
111
+ };
112
+ }
113
+ function step(op) {
114
+ if (f) throw new TypeError("Generator is already executing.");
115
+ while(_)try {
116
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
117
+ if (y = 0, t) op = [
118
+ op[0] & 2,
119
+ t.value
120
+ ];
121
+ switch(op[0]){
122
+ case 0:
123
+ case 1:
124
+ t = op;
125
+ break;
126
+ case 4:
127
+ _.label++;
128
+ return {
129
+ value: op[1],
130
+ done: false
131
+ };
132
+ case 5:
133
+ _.label++;
134
+ y = op[1];
135
+ op = [
136
+ 0
137
+ ];
138
+ continue;
139
+ case 7:
140
+ op = _.ops.pop();
141
+ _.trys.pop();
142
+ continue;
143
+ default:
144
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
145
+ _ = 0;
146
+ continue;
147
+ }
148
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
149
+ _.label = op[1];
150
+ break;
151
+ }
152
+ if (op[0] === 6 && _.label < t[1]) {
153
+ _.label = t[1];
154
+ t = op;
155
+ break;
156
+ }
157
+ if (t && _.label < t[2]) {
158
+ _.label = t[2];
159
+ _.ops.push(op);
160
+ break;
161
+ }
162
+ if (t[2]) _.ops.pop();
163
+ _.trys.pop();
164
+ continue;
165
+ }
166
+ op = body.call(thisArg, _);
167
+ } catch (e) {
168
+ op = [
169
+ 6,
170
+ e
171
+ ];
172
+ y = 0;
173
+ } finally{
174
+ f = t = 0;
175
+ }
176
+ if (op[0] & 5) throw op[1];
177
+ return {
178
+ value: op[0] ? op[1] : void 0,
179
+ done: true
180
+ };
181
+ }
182
+ }
183
+ var GenericApi = /*#__PURE__*/ function() {
184
+ "use strict";
185
+ function GenericApi(apiClient) {
186
+ _class_call_check(this, GenericApi);
187
+ /** @inheritDoc */ _define_property(this, "apiName", GenericApi.apiName);
188
+ /** @inheritDoc */ _define_property(this, "client", void 0);
189
+ this.client = apiClient;
190
+ }
191
+ _create_class(GenericApi, [
192
+ {
193
+ key: "request",
194
+ value: /**
195
+ * Process to request to the API in the context of the SDK
196
+ * @param requestOptions Option to provide to process to the call
197
+ */ function request(requestOptions) {
198
+ var _this = this;
199
+ return _async_to_generator(function() {
200
+ var _requestOptions_metadata, _requestOptions_metadata1, metadataHeaderAccept, headers, requestParameters, options, _tmp, url, ret;
201
+ return _ts_generator(this, function(_state) {
202
+ switch(_state.label){
203
+ case 0:
204
+ metadataHeaderAccept = ((_requestOptions_metadata = requestOptions.metadata) === null || _requestOptions_metadata === void 0 ? void 0 : _requestOptions_metadata.headerAccept) || "application/json";
205
+ headers = _object_spread({
206
+ // eslint-disable-next-line @typescript-eslint/naming-convention
207
+ "Content-Type": ((_requestOptions_metadata1 = requestOptions.metadata) === null || _requestOptions_metadata1 === void 0 ? void 0 : _requestOptions_metadata1.headerContentType) || "application/json"
208
+ }, metadataHeaderAccept ? {
209
+ "Accept": metadataHeaderAccept
210
+ } : {});
211
+ requestParameters = _object_spread({
212
+ api: _this,
213
+ headers: headers
214
+ }, requestOptions);
215
+ if (!_this.client.getRequestOptions) return [
216
+ 3,
217
+ 2
218
+ ];
219
+ return [
220
+ 4,
221
+ _this.client.getRequestOptions(requestParameters)
222
+ ];
223
+ case 1:
224
+ _tmp = _state.sent();
225
+ return [
226
+ 3,
227
+ 4
228
+ ];
229
+ case 2:
230
+ return [
231
+ 4,
232
+ _this.client.prepareOptions(requestParameters.basePath, requestParameters.method, requestParameters.queryParams || {}, requestParameters.headers)
233
+ ];
234
+ case 3:
235
+ _tmp = _state.sent();
236
+ _state.label = 4;
237
+ case 4:
238
+ options = _tmp;
239
+ url = _this.client.prepareUrl(options.basePath, options.queryParams);
240
+ ret = _this.client.processCall(url, options, _fwk.ApiTypes.DEFAULT, requestOptions.api.apiName, requestOptions.revivers, requestOptions.operationId);
241
+ return [
242
+ 2,
243
+ ret
244
+ ];
245
+ }
246
+ });
247
+ })();
248
+ }
249
+ }
250
+ ]);
251
+ return GenericApi;
252
+ }();
253
+ /** API name */ _define_property(GenericApi, "apiName", "GenericApi");
@@ -7,6 +7,7 @@ _export_star(require("./encoder"), exports);
7
7
  _export_star(require("./ie11"), exports);
8
8
  _export_star(require("./json-token"), exports);
9
9
  _export_star(require("./mime-types"), exports);
10
+ _export_star(require("./generic-api"), exports);
10
11
  function _export_star(from, to) {
11
12
  Object.keys(from).forEach(function(k) {
12
13
  if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
@@ -222,24 +222,18 @@ var DEFAULT_OPTIONS = {
222
222
  }
223
223
  },
224
224
  {
225
- key: "prepareOptions",
226
- value: function prepareOptions(url, method, queryParams, headers, body, tokenizedOptions, metadata) {
225
+ key: "getRequestOptions",
226
+ value: /** @inheritdoc */ function getRequestOptions(requestOptionsParameters) {
227
227
  var _this = this;
228
228
  return _async_to_generator(function() {
229
- var options, opts, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, plugin, err;
229
+ var opts, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, plugin, _requestOptionsParameters_api, err;
230
230
  return _ts_generator(this, function(_state) {
231
231
  switch(_state.label){
232
232
  case 0:
233
- options = {
234
- method: method,
235
- headers: new Headers(filterUndefinedValues(headers)),
236
- body: body,
237
- queryParams: filterUndefinedValues(queryParams),
238
- basePath: url,
239
- tokenizedOptions: tokenizedOptions,
240
- metadata: metadata
241
- };
242
- opts = options;
233
+ opts = _object_spread_props(_object_spread({}, requestOptionsParameters), {
234
+ headers: new Headers(filterUndefinedValues(requestOptionsParameters.headers)),
235
+ queryParams: filterUndefinedValues(requestOptionsParameters.queryParams)
236
+ });
243
237
  if (!_this.options.requestPlugins) return [
244
238
  3,
245
239
  8
@@ -264,7 +258,8 @@ var DEFAULT_OPTIONS = {
264
258
  return [
265
259
  4,
266
260
  plugin.load({
267
- logger: _this.options.logger
261
+ logger: _this.options.logger,
262
+ apiName: (_requestOptionsParameters_api = requestOptionsParameters.api) === null || _requestOptionsParameters_api === void 0 ? void 0 : _requestOptionsParameters_api.apiName
268
263
  }).transform(opts)
269
264
  ];
270
265
  case 3:
@@ -312,6 +307,29 @@ var DEFAULT_OPTIONS = {
312
307
  })();
313
308
  }
314
309
  },
310
+ {
311
+ key: "prepareOptions",
312
+ value: /** @inheritdoc */ function prepareOptions(url, method, queryParams, headers, body, tokenizedOptions, metadata, api) {
313
+ var _this = this;
314
+ return _async_to_generator(function() {
315
+ return _ts_generator(this, function(_state) {
316
+ return [
317
+ 2,
318
+ _this.getRequestOptions({
319
+ headers: headers,
320
+ method: method,
321
+ basePath: url,
322
+ queryParams: queryParams,
323
+ body: body,
324
+ metadata: metadata,
325
+ tokenizedOptions: tokenizedOptions,
326
+ api: api
327
+ })
328
+ ];
329
+ });
330
+ })();
331
+ }
332
+ },
315
333
  {
316
334
  key: "prepareUrl",
317
335
  value: /** @inheritdoc */ function prepareUrl1(url) {