@ama-sdk/client-fetch 12.3.0-prerelease.70 → 12.3.0-prerelease.71

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 (31) hide show
  1. package/cjs/api-fetch-client.js +12 -13
  2. package/cjs/plugins/abort/abort.spec.js +79 -73
  3. package/cjs/plugins/concurrent/concurrent.fetch.js +8 -12
  4. package/cjs/plugins/concurrent/concurrent.spec.js +95 -91
  5. package/cjs/plugins/keepalive/keepalive.request.js +3 -4
  6. package/cjs/plugins/keepalive/keepalive.spec.js +28 -26
  7. package/cjs/plugins/mock-intercept/mock-intercept.fetch.js +11 -14
  8. package/cjs/plugins/mock-intercept/mock-intercept.spec.js +243 -231
  9. package/cjs/plugins/perf-metric/perf-metric.fetch.js +7 -10
  10. package/cjs/plugins/retry/retry.fetch.js +14 -19
  11. package/cjs/plugins/retry/retry.spec.js +229 -217
  12. package/cjs/plugins/timeout/timeout.fetch.js +9 -11
  13. package/cjs/plugins/timeout/timeout.spec.js +207 -197
  14. package/cjs/plugins/wait-for/wait-for.fetch.js +15 -21
  15. package/cjs/plugins/wait-for/wait-for.spec.js +207 -195
  16. package/esm2015/api-fetch-client.js +12 -13
  17. package/esm2015/plugins/abort/abort.spec.js +79 -73
  18. package/esm2015/plugins/concurrent/concurrent.fetch.js +8 -12
  19. package/esm2015/plugins/concurrent/concurrent.spec.js +95 -91
  20. package/esm2015/plugins/keepalive/keepalive.request.js +3 -4
  21. package/esm2015/plugins/keepalive/keepalive.spec.js +28 -26
  22. package/esm2015/plugins/mock-intercept/mock-intercept.fetch.js +11 -14
  23. package/esm2015/plugins/mock-intercept/mock-intercept.spec.js +243 -231
  24. package/esm2015/plugins/perf-metric/perf-metric.fetch.js +7 -10
  25. package/esm2015/plugins/retry/retry.fetch.js +14 -19
  26. package/esm2015/plugins/retry/retry.spec.js +229 -217
  27. package/esm2015/plugins/timeout/timeout.fetch.js +9 -11
  28. package/esm2015/plugins/timeout/timeout.spec.js +207 -197
  29. package/esm2015/plugins/wait-for/wait-for.fetch.js +15 -21
  30. package/esm2015/plugins/wait-for/wait-for.spec.js +207 -195
  31. package/package.json +8 -8
@@ -130,203 +130,213 @@ function _ts_generator(thisArg, body) {
130
130
  }
131
131
  var _this = void 0;
