@ama-sdk/client-fetch 12.3.0-prerelease.9 → 12.3.0-rc.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.
Files changed (40) hide show
  1. package/cjs/api-fetch-client.js +18 -22
  2. package/cjs/plugins/abort/abort.spec.js +83 -81
  3. package/cjs/plugins/concurrent/concurrent.fetch.js +12 -20
  4. package/cjs/plugins/concurrent/concurrent.spec.js +99 -99
  5. package/cjs/plugins/keepalive/keepalive.request.js +7 -12
  6. package/cjs/plugins/keepalive/keepalive.spec.js +32 -34
  7. package/cjs/plugins/mock-intercept/mock-intercept.fetch.js +15 -22
  8. package/cjs/plugins/mock-intercept/mock-intercept.spec.js +247 -239
  9. package/cjs/plugins/perf-metric/perf-metric.fetch.js +11 -18
  10. package/cjs/plugins/retry/retry.fetch.js +18 -27
  11. package/cjs/plugins/retry/retry.spec.js +233 -225
  12. package/cjs/plugins/timeout/timeout.fetch.js +13 -19
  13. package/cjs/plugins/timeout/timeout.spec.js +211 -205
  14. package/cjs/plugins/wait-for/wait-for.fetch.js +19 -29
  15. package/cjs/plugins/wait-for/wait-for.spec.js +211 -203
  16. package/esm2015/api-fetch-client.js +18 -22
  17. package/esm2015/plugins/abort/abort.spec.js +83 -81
  18. package/esm2015/plugins/concurrent/concurrent.fetch.js +12 -20
  19. package/esm2015/plugins/concurrent/concurrent.spec.js +99 -99
  20. package/esm2015/plugins/keepalive/keepalive.request.js +7 -12
  21. package/esm2015/plugins/keepalive/keepalive.spec.js +32 -34
  22. package/esm2015/plugins/mock-intercept/mock-intercept.fetch.js +15 -22
  23. package/esm2015/plugins/mock-intercept/mock-intercept.spec.js +247 -239
  24. package/esm2015/plugins/perf-metric/perf-metric.fetch.js +11 -18
  25. package/esm2015/plugins/retry/retry.fetch.js +18 -27
  26. package/esm2015/plugins/retry/retry.spec.js +233 -225
  27. package/esm2015/plugins/timeout/timeout.fetch.js +13 -19
  28. package/esm2015/plugins/timeout/timeout.spec.js +211 -205
  29. package/esm2015/plugins/wait-for/wait-for.fetch.js +19 -29
  30. package/esm2015/plugins/wait-for/wait-for.spec.js +211 -203
  31. package/package.json +15 -15
  32. package/schematics/ng-add/index.d.ts.map +1 -1
  33. package/schematics/ng-add/index.js +11 -21
  34. package/schematics/ng-add/index.js.map +1 -0
  35. package/schematics/ng-add/migration/import-map.js.map +1 -0
  36. package/schematics/ng-add/schema.js.map +1 -0
  37. package/src/api-fetch-client.d.ts +1 -1
  38. package/src/api-fetch-client.d.ts.map +1 -1
  39. package/src/api-fetch-client.js +2 -1
  40. package/src/api-fetch-client.js.map +1 -1
@@ -67,7 +67,7 @@ function _instanceof(left, right) {
67
67
  }
68
68
  }
