MCPcopy Create free account
hub / github.com/WinterTC55/iter-streams / flattenTransformYieldAsync

Function flattenTransformYieldAsync

src/pull.js:198–281  ·  view source on GitHub ↗

* Flatten transform yield to Uint8Array chunks (async).

(value)

Source from the content-addressed store, hash-verified

196 * Flatten transform yield to Uint8Array chunks (async).
197 */
198function flattenTransformYieldAsync(value) {
199 return __asyncGenerator(this, arguments, function flattenTransformYieldAsync_1() {
200 var _a, value_2, value_2_1, item, e_1_1, _i, value_3, item;
201 var _b, e_1, _c, _d;
202 return __generator(this, function (_e) {
203 switch (_e.label) {
204 case 0:
205 if (!(value instanceof Uint8Array)) return [3 /*break*/, 4];
206 return [4 /*yield*/, __await(value)];
207 case 1: return [4 /*yield*/, _e.sent()];
208 case 2:
209 _e.sent();
210 return [4 /*yield*/, __await(void 0)];
211 case 3: return [2 /*return*/, _e.sent()];
212 case 4:
213 if (!(typeof value === 'string')) return [3 /*break*/, 8];
214 return [4 /*yield*/, __await(encoder.encode(value))];
215 case 5: return [4 /*yield*/, _e.sent()];
216 case 6:
217 _e.sent();
218 return [4 /*yield*/, __await(void 0)];
219 case 7: return [2 /*return*/, _e.sent()];
220 case 8:
221 if (!(0, from_js_1.isAsyncIterable)(value)) return [3 /*break*/, 24];
222 _e.label = 9;
223 case 9:
224 _e.trys.push([9, 16, 17, 22]);
225 _a = true, value_2 = __asyncValues(value);
226 _e.label = 10;
227 case 10: return [4 /*yield*/, __await(value_2.next())];
228 case 11:
229 if (!(value_2_1 = _e.sent(), _b = value_2_1.done, !_b)) return [3 /*break*/, 15];
230 _d = value_2_1.value;
231 _a = false;
232 item = _d;
233 return [5 /*yield**/, __values(__asyncDelegator(__asyncValues(flattenTransformYieldAsync(item))))];
234 case 12: return [4 /*yield*/, __await.apply(void 0, [_e.sent()])];
235 case 13:
236 _e.sent();
237 _e.label = 14;
238 case 14:
239 _a = true;
240 return [3 /*break*/, 10];
241 case 15: return [3 /*break*/, 22];
242 case 16:
243 e_1_1 = _e.sent();
244 e_1 = { error: e_1_1 };
245 return [3 /*break*/, 22];
246 case 17:
247 _e.trys.push([17, , 20, 21]);
248 if (!(!_a && !_b && (_c = value_2.return))) return [3 /*break*/, 19];
249 return [4 /*yield*/, __await(_c.call(value_2))];
250 case 18:
251 _e.sent();
252 _e.label = 19;
253 case 19: return [3 /*break*/, 21];
254 case 20:
255 if (e_1) throw e_1.error;

Callers 3

Calls 2

pushMethod · 0.65
nextMethod · 0.45

Tested by

no test coverage detected