@ama-sdk/client-fetch 12.1.10 → 12.1.12

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 (34) hide show
  1. package/cjs/api-fetch-client.js +16 -21
  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 +16 -22
  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 +16 -21
  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 +12 -8
  32. package/schematics/ng-add/index.d.ts.map +1 -1
  33. package/schematics/ng-add/index.js +14 -12
  34. package/schematics/ng-add/index.js.map +1 -1
@@ -142,7 +142,7 @@ function _unsupported_iterable_to_array(o, minLen) {
142
142
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
143
143
  }
144
144
  function _ts_generator(thisArg, body) {
145
- var f, y, t, g, _ = {
145
+ var f, y, t, _ = {
146
146
  label: 0,
147
147
  sent: function() {
148
148
  if (t[0] & 1) throw t[1];
@@ -150,12 +150,8 @@ function _ts_generator(thisArg, body) {
150
150
  },
151
151
  trys: [],
152
152
  ops: []
153
- };
154
- return g = {
155
- next: verb(0),
156
- "throw": verb(1),
157
- "return": verb(2)
158
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
153
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
154
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
159
155
  return this;
160
156
  }), g;
161
157
  function verb(n) {
@@ -168,7 +164,7 @@ function _ts_generator(thisArg, body) {
168
164
  }
169
165
  function step(op) {
170
166
  if (f) throw new TypeError("Generator is already executing.");
171
- while(_)try {
167
+ while(g && (g = 0, op[0] && (_ = 0)), _)try {
172
168
  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;
173
169
  if (y = 0, t) op = [
174
170
  op[0] & 2,
@@ -282,7 +278,6 @@ var ApiFetchClient = /*#__PURE__*/ function() {
282
278
  {
283
279
  key: "getRequestOptions",
284
280
  value: /** @inheritdoc */ function getRequestOptions(requestOptionsParameters) {
285
- var _this = this;
286
281
  return _async_to_generator(function() {
287
282
  var opts, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, plugin, _requestOptionsParameters_api, err;
288
283
  return _ts_generator(this, function(_state) {
@@ -292,7 +287,7 @@ var ApiFetchClient = /*#__PURE__*/ function() {
292
287
  headers: new Headers((0, _core.filterUndefinedValues)(requestOptionsParameters.headers)),
293
288
  queryParams: (0, _core.filterUndefinedValues)(requestOptionsParameters.queryParams)
294
289
  });
295
- if (!_this.options.requestPlugins) return [
290
+ if (!this.options.requestPlugins) return [
296
291
  3,
297
292
  8
298
293
  ];
@@ -305,7 +300,7 @@ var ApiFetchClient = /*#__PURE__*/ function() {
305
300
  7,
306
301
  8
307
302
  ]);
308
- _iterator = _this.options.requestPlugins[Symbol.iterator]();
303
+ _iterator = this.options.requestPlugins[Symbol.iterator]();
309
304
  _state.label = 2;
310
305
  case 2:
311
306
  if (!!(_iteratorNormalCompletion = (_step = _iterator.next()).done)) return [
@@ -316,7 +311,7 @@ var ApiFetchClient = /*#__PURE__*/ function() {
316
311
  return [
317
312
  4,
318
313
  plugin.load({
319
- logger: _this.options.logger,
314
+ logger: this.options.logger,
320
315
  apiName: (_requestOptionsParameters_api = requestOptionsParameters.api) === null || _requestOptionsParameters_api === void 0 ? void 0 : _requestOptionsParameters_api.apiName
321
316
  }).transform(opts)
322
317
  ];
@@ -362,7 +357,7 @@ var ApiFetchClient = /*#__PURE__*/ function() {
362
357
  ];
363
358
  }
364
359
  });
365
- })();
360
+ }).call(this);
366
361
  }
367
362
  },
368
363
  {
@@ -405,12 +400,12 @@ var ApiFetchClient = /*#__PURE__*/ function() {
405
400
  {
406
401
  key: "processCall",
407
402
  value: function processCall(url, options, apiType, apiName, revivers, operationId) {
408
- var _this = this;
409
403
  return _async_to_generator(function() {
410
- var response, asyncResponse, root, body, exception, origin, _options_metadata, metadataSignal, controller, loadedPlugins, _loadedPlugins, canStart, isCanceledBy, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, plugin, e, reviver, replyPlugins, parsedData, _iteratorNormalCompletion1, _didIteratorError1, _iteratorError1, _iterator1, _step1, pluginRunner, err;
404
+ var _this, response, asyncResponse, root, body, exception, origin, _options_metadata, metadataSignal, controller, loadedPlugins, _loadedPlugins, canStart, isCanceledBy, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, plugin, e, reviver, replyPlugins, parsedData, _iteratorNormalCompletion1, _didIteratorError1, _iteratorError1, _iterator1, _step1, pluginRunner, err;
411
405
  return _ts_generator(this, function(_state) {
412
406
  switch(_state.label){
413
407
  case 0:
408
+ _this = this;
414
409
  origin = options.headers.get('Origin');
415
410
  _state.label = 1;
416
411
  case 1:
@@ -428,9 +423,9 @@ var ApiFetchClient = /*#__PURE__*/ function() {
428
423
  return controller.abort();
429
424
  });
430
425
  loadedPlugins = [];
431
- if (_this.options.fetchPlugins) {
426
+ if (this.options.fetchPlugins) {
432
427
  ;
433
- (_loadedPlugins = loadedPlugins).push.apply(_loadedPlugins, _to_consumable_array(_this.options.fetchPlugins.map(function(plugin) {
428
+ (_loadedPlugins = loadedPlugins).push.apply(_loadedPlugins, _to_consumable_array(this.options.fetchPlugins.map(function(plugin) {
434
429
  return plugin.load({
435
430
  url: url,
436
431
  options: options,
@@ -450,7 +445,7 @@ var ApiFetchClient = /*#__PURE__*/ function() {
450
445
  case 2:
451
446
  canStart = _state.sent();
452
447
  isCanceledBy = canStart.indexOf(false);
453
- asyncResponse = isCanceledBy === -1 ? fetch(url, options) : Promise.reject(new _core.CanceledCallError("Is canceled by the plugin ".concat(isCanceledBy), isCanceledBy, _this.options.fetchPlugins[isCanceledBy], {
448
+ asyncResponse = isCanceledBy === -1 ? fetch(url, options) : Promise.reject(new _core.CanceledCallError("Is canceled by the plugin ".concat(isCanceledBy), isCanceledBy, this.options.fetchPlugins[isCanceledBy], {
454
449
  apiName: apiName,
455
450
  operationId: operationId,
456
451
  url: url,
@@ -528,10 +523,10 @@ var ApiFetchClient = /*#__PURE__*/ function() {
528
523
  }
529
524
  // eslint-disable-next-line no-console -- `console.error` is supposed to be the default value if the `options` argument is not provided, can be removed in Otter v12.
530
525
  reviver = (0, _core.getResponseReviver)(revivers, response, operationId, {
531
- disableFallback: _this.options.disableFallback,
526
+ disableFallback: this.options.disableFallback,
532
527
  log: console.error
533
528
  });
534
- replyPlugins = _this.options.replyPlugins ? _this.options.replyPlugins.map(function(plugin) {
529
+ replyPlugins = this.options.replyPlugins ? this.options.replyPlugins.map(function(plugin) {
535
530
  return plugin.load({
536
531
  dictionaries: root && root.dictionaries,
537
532
  response: response,
@@ -612,7 +607,7 @@ var ApiFetchClient = /*#__PURE__*/ function() {
612
607
  ];
613
608
  }
614
609
  });
615
- })();
610
+ }).call(this);
616
611
  }
617
612
  }
618
613
  ]);
@@ -33,7 +33,7 @@ function _async_to_generator(fn) {
33
33
  };
34
34
  }
35
35
  function _ts_generator(thisArg, body) {
36
- var f, y, t, g, _ = {
36
+ var f, y, t, _ = {
37
37
  label: 0,
38
38
  sent: function() {
39
39
  if (t[0] & 1) throw t[1];
@@ -41,12 +41,8 @@ function _ts_generator(thisArg, body) {
41
41
  },
42
42
  trys: [],
43
43
  ops: []
44
- };
45
- return g = {
46
- next: verb(0),
47
- "throw": verb(1),
48
- "return": verb(2)
49
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
44
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
45
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
50
46
  return this;
51
47
  }), g;
52
48
  function verb(n) {
@@ -59,7 +55,7 @@ function _ts_generator(thisArg, body) {
59
55
  }
60
56
  function step(op) {
61
57
  if (f) throw new TypeError("Generator is already executing.");
62
- while(_)try {
58
+ while(g && (g = 0, op[0] && (_ = 0)), _)try {
63
59
  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;
64
60
  if (y = 0, t) op = [
65
61
  op[0] & 2,
@@ -128,77 +124,83 @@ function _ts_generator(thisArg, body) {
128
124
  }
129
125
  }
130
126
  describe('Abort Plugin', function() {
131
- it('should trigger the callback', /*#__PURE__*/ _async_to_generator(function() {
132
- var fn, plugin, runner;
133
- return _ts_generator(this, function(_state) {
134
- switch(_state.label){
135
- case 0:
136
- fn = jest.fn();
137
- plugin = new _abortfetch.AbortFetch(fn);
138
- runner = plugin.load({});
139
- return [
140
- 4,
141
- runner.transform(Promise.resolve())
142
- ];
143
- case 1:
144
- _state.sent();
145
- expect(fn).toHaveBeenCalled();
146
- return [
147
- 2
148
- ];
149
- }
150
- });
151
- }));
152
- it('should trigger abort signal if true', /*#__PURE__*/ _async_to_generator(function() {
153
- var defaultContext, fn, plugin, runner;
154
- return _ts_generator(this, function(_state) {
155
- switch(_state.label){
156
- case 0:
157
- defaultContext = {
158
- controller: {
159
- abort: jest.fn()
160
- }
161
- };
162
- fn = jest.fn().mockResolvedValue(true);
163
- plugin = new _abortfetch.AbortFetch(fn);
164
- runner = plugin.load(defaultContext);
165
- return [
166
- 4,
167
- runner.transform(Promise.resolve())
168
- ];
169
- case 1:
170
- _state.sent();
171
- expect(defaultContext.controller.abort).toHaveBeenCalled();
172
- return [
173
- 2
174
- ];
175
- }
176
- });
177
- }));
178
- it('should not trigger abort signal if false', /*#__PURE__*/ _async_to_generator(function() {
179
- var defaultContext, fn, plugin, runner;
180
- return _ts_generator(this, function(_state) {
181
- switch(_state.label){
182
- case 0:
183
- defaultContext = {
184
- controller: {
185
- abort: jest.fn()
186
- }
187
- };
188
- fn = jest.fn().mockResolvedValue(false);
189
- plugin = new _abortfetch.AbortFetch(fn);
190
- runner = plugin.load(defaultContext);
191
- return [
192
- 4,
193
- runner.transform(Promise.resolve())
194
- ];
195
- case 1:
196
- _state.sent();
197
- expect(defaultContext.controller.abort).not.toHaveBeenCalled();
198
- return [
199
- 2
200
- ];
201
- }
202
- });
203
- }));
127
+ it('should trigger the callback', function() {
128
+ return _async_to_generator(function() {
129
+ var fn, plugin, runner;
130
+ return _ts_generator(this, function(_state) {
131
+ switch(_state.label){
132
+ case 0:
133
+ fn = jest.fn();
134
+ plugin = new _abortfetch.AbortFetch(fn);
135
+ runner = plugin.load({});
136
+ return [
137
+ 4,
138
+ runner.transform(Promise.resolve())
139
+ ];
140
+ case 1:
141
+ _state.sent();
142
+ expect(fn).toHaveBeenCalled();
143
+ return [
144
+ 2
145
+ ];
146
+ }
147
+ });
148
+ })();
149
+ });
150
+ it('should trigger abort signal if true', function() {
151
+ return _async_to_generator(function() {
152
+ var defaultContext, fn, plugin, runner;
153
+ return _ts_generator(this, function(_state) {
154
+ switch(_state.label){
155
+ case 0:
156
+ defaultContext = {
157
+ controller: {
158
+ abort: jest.fn()
159
+ }
160
+ };
161
+ fn = jest.fn().mockResolvedValue(true);
162
+ plugin = new _abortfetch.AbortFetch(fn);
163
+ runner = plugin.load(defaultContext);
164
+ return [
165
+ 4,
166
+ runner.transform(Promise.resolve())
167
+ ];
168
+ case 1:
169
+ _state.sent();
170
+ expect(defaultContext.controller.abort).toHaveBeenCalled();
171
+ return [
172
+ 2
173
+ ];
174
+ }
175
+ });
176
+ })();
177
+ });
178
+ it('should not trigger abort signal if false', function() {
179
+ return _async_to_generator(function() {
180
+ var defaultContext, fn, plugin, runner;
181
+ return _ts_generator(this, function(_state) {
182
+ switch(_state.label){
183
+ case 0:
184
+ defaultContext = {
185
+ controller: {
186
+ abort: jest.fn()
187
+ }
188
+ };
189
+ fn = jest.fn().mockResolvedValue(false);
190
+ plugin = new _abortfetch.AbortFetch(fn);
191
+ runner = plugin.load(defaultContext);
192
+ return [
193
+ 4,
194
+ runner.transform(Promise.resolve())
195
+ ];
196
+ case 1:
197
+ _state.sent();
198
+ expect(defaultContext.controller.abort).not.toHaveBeenCalled();
199
+ return [
200
+ 2
201
+ ];
202
+ }
203
+ });
204
+ })();
205
+ });
204
206
  });
@@ -70,7 +70,7 @@ function _define_property(obj, key, value) {
70
70
  return obj;
71
71
  }
72
72
  function _ts_generator(thisArg, body) {
73
- var f, y, t, g, _ = {
73
+ var f, y, t, _ = {
74
74
  label: 0,
75
75
  sent: function() {
76
76
  if (t[0] & 1) throw t[1];
@@ -78,12 +78,8 @@ function _ts_generator(thisArg, body) {
78
78
  },
79
79
  trys: [],
80
80
  ops: []
81
- };
82
- return g = {
83
- next: verb(0),
84
- "throw": verb(1),
85
- "return": verb(2)
86
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
81
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
82
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
87
83
  return this;
88
84
  }), g;
89
85
  function verb(n) {
@@ -96,7 +92,7 @@ function _ts_generator(thisArg, body) {
96
92
  }
97
93
  function step(op) {
98
94
  if (f) throw new TypeError("Generator is already executing.");
99
- while(_)try {
95
+ while(g && (g = 0, op[0] && (_ = 0)), _)try {
100
96
  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;
101
97
  if (y = 0, t) op = [
102
98
  op[0] & 2,
@@ -199,20 +195,19 @@ var ConcurrentFetch = /*#__PURE__*/ function() {
199
195
  value: /** @inheritDoc */ function load(_context) {
200
196
  var _this = this;
201
197
  this.poolSize++;
202
- var _this1 = this;
203
198
  return {
204
199
  canStart: function() {
205
200
  return new Promise(function(resolve) {
206
201
  return _this.canStart() ? resolve(true) : _this.waitingResolvers.push(resolve);
207
202
  });
208
203
  },
209
- transform: /*#__PURE__*/ function() {
210
- var _ref = _async_to_generator(function(fetchCall) {
204
+ transform: function(fetchCall) {
205
+ return _async_to_generator(function() {
211
206
  var fetchResponse;
212
207
  return _ts_generator(this, function(_state) {
213
208
  switch(_state.label){
214
209
  case 0:
215
- _this1.pool.push(fetchCall);
210
+ this.pool.push(fetchCall);
216
211
  _state.label = 1;
217
212
  case 1:
218
213
  _state.trys.push([
@@ -232,11 +227,11 @@ var ConcurrentFetch = /*#__PURE__*/ function() {
232
227
  fetchResponse
233
228
  ];
234
229
  case 3:
235
- _this1.pool = _this1.pool.filter(function(call) {
230
+ this.pool = this.pool.filter(function(call) {
236
231
  return call !== fetchCall;
237
232
  });
238
- _this1.poolSize--;
239
- _this1.unstackResolve();
233
+ this.poolSize--;
234
+ this.unstackResolve();
240
235
  return [
241
236
  7
242
237
  ];
@@ -246,11 +241,8 @@ var ConcurrentFetch = /*#__PURE__*/ function() {
246
241
  ];
247
242
  }
248
243
  });
249
- });
250
- return function(fetchCall) {
251
- return _ref.apply(this, arguments);
252
- };
253
- }()
244
+ }).call(_this);
245
+ }
254
246
  };
255
247
  }
256
248
  }
@@ -33,7 +33,7 @@ function _async_to_generator(fn) {
33
33
  };
34
34
  }
35
35
  function _ts_generator(thisArg, body) {
36
- var f, y, t, g, _ = {
36
+ var f, y, t, _ = {
37
37
  label: 0,
38
38
  sent: function() {
39
39
  if (t[0] & 1) throw t[1];
@@ -41,12 +41,8 @@ function _ts_generator(thisArg, body) {
41
41
  },
42
42
  trys: [],
43
43
  ops: []
44
- };
45
- return g = {
46
- next: verb(0),
47
- "throw": verb(1),
48
- "return": verb(2)
49
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
44
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
45
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
50
46
  return this;
51
47
  }), g;
52
48
  function verb(n) {
@@ -59,7 +55,7 @@ function _ts_generator(thisArg, body) {
59
55
  }
60
56
  function step(op) {
61
57
  if (f) throw new TypeError("Generator is already executing.");
62
- while(_)try {
58
+ while(g && (g = 0, op[0] && (_ = 0)), _)try {
63
59
  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;
64
60
  if (y = 0, t) op = [
65
61
  op[0] & 2,
@@ -128,27 +124,29 @@ function _ts_generator(thisArg, body) {
128
124
  }
129
125
  }
130
126
  describe('Concurrent Fetch Plugin', function() {
131
- it('should start if the limit is not reach', /*#__PURE__*/ _async_to_generator(function() {
132
- var plugin, runner, canStart;
133
- return _ts_generator(this, function(_state) {
134
- switch(_state.label){
135
- case 0:
136
- plugin = new _concurrentfetch.ConcurrentFetch(3);
137
- plugin.load({});
138
- runner = plugin.load({});
139
- return [
140
- 4,
141
- runner.canStart()
142
- ];
143
- case 1:
144
- canStart = _state.sent();
145
- expect(canStart).toBe(true);
146
- return [
147
- 2
148
- ];
149
- }
150
- });
151
- }));
127
+ it('should start if the limit is not reach', function() {
128
+ return _async_to_generator(function() {
129
+ var plugin, runner, canStart;
130
+ return _ts_generator(this, function(_state) {
131
+ switch(_state.label){
132
+ case 0:
133
+ plugin = new _concurrentfetch.ConcurrentFetch(3);
134
+ plugin.load({});
135
+ runner = plugin.load({});
136
+ return [
137
+ 4,
138
+ runner.canStart()
139
+ ];
140
+ case 1:
141
+ canStart = _state.sent();
142
+ expect(canStart).toBe(true);
143
+ return [
144
+ 2
145
+ ];
146
+ }
147
+ });
148
+ })();
149
+ });
152
150
  it('should retrieve the fetch call in the pool', function() {
153
151
  var plugin = new _concurrentfetch.ConcurrentFetch(3);
154
152
  var call = new Promise(function(resolve) {
@@ -166,74 +164,76 @@ describe('Concurrent Fetch Plugin', function() {
166
164
  void plugin.load({}).transform(test);
167
165
  expect(plugin.pool[2]).toBe(test);
168
166
  });
169
- it('should start only when the pool is available', /*#__PURE__*/ _async_to_generator(function() {
170
- var plugin, resolves, call0, call1, result, runner1, canStart1, runner2, pCanStart2;
171
- return _ts_generator(this, function(_state) {
172
- switch(_state.label){
173
- case 0:
174
- plugin = new _concurrentfetch.ConcurrentFetch(2);
175
- resolves = [
176
- null,
177
- null
178
- ];
179
- call0 = new Promise(function(resolve) {
180
- return resolves[0] = resolve;
181
- });
182
- call1 = new Promise(function(resolve) {
183
- return resolves[1] = resolve;
184
- });
185
- result = {
186
- res: false
187
- };
188
- void plugin.load({}).transform(call0);
189
- runner1 = plugin.load({});
190
- canStart1 = runner1.canStart();
191
- return [
192
- 4,
193
- jest.runAllTimersAsync()
194
- ];
195
- case 1:
196
- _state.sent();
197
- return [
198
- 4,
199
- canStart1
200
- ];
201
- case 2:
202
- expect.apply(void 0, [
203
- _state.sent()
204
- ]).toBe(true);
205
- void runner1.transform(call1);
206
- runner2 = plugin.load({});
207
- pCanStart2 = runner2.canStart();
208
- return [
209
- 4,
210
- jest.runAllTimersAsync()
211
- ];
212
- case 3:
213
- _state.sent();
214
- expect(plugin.waitingResolvers.length).toBe(1);
215
- result.res = true;
216
- resolves[0]();
217
- return [
218
- 4,
219
- pCanStart2
220
- ];
221
- case 4:
222
- expect.apply(void 0, [
223
- _state.sent()
224
- ]).toBe(true);
225
- resolves[1]();
226
- return [
227
- 4,
228
- jest.advanceTimersByTimeAsync(500)
229
- ];
230
- case 5:
231
- _state.sent();
232
- expect(plugin.waitingResolvers.length).toBe(0);
233
- return [
234
- 2
235
- ];
236
- }
237
- });
238
- }));
167
+ it('should start only when the pool is available', function() {
168
+ return _async_to_generator(function() {
169
+ var plugin, resolves, call0, call1, result, runner1, canStart1, runner2, pCanStart2;
170
+ return _ts_generator(this, function(_state) {
171
+ switch(_state.label){
172
+ case 0:
173
+ plugin = new _concurrentfetch.ConcurrentFetch(2);
174
+ resolves = [
175
+ null,
176
+ null
177
+ ];
178
+ call0 = new Promise(function(resolve) {
179
+ return resolves[0] = resolve;
180
+ });
181
+ call1 = new Promise(function(resolve) {
182
+ return resolves[1] = resolve;
183
+ });
184
+ result = {
185
+ res: false
186
+ };
187
+ void plugin.load({}).transform(call0);
188
+ runner1 = plugin.load({});
189
+ canStart1 = runner1.canStart();
190
+ return [
191
+ 4,
192
+ jest.runAllTimersAsync()
193
+ ];
194
+ case 1:
195
+ _state.sent();
196
+ return [
197
+ 4,
198
+ canStart1
199
+ ];
200
+ case 2:
201
+ expect.apply(void 0, [
202
+ _state.sent()
203
+ ]).toBe(true);
204
+ void runner1.transform(call1);
205
+ runner2 = plugin.load({});
206
+ pCanStart2 = runner2.canStart();
207
+ return [
208
+ 4,
209
+ jest.runAllTimersAsync()
210
+ ];
211
+ case 3:
212
+ _state.sent();
213
+ expect(plugin.waitingResolvers.length).toBe(1);
214
+ result.res = true;
215
+ resolves[0]();
216
+ return [
217
+ 4,
218
+ pCanStart2
219
+ ];
220
+ case 4:
221
+ expect.apply(void 0, [
222
+ _state.sent()
223
+ ]).toBe(true);
224
+ resolves[1]();
225
+ return [
226
+ 4,
227
+ jest.advanceTimersByTimeAsync(500)
228
+ ];
229
+ case 5:
230
+ _state.sent();
231
+ expect(plugin.waitingResolvers.length).toBe(0);
232
+ return [
233
+ 2
234
+ ];
235
+ }
236
+ });
237
+ })();
238
+ });
239
239
  });