* Apply a single stateless async transform to a source.
(source, transform, options)
| 635 | * Apply a single stateless async transform to a source. |
| 636 | */ |
| 637 | function applyStatelessAsyncTransform(source, transform, options) { |
| 638 | return __asyncGenerator(this, arguments, function applyStatelessAsyncTransform_1() { |
| 639 | var _a, source_3, source_3_1, chunks, result, resolved, batch, _i, _b, item, _c, _d, _e, chunk, e_5_1, e_6_1; |
| 640 | var _f, e_6, _g, _h, _j, e_5, _k, _l; |
| 641 | return __generator(this, function (_m) { |
| 642 | switch (_m.label) { |
| 643 | case 0: |
| 644 | _m.trys.push([0, 39, 40, 45]); |
| 645 | _a = true, source_3 = __asyncValues(source); |
| 646 | _m.label = 1; |
| 647 | case 1: return [4 /*yield*/, __await(source_3.next())]; |
| 648 | case 2: |
| 649 | if (!(source_3_1 = _m.sent(), _f = source_3_1.done, !_f)) return [3 /*break*/, 38]; |
| 650 | _h = source_3_1.value; |
| 651 | _a = false; |
| 652 | chunks = _h; |
| 653 | result = transform(chunks, options); |
| 654 | // Fast path: result is already Uint8Array[] (common case) |
| 655 | if (result === null) |
| 656 | return [3 /*break*/, 37]; |
| 657 | if (!isUint8ArrayBatch(result)) return [3 /*break*/, 6]; |
| 658 | if (!(result.length > 0)) return [3 /*break*/, 5]; |
| 659 | return [4 /*yield*/, __await(result)]; |
| 660 | case 3: return [4 /*yield*/, _m.sent()]; |
| 661 | case 4: |
| 662 | _m.sent(); |
| 663 | _m.label = 5; |
| 664 | case 5: return [3 /*break*/, 37]; |
| 665 | case 6: |
| 666 | if (!(result instanceof Promise)) return [3 /*break*/, 14]; |
| 667 | return [4 /*yield*/, __await(result)]; |
| 668 | case 7: |
| 669 | resolved = _m.sent(); |
| 670 | if (resolved === null) |
| 671 | return [3 /*break*/, 37]; |
| 672 | if (!isUint8ArrayBatch(resolved)) return [3 /*break*/, 11]; |
| 673 | if (!(resolved.length > 0)) return [3 /*break*/, 10]; |
| 674 | return [4 /*yield*/, __await(resolved)]; |
| 675 | case 8: return [4 /*yield*/, _m.sent()]; |
| 676 | case 9: |
| 677 | _m.sent(); |
| 678 | _m.label = 10; |
| 679 | case 10: return [3 /*break*/, 37]; |
| 680 | case 11: |
| 681 | // Fall through to slow path |
| 682 | return [5 /*yield**/, __values(__asyncDelegator(__asyncValues(processTransformResultAsync(resolved))))]; |
| 683 | case 12: |
| 684 | // Fall through to slow path |
| 685 | return [4 /*yield*/, __await.apply(void 0, [_m.sent()])]; |
| 686 | case 13: |
| 687 | // Fall through to slow path |
| 688 | _m.sent(); |
| 689 | return [3 /*break*/, 37]; |
| 690 | case 14: |
| 691 | if (!((0, from_js_1.isSyncIterable)(result) && !(0, from_js_1.isAsyncIterable)(result))) return [3 /*break*/, 34]; |
| 692 | batch = []; |
| 693 | _i = 0, _b = result; |
| 694 | _m.label = 15; |
no test coverage detected