@vertexvis/utils 0.21.1-testing.0 → 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.
@@ -1,4 +1,4 @@
1
- import { __awaiter, __generator, __assign, __extends, __read, __spreadArray, __values } from 'tslib';
1
+ import { __awaiter, __generator, __asyncValues, __assign, __extends, __read, __spreadArray, __values } from 'tslib';
2
2
  import crypto from 'crypto';
3
3
 
4
4
  /**
@@ -29,6 +29,56 @@ var eventTargets = /*#__PURE__*/Object.freeze({
29
29
  once: once
30
30
  });
31
31
 
32
+ /**
33
+ * Converts an async generator to an array of results.
34
+ *
35
+ * @param generator The generator to convert.
36
+ * @returns A promise that resolves with an array of results yielded by the
37
+ * generator.
38
+ */
39
+ function asArray(generator) {
40
+ var generator_1, generator_1_1;
41
+ var e_1, _a;
42
+ return __awaiter(this, void 0, void 0, function () {
43
+ var res, next, e_1_1;
44
+ return __generator(this, function (_b) {
45
+ switch (_b.label) {
46
+ case 0:
47
+ res = [];
48
+ _b.label = 1;
49
+ case 1:
50
+ _b.trys.push([1, 6, 7, 12]);
51
+ generator_1 = __asyncValues(generator);
52
+ _b.label = 2;
53
+ case 2: return [4 /*yield*/, generator_1.next()];
54
+ case 3:
55
+ if (!(generator_1_1 = _b.sent(), !generator_1_1.done)) return [3 /*break*/, 5];
56
+ next = generator_1_1.value;
57
+ res.push(next);
58
+ _b.label = 4;
59
+ case 4: return [3 /*break*/, 2];
60
+ case 5: return [3 /*break*/, 12];
61
+ case 6:
62
+ e_1_1 = _b.sent();
63
+ e_1 = { error: e_1_1 };
64
+ return [3 /*break*/, 12];
65
+ case 7:
66
+ _b.trys.push([7, , 10, 11]);
67
+ if (!(generator_1_1 && !generator_1_1.done && (_a = generator_1.return))) return [3 /*break*/, 9];
68
+ return [4 /*yield*/, _a.call(generator_1)];
69
+ case 8:
70
+ _b.sent();
71
+ _b.label = 9;
72
+ case 9: return [3 /*break*/, 11];
73
+ case 10:
74
+ if (e_1) throw e_1.error;
75
+ return [7 /*endfinally*/];
76
+ case 11: return [7 /*endfinally*/];
77
+ case 12: return [2 /*return*/, res];
78
+ }
79
+ });
80
+ });
81
+ }
32
82
  function delay() {
33
83
  var args = [];
34
84
  for (var _i = 0; _i < arguments.length; _i++) {
@@ -106,7 +156,7 @@ function retry(process, opts) {
106
156
  return __awaiter(this, void 0, void 0, function () {
107
157
  function execute(attempt, process, opts) {
108
158
  return __awaiter(this, void 0, void 0, function () {
109
- var _a, delaysInMs, _b, maxRetries, delayInMs, e_1;
159
+ var _a, delaysInMs, _b, maxRetries, delayInMs, e_2;
110
160
  return __generator(this, function (_c) {
111
161
  switch (_c.label) {
112
162
  case 0:
@@ -123,11 +173,11 @@ function retry(process, opts) {
123
173
  return [4 /*yield*/, process()];
124
174
  case 3: return [2 /*return*/, _c.sent()];
125
175
  case 4:
126
- e_1 = _c.sent();
176
+ e_2 = _c.sent();
127
177
  if (!(attempt < maxRetries)) return [3 /*break*/, 6];
128
178
  return [4 /*yield*/, execute(attempt + 1, process, opts)];
129
179
  case 5: return [2 /*return*/, _c.sent()];
130
- case 6: throw e_1;
180
+ case 6: throw e_2;
131
181
  case 7: return [3 /*break*/, 8];
132
182
  case 8: return [2 /*return*/];
133
183
  }
@@ -183,6 +233,7 @@ function isAbortEvent(obj) {
183
233
 
184
234
  var async = /*#__PURE__*/Object.freeze({
185
235
  __proto__: null,
236
+ asArray: asArray,
186
237
  delay: delay,
187
238
  timeout: timeout,
188
239
  retry: retry,