@vertexvis/utils 0.21.1-testing.1 → 0.21.1-testing.2

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.
package/dist/async.d.ts CHANGED
@@ -1,3 +1,11 @@
1
+ /**
2
+ * Converts an async generator to an array of results.
3
+ *
4
+ * @param generator The generator to convert.
5
+ * @returns A promise that resolves with an array of results yielded by the
6
+ * generator.
7
+ */
8
+ export declare function asArray<T>(generator: AsyncGenerator<T>): Promise<T[]>;
1
9
  /**
2
10
  * Returns a promise that resolves successfully after the given delay.
3
11
  *
@@ -32,6 +32,56 @@ var eventTargets = /*#__PURE__*/Object.freeze({
32
32
  once: once
33
33
  });
34
34
 
35
+ /**
36
+ * Converts an async generator to an array of results.
37
+ *
38
+ * @param generator The generator to convert.
39
+ * @returns A promise that resolves with an array of results yielded by the
40
+ * generator.
41
+ */
42
+ function asArray(generator) {
43
+ var generator_1, generator_1_1;
44
+ var e_1, _a;
45
+ return tslib.__awaiter(this, void 0, void 0, function () {
46
+ var res, next, e_1_1;
47
+ return tslib.__generator(this, function (_b) {
48
+ switch (_b.label) {
49
+ case 0:
50
+ res = [];
51
+ _b.label = 1;
52
+ case 1:
53
+ _b.trys.push([1, 6, 7, 12]);
54
+ generator_1 = tslib.__asyncValues(generator);
55
+ _b.label = 2;
56
+ case 2: return [4 /*yield*/, generator_1.next()];
57
+ case 3:
58
+ if (!(generator_1_1 = _b.sent(), !generator_1_1.done)) return [3 /*break*/, 5];
59
+ next = generator_1_1.value;
60
+ res.push(next);
61
+ _b.label = 4;
62
+ case 4: return [3 /*break*/, 2];
63
+ case 5: return [3 /*break*/, 12];
64
+ case 6:
65
+ e_1_1 = _b.sent();
66
+ e_1 = { error: e_1_1 };
67
+ return [3 /*break*/, 12];
68
+ case 7:
69
+ _b.trys.push([7, , 10, 11]);
70
+ if (!(generator_1_1 && !generator_1_1.done && (_a = generator_1.return))) return [3 /*break*/, 9];
71
+ return [4 /*yield*/, _a.call(generator_1)];
72
+ case 8:
73
+ _b.sent();
74
+ _b.label = 9;
75
+ case 9: return [3 /*break*/, 11];
76
+ case 10:
77
+ if (e_1) throw e_1.error;
78
+ return [7 /*endfinally*/];
79
+ case 11: return [7 /*endfinally*/];
80
+ case 12: return [2 /*return*/, res];
81
+ }
82
+ });
83
+ });
84
+ }
35
85
  function delay() {
36
86
  var args = [];
37
87
  for (var _i = 0; _i < arguments.length; _i++) {
@@ -109,7 +159,7 @@ function retry(process, opts) {
109
159
  return tslib.__awaiter(this, void 0, void 0, function () {
110
160
  function execute(attempt, process, opts) {
111
161
  return tslib.__awaiter(this, void 0, void 0, function () {
112
- var _a, delaysInMs, _b, maxRetries, delayInMs, e_1;
162
+ var _a, delaysInMs, _b, maxRetries, delayInMs, e_2;
113
163
  return tslib.__generator(this, function (_c) {
114
164
  switch (_c.label) {
115
165
  case 0:
@@ -126,11 +176,11 @@ function retry(process, opts) {
126
176
  return [4 /*yield*/, process()];
127
177
  case 3: return [2 /*return*/, _c.sent()];
128
178
  case 4:
129
- e_1 = _c.sent();
179
+ e_2 = _c.sent();
130
180
  if (!(attempt < maxRetries)) return [3 /*break*/, 6];
131
181
  return [4 /*yield*/, execute(attempt + 1, process, opts)];
132
182
  case 5: return [2 /*return*/, _c.sent()];
133
- case 6: throw e_1;
183
+ case 6: throw e_2;
134
184
  case 7: return [3 /*break*/, 8];
135
185
  case 8: return [2 /*return*/];
136
186
  }
@@ -186,6 +236,7 @@ function isAbortEvent(obj) {
186
236
 
187
237
  var async = /*#__PURE__*/Object.freeze({
188
238
  __proto__: null,
239
+ asArray: asArray,
189
240
  delay: delay,
190
241
  timeout: timeout,
191
242
  retry: retry,