69
69
  function _ts_generator(thisArg, body) {
70
- var f, y, t, g, _ = {
70
+ var f, y, t, _ = {
71
71
  label: 0,
72
72
  sent: function() {
73
73
  if (t[0] & 1) throw t[1];
@@ -75,12 +75,8 @@ function _ts_generator(thisArg, body) {
75
75
  },
76
76
  trys: [],
77
77
  ops: []
78
- };
79
- return g = {
80
- next: verb(0),
81
- "throw": verb(1),
82
- "return": verb(2)
83
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
78
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
79
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
84
80
  return this;
85
81
  }), g;
86
82
  function verb(n) {
@@ -93,7 +89,7 @@ function _ts_generator(thisArg, body) {
93
89
  }
94
90
  function step(op) {
95
91
  if (f) throw new TypeError("Generator is already executing.");
96
- while(_)try {
92
+ while(g && (g = 0, op[0] && (_ = 0)), _)try {
97
93
  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;
98
94
  if (y = 0, t) op = [
99
95
  op[0] & 2,
@@ -214,7 +210,6 @@ import { CanceledCallError } from '@ama-sdk/core';
214
210
  {
215
211
  key: "delay",
216
212
  value: function delay(countDown) {
217
- var _this = this;
218
213
  return _async_to_generator(function() {
219
214
  var time;
220
215
  return _ts_generator(this, function(_state) {
@@ -222,7 +217,7 @@ import { CanceledCallError } from '@ama-sdk/core';
222
217
  case 0:
223
218
  return [
224
219
  4,
225
- _this.sleepBetweenRetry(countDown)
220
+ this.sleepBetweenRetry(countDown)
226
221
  ];
227
222
  case 1:
228
223
  time = _state.sent();
@@ -234,40 +229,39 @@ import { CanceledCallError } from '@ama-sdk/core';
234
229
  ];
235
230
  }
236
231
  });
237
- })();
232
+ }).call(this);
238
233
  }
239
234
  },
240
235
  {
241
236
  key: "waitAndRetry",
242
237
  value: function waitAndRetry(context, countDown) {
243
- var _this = this;
244
238
  return _async_to_generator(function() {
245
239
  return _ts_generator(this, function(_state) {
246
240
  switch(_state.label){
247
241
  case 0:
248
242
  return [
249
243
  4,
250
- _this.delay(countDown)
244
+ this.delay(countDown)
251
245
  ];
252
246
  case 1:
253
247
  _state.sent();
254
248
  return [
255
249
  2,
256
- _this.retry(context)
250
+ this.retry(context)
257
251
  ];
258
252
  }
259
253
  });
260
- })();
254
+ }).call(this);
261
255
  }
262
256
  },
263
257
  {
264
258
  key: "load",
265
259
  value: /** @inheritDoc */ function load(context) {
266
- var countDown = this.numberOfRetry;
267
260
  var _this = this;
261
+ var countDown = this.numberOfRetry;
268
262
  return {
269
- transform: /*#__PURE__*/ function() {
270
- var _ref = _async_to_generator(function(fetchCall) {
263
+ transform: function(fetchCall) {
264
+ return _async_to_generator(function() {
271
265
  var result, conditionResult, e, conditionResult1;
272
266
  return _ts_generator(this, function(_state) {
273
267
  switch(_state.label){
@@ -290,7 +284,7 @@ import { CanceledCallError } from '@ama-sdk/core';
290
284
  ];
291
285
  return [
292
286
  4,
293
- _this.condition(context, result.clone())
287
+ this.condition(context, result.clone())
294
288
  ];
295
289
  case 2:
296
290
  conditionResult = _state.sent();
@@ -298,7 +292,7 @@ import { CanceledCallError } from '@ama-sdk/core';
298
292
  countDown--;
299
293
  return [
300
294
  2,
301
- _this.waitAndRetry(context, countDown)
295
+ this.waitAndRetry(context, countDown)
302
296
  ];
303
297
  }
304
298
  _state.label = 3;
@@ -315,7 +309,7 @@ import { CanceledCallError } from '@ama-sdk/core';
315
309
  ];
316
310
  return [
317
311
  4,
318
- _this.condition(context, undefined, e)
312
+ this.condition(context, undefined, e)
319
313
  ];
320
314
  case 5:
321
315
  conditionResult1 = _state.sent();
@@ -323,7 +317,7 @@ import { CanceledCallError } from '@ama-sdk/core';
323
317
  countDown--;
324
318
  return [
325
319
  2,
326
- _this.waitAndRetry(context, countDown)
320
+ this.waitAndRetry(context, countDown)
327
321
  ];
328
322
  }
329
323
  _state.label = 6;
@@ -335,11 +329,8 @@ import { CanceledCallError } from '@ama-sdk/core';
335
329
  ];
336
330
  }
337
331
  });
338
- });
339
- return function(fetchCall) {
340
- return _ref.apply(this, arguments);
341
- };
342
- }()
332
+ }).call(_this);
333
+ }
343
334
  };