132
132
  describe('Timeout Fetch Plugin', function() {
133
- it('should reject on timeout', /*#__PURE__*/ _async_to_generator(function() {
134
- var plugin, runner, call, callback;
135
- return _ts_generator(this, function(_state) {
136
- switch(_state.label){
137
- case 0:
138
- plugin = new _timeoutfetch.TimeoutFetch(100);
139
- runner = plugin.load({
140
- controller: new AbortController()
141
- });
142
- call = new Promise(function(resolve) {
143
- return setTimeout(function() {
144
- return resolve(undefined);
145
- }, 1000);
146
- });
147
- callback = jest.fn();
148
- runner.transform(call).catch(callback);
149
- return [
150
- 4,
151
- jest.advanceTimersByTimeAsync(99)
152
- ];
153
- case 1:
154
- _state.sent();
155
- expect(callback).not.toHaveBeenCalled();
156
- return [
157
- 4,
158
- jest.advanceTimersByTimeAsync(1)
159
- ];
160
- case 2:
161
- _state.sent();
162
- expect(callback).toHaveBeenCalledWith(new _core.ResponseTimeoutError('in 100ms'));
163
- return [
164
- 2
165
- ];
166
- }
167
- });
168
- }));
169
- it('should not reject on fetch rejection', /*#__PURE__*/ _async_to_generator(function() {
170
- var plugin, runner, call, callback;
171
- return _ts_generator(this, function(_state) {
172
- switch(_state.label){
173
- case 0:
174
- plugin = new _timeoutfetch.TimeoutFetch(6000);
175
- runner = plugin.load({
176
- controller: new AbortController()
177
- });
178
- call = new Promise(function(_resolve, reject) {
179
- return setTimeout(function() {
180
- return reject(new _core.EmptyResponseError(''));
181
- }, 100);
182
- });
183
- callback = jest.fn();
184
- runner.transform(call).catch(callback);
185
- return [
186
- 4,
187
- jest.advanceTimersByTimeAsync(6000)
188
- ];
189
- case 1:
190
- _state.sent();
191
- expect(callback).toHaveBeenCalledWith(new _core.EmptyResponseError(''));
192
- return [
193
- 2
194
- ];
195
- }
196
- });
197
- }));
198
- it('should forward the fetch response', /*#__PURE__*/ _async_to_generator(function() {
199
- var plugin, runner, call, promise;
200
- return _ts_generator(this, function(_state) {
201
- switch(_state.label){
202
- case 0:
203
- plugin = new _timeoutfetch.TimeoutFetch(2000);
204
- runner = plugin.load({
205
- controller: new AbortController()
206
- });
207
- call = new Promise(function(resolve) {
208
- return setTimeout(function() {
209
- return resolve({
210
- test: true
211
- });
212
- }, 100);
213
- });
214
- promise = runner.transform(call);
215
- return [
216
- 4,
217
- jest.runAllTimersAsync()
218
- ];
219
- case 1:
220
- _state.sent();
221
- return [
222
- 4,
223
- promise
224
- ];
225
- case 2:
226
- expect.apply(void 0, [
227
- _state.sent()
228
- ]).toEqual({
229
- test: true
230
- });
231
- return [
232
- 2
233
- ];
234
- }
235
- });
236
- }));
237
- it('should not reject if the timeout has been paused and reject if restarted', /*#__PURE__*/ _async_to_generator(function() {
238
- var timeoutPauseEvent, plugin, runner, call, callback;
239
- return _ts_generator(this, function(_state) {
240
- switch(_state.label){
241
- case 0:
242
- timeoutPauseEvent = {
243
- emitEvent: function(_status) {},
244
- handler: function(timeoutPauseCallback) {
245
- timeoutPauseEvent.emitEvent = timeoutPauseCallback;
246
- return function() {};
247
- }
248
- };
249
- plugin = new _timeoutfetch.TimeoutFetch(100, timeoutPauseEvent.handler);
250
- runner = plugin.load({
251
- controller: new AbortController()
252
- });
253
- call = new Promise(function(resolve) {
254
- return setTimeout(function() {
255
- return resolve({
256
- test: true
257
- });
258
- }, 500);
259
- });
260
- callback = jest.fn();
261
- runner.transform(call).catch(callback);
262
- timeoutPauseEvent.emitEvent('timeoutStopped');
263
- return [
264
- 4,
265
- jest.advanceTimersByTimeAsync(200)
266
- ];
267
- case 1:
268
- _state.sent();
269
- timeoutPauseEvent.emitEvent('timeoutStarted');
270
- return [
271
- 4,
272
- jest.advanceTimersByTimeAsync(200)
273
- ];
274
- case 2:
275
- _state.sent();
276
- expect(callback).toHaveBeenCalledWith(new _core.ResponseTimeoutError('in 100ms'));
277
- return [
278
- 2
279
- ];
280
- }
281
- });
282
- }));
283
- it('should take into account pause events triggered before the call', /*#__PURE__*/ _async_to_generator(function() {
284
- var timeoutPauseEvent, plugin, runner, call, promise;
285
- return _ts_generator(this, function(_state) {
286
- switch(_state.label){
287
- case 0:
288
- timeoutPauseEvent = {
289
- emitEvent: function(_status) {},
290
- handler: function(timeoutPauseCallback) {
291
- timeoutPauseEvent.emitEvent = timeoutPauseCallback;
292
- return function() {};
293
- }
294
- };
295
- plugin = new _timeoutfetch.TimeoutFetch(250, timeoutPauseEvent.handler);
296
- runner = plugin.load({
297
- controller: new AbortController()
298
- });
299
- call = new Promise(function(resolve) {
300
- return setTimeout(function() {
301
- return resolve({
302
- test: true
303
- });
304
- }, 500);
305
- });
306
- timeoutPauseEvent.emitEvent('timeoutStopped');
307
- promise = runner.transform(call);
308
- return [
309
- 4,
310
- jest.runAllTimersAsync()
311
- ];
312
- case 1:
313
- _state.sent();
314
- return [
315
- 4,
316
- promise
317
- ];
318
- case 2:
319
- expect.apply(void 0, [
320
- _state.sent()
321
- ]).toEqual({
322
- test: true
323
- });
324
- return [
325
- 2
326
- ];
327
- }
328
- });
329
- }));
133
+ it('should reject on timeout', function() {
134
+ return _async_to_generator(function() {
135
+ var plugin, runner, call, callback;
136
+ return _ts_generator(this, function(_state) {
137
+ switch(_state.label){
138
+ case 0:
139
+ plugin = new _timeoutfetch.TimeoutFetch(100);
140
+ runner = plugin.load({
141
+ controller: new AbortController()
142
+ });
143
+ call = new Promise(function(resolve) {
144
+ return setTimeout(function() {
145
+ return resolve(undefined);
146
+ }, 1000);
147
+ });
148
+ callback = jest.fn();
149
+ runner.transform(call).catch(callback);
150
+ return [
151
+ 4,
152
+ jest.advanceTimersByTimeAsync(99)
153
+ ];
154
+ case 1:
155
+ _state.sent();
156
+ expect(callback).not.toHaveBeenCalled();
157
+ return [
158
+ 4,
159
+ jest.advanceTimersByTimeAsync(1)
160
+ ];
161
+ case 2:
162
+ _state.sent();
163
+ expect(callback).toHaveBeenCalledWith(new _core.ResponseTimeoutError('in 100ms'));
164
+ return [
165
+ 2
166
+ ];
167
+ }
168
+ });
169
+ })();
170
+ });
171
+ it('should not reject on fetch rejection', function() {
172
+ return _async_to_generator(function() {
173
+ var plugin, runner, call, callback;
174
+ return _ts_generator(this, function(_state) {
175
+ switch(_state.label){
176
+ case 0:
177
+ plugin = new _timeoutfetch.TimeoutFetch(6000);
178
+ runner = plugin.load({
179
+ controller: new AbortController()
180
+ });
181
+ call = new Promise(function(_resolve, reject) {
182
+ return setTimeout(function() {
183
+ return reject(new _core.EmptyResponseError(''));
184
+ }, 100);
185
+ });
186
+ callback = jest.fn();
187
+ runner.transform(call).catch(callback);
188
+ return [
189
+ 4,
190
+ jest.advanceTimersByTimeAsync(6000)
191
+ ];
192
+ case 1:
193
+ _state.sent();
194
+ expect(callback).toHaveBeenCalledWith(new _core.EmptyResponseError(''));
195
+ return [
196
+ 2
197
+ ];
198
+ }
199
+ });
200
+ })();
201
+ });
202
+ it('should forward the fetch response', function() {
203
+ return _async_to_generator(function() {
204
+ var plugin, runner, call, promise;
205
+ return _ts_generator(this, function(_state) {
206
+ switch(_state.label){
207
+ case 0:
208
+ plugin = new _timeoutfetch.TimeoutFetch(2000);
209
+ runner = plugin.load({
210
+ controller: new AbortController()
211
+ });
212
+ call = new Promise(function(resolve) {
213
+ return setTimeout(function() {
214
+ return resolve({
215
+ test: true
216
+ });
217
+ }, 100);
218
+ });
219
+ promise = runner.transform(call);
220
+ return [
221
+ 4,
222
+ jest.runAllTimersAsync()
223
+ ];
224
+ case 1:
225
+ _state.sent();
226
+ return [
227
+ 4,
228
+ promise
229
+ ];
230
+ case 2:
231
+ expect.apply(void 0, [
232
+ _state.sent()
233
+ ]).toEqual({
234
+ test: true
235
+ });
236
+ return [
237
+ 2
238
+ ];
239
+ }
240
+ });
241
+ })();
242
+ });
243
+ it('should not reject if the timeout has been paused and reject if restarted', function() {
244
+ return _async_to_generator(function() {
245
+ var timeoutPauseEvent, plugin, runner, call, callback;
246
+ return _ts_generator(this, function(_state) {
247
+ switch(_state.label){
248
+ case 0:
249
+ timeoutPauseEvent = {
250
+ emitEvent: function(_status) {},
251
+ handler: function(timeoutPauseCallback) {
252
+ timeoutPauseEvent.emitEvent = timeoutPauseCallback;
253
+ return function() {};
254
+ }
255
+ };
256
+ plugin = new _timeoutfetch.TimeoutFetch(100, timeoutPauseEvent.handler);
257
+ runner = plugin.load({
258
+ controller: new AbortController()
259
+ });
260
+ call = new Promise(function(resolve) {
261
+ return setTimeout(function() {
262
+ return resolve({
263
+ test: true
264
+ });
265
+ }, 500);
266
+ });
267
+ callback = jest.fn();
268
+ runner.transform(call).catch(callback);
269
+ timeoutPauseEvent.emitEvent('timeoutStopped');
270
+ return [
271
+ 4,
272
+ jest.advanceTimersByTimeAsync(200)
273
+ ];
274
+ case 1:
275
+ _state.sent();
276
+ timeoutPauseEvent.emitEvent('timeoutStarted');
277
+ return [
278
+ 4,
279
+ jest.advanceTimersByTimeAsync(200)
280
+ ];
281
+ case 2:
282
+ _state.sent();
283
+ expect(callback).toHaveBeenCalledWith(new _core.ResponseTimeoutError('in 100ms'));
284
+ return [
285
+ 2
286
+ ];
287
+ }
288
+ });
289
+ })();
290
+ });
291
+ it('should take into account pause events triggered before the call', function() {
292
+ return _async_to_generator(function() {
293
+ var timeoutPauseEvent, plugin, runner, call, promise;
294
+ return _ts_generator(this, function(_state) {
295
+ switch(_state.label){
296
+ case 0:
297
+ timeoutPauseEvent = {
298
+ emitEvent: function(_status) {},
299
+ handler: function(timeoutPauseCallback) {
300
+ timeoutPauseEvent.emitEvent = timeoutPauseCallback;
301
+ return function() {};
302
+ }
303
+ };
304
+ plugin = new _timeoutfetch.TimeoutFetch(250, timeoutPauseEvent.handler);
305
+ runner = plugin.load({
306
+ controller: new AbortController()
307
+ });
308
+ call = new Promise(function(resolve) {
309
+ return setTimeout(function() {
310
+ return resolve({
311
+ test: true
312
+ });
313
+ }, 500);
314
+ });
315
+ timeoutPauseEvent.emitEvent('timeoutStopped');
316
+ promise = runner.transform(call);
317
+ return [
318
+ 4,
319
+ jest.runAllTimersAsync()
320
+ ];
321
+ case 1:
322
+ _state.sent();
323
+ return [
324
+ 4,
325
+ promise
326
+ ];
327
+ case 2:
328
+ expect.apply(void 0, [
329
+ _state.sent()
330
+ ]).toEqual({
331
+ test: true
332
+ });
333
+ return [
334
+ 2
335
+ ];
336
+ }
337
+ });
338
+ })();
339
+ });
330
340
  });
