eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
1 lines • 657 B
JavaScript
async function*interruptStreamOnFailure(e,t){let n=e[Symbol.asyncIterator](),r=!1;try{for(;;){let e=await nextOrFailure(n,t);if(e.done){r=!0;return}yield e.value}}finally{if(!r&&n.return!==void 0)try{let e=n.return();Promise.resolve(e).catch(()=>{})}catch{}}}function nextOrFailure(e,t){return t.aborted?Promise.reject(t.reason):new Promise((n,r)=>{let onFailure=()=>{r(t.reason)};t.addEventListener(`abort`,onFailure,{once:!0});let i;try{i=e.next()}catch(e){t.removeEventListener(`abort`,onFailure),r(e);return}i.then(e=>{t.removeEventListener(`abort`,onFailure),n(e)},e=>{t.removeEventListener(`abort`,onFailure),r(e)})})}export{interruptStreamOnFailure};