344
335
  }
345
336
  }
@@ -28,7 +28,7 @@ function _async_to_generator(fn) {
28
28
  };
29
29
  }
30
30
  function _ts_generator(thisArg, body) {
31
- var f, y, t, g, _ = {
31
+ var f, y, t, _ = {
32
32
  label: 0,
33
33
  sent: function() {
34
34
  if (t[0] & 1) throw t[1];
@@ -36,12 +36,8 @@ function _ts_generator(thisArg, body) {
36
36
  },
37
37
  trys: [],
38
38
  ops: []
39
- };
40
- return g = {
41
- next: verb(0),
42
- "throw": verb(1),
43
- "return": verb(2)
44
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
39
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
40
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
45
41
  return this;
46
42
  }), g;
47
43
  function verb(n) {
@@ -54,7 +50,7 @@ function _ts_generator(thisArg, body) {
54
50
  }
55
51
  function step(op) {
56
52
  if (f) throw new TypeError("Generator is already executing.");
57
- while(_)try {
53
+ while(g && (g = 0, op[0] && (_ = 0)), _)try {
58
54
  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;
59
55
  if (y = 0, t) op = [
60
56
  op[0] & 2,
@@ -124,221 +120,233 @@ function _ts_generator(thisArg, body) {
124
120
  }
125
121
  import { RetryFetch } from './retry.fetch';
126
122
  describe('Retry Fetch Plugin', function() {
127
- it('should not retry on success', /*#__PURE__*/ _async_to_generator(function() {
128
- var condition, plugin, runner, call, res, ret;
129
- return _ts_generator(this, function(_state) {
130
- switch(_state.label){
131
- case 0:
132
- condition = jest.fn().mockReturnValue(true);
133
- plugin = new RetryFetch(1, condition);
134
- runner = plugin.load({
135
- url: 'http://www.test.com',
136
- fetchPlugins: []
137
- });
138
- call = Promise.resolve({
139
- text: 'test',
140
- ok: true
141
- });
142
- res = runner.transform(call);
143
- expect(condition).not.toHaveBeenCalled();
144
- return [
145
- 4,
146
- res
147
- ];
148
- case 1:
149
- ret = _state.sent();
150
- expect(ret).toEqual({
151
- text: 'test',
152
- ok: true
153
- });
154
- return [
155
- 2
156
- ];
157
- }
158
- });
159
- }));
160
- it('should not retry if refused by the condition', /*#__PURE__*/ _async_to_generator(function() {
161
- var conditionFalsy, plugin, runner, call, res;
162
- return _ts_generator(this, function(_state) {
163
- switch(_state.label){
164
- case 0:
165
- conditionFalsy = jest.fn().mockReturnValue(false);
166
- plugin = new RetryFetch(3, conditionFalsy);
167
- runner = plugin.load({
168
- url: 'http://www.test.com',
169
- fetchPlugins: []
170
- });
171
- call = Promise.resolve({
172
- text: 'test',
173
- ok: false,
174
- clone: function() {
175
- return {};
176
- }
177
- });
178
- res = runner.transform(call);
179
- return [
180
- 4,
181
- res
182
- ];
183
- case 1:
184
- _state.sent();
185
- expect(conditionFalsy).toHaveBeenCalledTimes(1);
186
- return [
187
- 2
188
- ];
189
- }
190
- });
191
- }));
192
- it('should retry on fetch rejection', /*#__PURE__*/ _async_to_generator(function() {
193
- var condition, plugin, runners, runner, call, callback;
194
- return _ts_generator(this, function(_state) {
195
- switch(_state.label){
196
- case 0:
197
- condition = jest.fn().mockReturnValue(true);
198
- plugin = new RetryFetch(2, condition);
199
- runners = [];
200
- runner = plugin.load({
201
- url: 'not an url',
202
- fetchPlugins: runners
203
- });
204
- runners.push(runner);
205
- call = Promise.reject(new Error(JSON.stringify({
206
- text: 'test',
207
- ok: true
208
- })));
209
- callback = jest.fn();
210
- runner.transform(call).catch(callback);
211
- return [
212
- 4,
213
- jest.runAllTimersAsync()
214
- ];
215
- case 1:
216
- _state.sent();
217
- expect(callback).toHaveBeenCalledWith(expect.objectContaining({}));
218
- expect(condition).toHaveBeenCalledTimes(2);
219
- return [
220
- 2
221
- ];
222
- }
223
- });
224
- }));
225
- it('should retry on fetch rejection with wait', /*#__PURE__*/ _async_to_generator(function() {
226
- var condition, delay, plugin, runners, runner, call, callback;
227
- return _ts_generator(this, function(_state) {
228
- switch(_state.label){
229
- case 0:
230
- condition = jest.fn().mockReturnValue(true);
231
- delay = 500;
232
- plugin = new RetryFetch(2, condition, function() {
233
- return delay;
234
- });
235
- runners = [];
236
- runner = plugin.load({
237
- url: 'not an url',
238
- fetchPlugins: runners
239
- });
240
- runners.push(runner);
241
- call = Promise.reject(new Error(JSON.stringify({
242
- text: 'test',
243
- ok: true
244
- })));
245
- callback = jest.fn();
246
- runner.transform(call).catch(callback);
247
- return [
248
- 4,
249
- jest.advanceTimersByTimeAsync(delay)
250
- ];
251
- case 1:
252
- _state.sent();
253
- expect(callback).not.toHaveBeenCalled();
254
- return [
255
- 4,
256
- jest.advanceTimersByTimeAsync(delay)
257
- ];
258
- case 2:
259
- _state.sent();
260
- expect(callback).toHaveBeenCalledWith(expect.objectContaining({}));
261
- expect(condition).toHaveBeenCalledTimes(2);
262
- return [
263
- 2
264
- ];
265
- }
266
- });
267
- }));
268
- it('should retry on not ok call', /*#__PURE__*/ _async_to_generator(function() {
269
- var condition, plugin, runners, runner, call, callback;
270
- return _ts_generator(this, function(_state) {
271
- switch(_state.label){
272
- case 0:
273
- condition = jest.fn().mockReturnValue(true);
274
- plugin = new RetryFetch(3, condition);
275
- runners = [];
276
- runner = plugin.load({
277
- url: 'not an url',
278
- fetchPlugins: runners
279
- });
280
- runners.push(runner);
281
- call = Promise.resolve({
282
- text: 'test',
283
- ok: false
284
- });
285
- callback = jest.fn();
286
- runner.transform(call).catch(callback);
287
- return [
288
- 4,
289
- jest.runAllTimersAsync()
290
- ];
291
- case 1:
292
- _state.sent();
293
- expect(callback).toHaveBeenCalledWith(expect.objectContaining({}));
294
- expect(condition).toHaveBeenCalledTimes(3);
295
- return [
296
- 2
297
- ];
298
- }
299
- });
300
- }));
301
- it('should retry on not ok call with wait', /*#__PURE__*/ _async_to_generator(function() {
302
- var condition, delay, plugin, runners, runner, call, callback;
303
- return _ts_generator(this, function(_state) {
304
- switch(_state.label){
305
- case 0:
306
- condition = jest.fn().mockReturnValue(true);
307
- delay = 500;
308
- plugin = new RetryFetch(3, condition, function() {
309
- return delay;
310
- });
311
- runners = [];
312
- runner = plugin.load({
313
- url: 'not an url',
314
- fetchPlugins: runners
315
- });
316
- runners.push(runner);
317
- call = Promise.resolve({
318
- text: 'test',
319
- ok: false
320
- });
321
- callback = jest.fn();
322
- runner.transform(call).catch(callback);
323
- return [
324
- 4,
325
- jest.advanceTimersByTimeAsync(2 * delay)
326
- ];
327
- case 1:
328
- _state.sent();
329
- expect(callback).not.toHaveBeenCalled();
330
- return [
331
- 4,
332
- jest.advanceTimersByTimeAsync(delay)
333
- ];
334
- case 2:
335
- _state.sent();
336
- expect(callback).toHaveBeenCalledWith(expect.objectContaining({}));
337
- expect(condition).toHaveBeenCalledTimes(3);
338
- return [
339
- 2
340
- ];
341
- }
342
- });
343
- }));
123
+ it('should not retry on success', function() {
124
+ return _async_to_generator(function() {
125
+ var condition, plugin, runner, call, res, ret;
126
+ return _ts_generator(this, function(_state) {
127
+ switch(_state.label){
128
+ case 0:
129
+ condition = jest.fn().mockReturnValue(true);
130
+ plugin = new RetryFetch(1, condition);
131
+ runner = plugin.load({
132
+ url: 'http://www.test.com',
133
+ fetchPlugins: []
134
+ });
135
+ call = Promise.resolve({
136
+ text: 'test',
137
+ ok: true
138
+ });
139
+ res = runner.transform(call);
140
+ expect(condition).not.toHaveBeenCalled();
141
+ return [
142
+ 4,
143
+ res
144
+ ];
145
+ case 1:
146
+ ret = _state.sent();
147
+ expect(ret).toEqual({
148
+ text: 'test',
149
+ ok: true
150
+ });
151
+ return [
152
+ 2
153
+ ];
154
+ }
155
+ });
156
+ })();
157
+ });
158
+ it('should not retry if refused by the condition', function() {
159
+ return _async_to_generator(function() {
160
+ var conditionFalsy, plugin, runner, call, res;
161
+ return _ts_generator(this, function(_state) {
162
+ switch(_state.label){
163
+ case 0:
164
+ conditionFalsy = jest.fn().mockReturnValue(false);
165
+ plugin = new RetryFetch(3, conditionFalsy);
166
+ runner = plugin.load({
167
+ url: 'http://www.test.com',
168
+ fetchPlugins: []
169
+ });
170
+ call = Promise.resolve({
171
+ text: 'test',
172
+ ok: false,
173
+ clone: function() {
174
+ return {};
175
+ }
176
+ });
177
+ res = runner.transform(call);
178
+ return [
179
+ 4,
180
+ res
181
+ ];
182
+ case 1:
183
+ _state.sent();
184
+ expect(conditionFalsy).toHaveBeenCalledTimes(1);
185
+ return [
186
+ 2
187
+ ];
188
+ }
189
+ });
190
+ })();
191
+ });
192
+ it('should retry on fetch rejection', function() {
193
+ return _async_to_generator(function() {
194
+ var condition, plugin, runners, runner, call, callback;
195
+ return _ts_generator(this, function(_state) {
196
+ switch(_state.label){
197
+ case 0:
198
+ condition = jest.fn().mockReturnValue(true);
199
+ plugin = new RetryFetch(2, condition);
200
+ runners = [];
201
+ runner = plugin.load({
202
+ url: 'not an url',
203
+ fetchPlugins: runners
204
+ });
205
+ runners.push(runner);
206
+ call = Promise.reject(new Error(JSON.stringify({
207
+ text: 'test',
208
+ ok: true
209
+ })));
210
+ callback = jest.fn();
211
+ runner.transform(call).catch(callback);
212
+ return [
213
+ 4,
214
+ jest.runAllTimersAsync()
215
+ ];
216
+ case 1:
217
+ _state.sent();
218
+ expect(callback).toHaveBeenCalledWith(expect.objectContaining({}));
219
+ expect(condition).toHaveBeenCalledTimes(2);
220
+ return [
221
+ 2
222
+ ];
223
+ }
224
+ });
225
+ })();
226
+ });
227
+ it('should retry on fetch rejection with wait', function() {
228
+ return _async_to_generator(function() {
229
+ var condition, delay, plugin, runners, runner, call, callback;
230
+ return _ts_generator(this, function(_state) {
231
+ switch(_state.label){
232
+ case 0:
233
+ condition = jest.fn().mockReturnValue(true);
234
+ delay = 500;
235
+ plugin = new RetryFetch(2, condition, function() {
236
+ return delay;
237
+ });
238
+ runners = [];
239
+ runner = plugin.load({
240
+ url: 'not an url',
241
+ fetchPlugins: runners
242
+ });
243
+ runners.push(runner);
244
+ call = Promise.reject(new Error(JSON.stringify({
245
+ text: 'test',
246
+ ok: true
247
+ })));
248
+ callback = jest.fn();
249
+ runner.transform(call).catch(callback);
250
+ return [
251
+ 4,
252
+ jest.advanceTimersByTimeAsync(delay)
253
+ ];
254
+ case 1:
255
+ _state.sent();
256
+ expect(callback).not.toHaveBeenCalled();
257
+ return [
258
+ 4,
259
+ jest.advanceTimersByTimeAsync(delay)
260
+ ];
261
+ case 2:
262
+ _state.sent();
263
+ expect(callback).toHaveBeenCalledWith(expect.objectContaining({}));
264
+ expect(condition).toHaveBeenCalledTimes(2);
265
+ return [
266
+ 2
267
+ ];
268
+ }
269
+ });
270
+ })();
271
+ });
272
+ it('should retry on not ok call', function() {
273
+ return _async_to_generator(function() {
274
+ var condition, plugin, runners, runner, call, callback;
275
+ return _ts_generator(this, function(_state) {
276
+ switch(_state.label){
277
+ case 0:
278
+ condition = jest.fn().mockReturnValue(true);
279
+ plugin = new RetryFetch(3, condition);
280
+ runners = [];
281
+ runner = plugin.load({
282
+ url: 'not an url',
283
+ fetchPlugins: runners
284
+ });
285
+ runners.push(runner);
286
+ call = Promise.resolve({
287
+ text: 'test',
288
+ ok: false
289
+ });
290
+ callback = jest.fn();
291
+ runner.transform(call).catch(callback);
292
+ return [
293
+ 4,
294
+ jest.runAllTimersAsync()
295
+ ];
296
+ case 1:
297
+ _state.sent();
298
+ expect(callback).toHaveBeenCalledWith(expect.objectContaining({}));
299
+ expect(condition).toHaveBeenCalledTimes(3);
300
+ return [
301
+ 2
302
+ ];
303
+ }
304
+ });
305
+ })();
306
+ });
307
+ it('should retry on not ok call with wait', function() {
308
+ return _async_to_generator(function() {
309
+ var condition, delay, plugin, runners, runner, call, callback;
310
+ return _ts_generator(this, function(_state) {
311
+ switch(_state.label){
312
+ case 0:
313
+ condition = jest.fn().mockReturnValue(true);
314
+ delay = 500;
315
+ plugin = new RetryFetch(3, condition, function() {
316
+ return delay;
317
+ });
318
+ runners = [];
319
+ runner = plugin.load({
320
+ url: 'not an url',
321
+ fetchPlugins: runners
322
+ });
323
+ runners.push(runner);
324
+ call = Promise.resolve({
325
+ text: 'test',
326
+ ok: false
327
+ });
328
+ callback = jest.fn();
329
+ runner.transform(call).catch(callback);
330
+ return [
331
+ 4,
332
+ jest.advanceTimersByTimeAsync(2 * delay)
333
+ ];
334
+ case 1:
335
+ _state.sent();
336
+ expect(callback).not.toHaveBeenCalled();
337
+ return [
338
+ 4,
339
+ jest.advanceTimersByTimeAsync(delay)
340
+ ];
341
+ case 2:
342
+ _state.sent();
343
+ expect(callback).toHaveBeenCalledWith(expect.objectContaining({}));
344
+ expect(condition).toHaveBeenCalledTimes(3);
345
+ return [
346
+ 2
347
+ ];
348
+ }
349
+ });
350
+ })();
351
+ });
344
352
  });