331
341
  describe('impervaCaptchaEventHandlerFactory', function() {
332
342
  var postMessageTemp;
@@ -214,23 +214,23 @@ var WaitForFetch = /*#__PURE__*/ function() {
214
214
  {
215
215
  key: "load",
216
216
  value: /** @inheritDoc */ function load(context) {
217
- var data;
218
217
  var _this = this;
218
+ var data;
219
219
  return {
220
220
  // eslint-disable-next-line no-async-promise-executor -- all await are handled with a try-catch block
221
221
  canStart: function() {
222
- return new Promise(/*#__PURE__*/ function() {
223
- var _ref = _async_to_generator(function(resolve) {
222
+ return new Promise(function(resolve) {
223
+ return _async_to_generator(function() {
224
224
  var didTimeOut, timer, canStartCondition, canStart, e;
225
225
  return _ts_generator(this, function(_state) {
226
226
  switch(_state.label){
227
227
  case 0:
228
228
  didTimeOut = false;
229
- if (_this.timeout) {
229
+ if (this.timeout) {
230
230
  timer = setTimeout(function() {
231
231
  didTimeOut = true;
232
232
  resolve(false);
233
- }, _this.timeout);
233
+ }, this.timeout);
234
234
  }
235
235
  _state.label = 1;
236
236
  case 1:
@@ -242,7 +242,7 @@ var WaitForFetch = /*#__PURE__*/ function() {
242
242
  ]);
243
243
  return [
244
244
  4,
245
- _this.canStartCondition(context)
245
+ this.canStartCondition(context)
246
246
  ];
247
247
  case 2:
248
248
  canStartCondition = _state.sent();
@@ -282,19 +282,16 @@ var WaitForFetch = /*#__PURE__*/ function() {
282
282
  ];
283
283
  }
284
284
  });
285
- });
286
- return function(resolve) {
287
- return _ref.apply(this, arguments);
288
- };
289
- }());
285
+ }).call(_this);
286
+ });
290
287
  },
291
- transform: /*#__PURE__*/ function() {
292
- var _ref = _async_to_generator(function(fetchCall) {
288
+ transform: function(fetchCall) {
289
+ return _async_to_generator(function() {
293
290
  var response, e;
294
291
  return _ts_generator(this, function(_state) {
295
292
  switch(_state.label){
296
293
  case 0:
297
- if (!_this.callback) {
294
+ if (!this.callback) {
298
295
  return [
299
296
  2,
300
297
  fetchCall
@@ -314,7 +311,7 @@ var WaitForFetch = /*#__PURE__*/ function() {
314
311
  ];
315
312
  case 2:
316
313
  response = _state.sent();
317
- _this.callback(_object_spread_props(_object_spread({}, context), {
314
+ this.callback(_object_spread_props(_object_spread({}, context), {
318
315
  data: data
319
316
  }), fetchCall, response);
320
317
  return [
@@ -323,7 +320,7 @@ var WaitForFetch = /*#__PURE__*/ function() {
323
320
  ];
324
321
  case 3:
325
322
  e = _state.sent();
326
- _this.callback(_object_spread_props(_object_spread({}, context), {
323
+ this.callback(_object_spread_props(_object_spread({}, context), {
327
324
  data: data
328
325
  }), fetchCall, response);
329
326
  throw e;
@@ -333,11 +330,8 @@ var WaitForFetch = /*#__PURE__*/ function() {
333
330
  ];
334
331
  }
335
332
  });
336
- });
337
- return function(fetchCall) {
338
- return _ref.apply(this, arguments);
339
- };
340
- }()
333
+ }).call(_this);
334
+ }
341
335
  };
342
336
  }
343
337
  }