(entry, signal, resolve, reject, self)
| 719 | } |
| 720 | |
| 721 | function wireBroadcastWriteSignal(entry, signal, resolve, reject, self) { |
| 722 | const onAbort = () => { |
| 723 | const pendingWrites = getBroadcastPendingWrites(self); |
| 724 | const idx = pendingWrites.indexOf(entry); |
| 725 | if (idx !== -1) pendingWrites.removeAt(idx); |
| 726 | entry.chunk = null; |
| 727 | reject(signal.reason ?? lazyDOMException('Aborted', 'AbortError')); |
| 728 | }; |
| 729 | entry.resolve = function() { |
| 730 | signal.removeEventListener('abort', onAbort); |
| 731 | entry.chunk = null; |
| 732 | resolve(); |
| 733 | }; |
| 734 | entry.reject = function(reason) { |
| 735 | signal.removeEventListener('abort', onAbort); |
| 736 | entry.chunk = null; |
| 737 | reject(reason); |
| 738 | }; |
| 739 | signal.addEventListener('abort', onAbort, { __proto__: null, once: true }); |
| 740 | } |
| 741 | |
| 742 | function onBroadcastCancel(broadcastImpl, signal) { |
| 743 | onSignalAbort(signal, () => broadcastImpl.cancel(signal.reason)); |
no test coverage detected