@vertexvis/utils 0.21.1-testing.0 → 0.21.1-testing.10

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.
@@ -37,6 +37,56 @@ var eventTargets = /*#__PURE__*/Object.freeze({
37
37
  once: once
38
38
  });
39
39
 
40
+ /**
41
+ * Converts an async generator to an array of results.
42
+ *
43
+ * @param generator The generator to convert.
44
+ * @returns A promise that resolves with an array of results yielded by the
45
+ * generator.
46
+ */
47
+ function asArray(generator) {
48
+ var generator_1, generator_1_1;
49
+ var e_1, _a;
50
+ return tslib.__awaiter(this, void 0, void 0, function () {
51
+ var res, next, e_1_1;
52
+ return tslib.__generator(this, function (_b) {
53
+ switch (_b.label) {
54
+ case 0:
55
+ res = [];
56
+ _b.label = 1;
57
+ case 1:
58
+ _b.trys.push([1, 6, 7, 12]);
59
+ generator_1 = tslib.__asyncValues(generator);
60
+ _b.label = 2;
61
+ case 2: return [4 /*yield*/, generator_1.next()];
62
+ case 3:
63
+ if (!(generator_1_1 = _b.sent(), !generator_1_1.done)) return [3 /*break*/, 5];
64
+ next = generator_1_1.value;
65
+ res.push(next);
66
+ _b.label = 4;
67
+ case 4: return [3 /*break*/, 2];
68
+ case 5: return [3 /*break*/, 12];
69
+ case 6:
70
+ e_1_1 = _b.sent();
71
+ e_1 = { error: e_1_1 };
72
+ return [3 /*break*/, 12];
73
+ case 7:
74
+ _b.trys.push([7, , 10, 11]);
75
+ if (!(generator_1_1 && !generator_1_1.done && (_a = generator_1.return))) return [3 /*break*/, 9];
76
+ return [4 /*yield*/, _a.call(generator_1)];
77
+ case 8:
78
+ _b.sent();
79
+ _b.label = 9;
80
+ case 9: return [3 /*break*/, 11];
81
+ case 10:
82
+ if (e_1) throw e_1.error;
83
+ return [7 /*endfinally*/];
84
+ case 11: return [7 /*endfinally*/];
85
+ case 12: return [2 /*return*/, res];
86
+ }
87
+ });
88
+ });
89
+ }
40
90
  function delay() {
41
91
  var args = [];
42
92
  for (var _i = 0; _i < arguments.length; _i++) {
@@ -114,7 +164,7 @@ function retry(process, opts) {
114
164
  return tslib.__awaiter(this, void 0, void 0, function () {
115
165
  function execute(attempt, process, opts) {
116
166
  return tslib.__awaiter(this, void 0, void 0, function () {
117
- var _a, delaysInMs, _b, maxRetries, delayInMs, e_1;
167
+ var _a, delaysInMs, _b, maxRetries, delayInMs, e_2;
118
168
  return tslib.__generator(this, function (_c) {
119
169
  switch (_c.label) {
120
170
  case 0:
@@ -131,11 +181,11 @@ function retry(process, opts) {
131
181
  return [4 /*yield*/, process()];
132
182
  case 3: return [2 /*return*/, _c.sent()];
133
183
  case 4:
134
- e_1 = _c.sent();
184
+ e_2 = _c.sent();
135
185
  if (!(attempt < maxRetries)) return [3 /*break*/, 6];
136
186
  return [4 /*yield*/, execute(attempt + 1, process, opts)];
137
187
  case 5: return [2 /*return*/, _c.sent()];
138
- case 6: throw e_1;
188
+ case 6: throw e_2;
139
189
  case 7: return [3 /*break*/, 8];
140
190
  case 8: return [2 /*return*/];
141
191
  }
@@ -191,6 +241,7 @@ function isAbortEvent(obj) {
191
241
 
192
242
  var async = /*#__PURE__*/Object.freeze({
193
243
  __proto__: null,
244
+ asArray: asArray,
194
245
  delay: delay,
195
246
  timeout: timeout,
196
247
  retry: retry,