import "../_dnt.polyfills.js"; export async function withSignal( cb: (signal: AbortSignal) => Promise, outerSignal?: AbortSignal, ) { const controller = new AbortController() if (outerSignal) { outerSignal.addEventListener("abort", () => { controller.abort() }, { signal: controller.signal }) } try { return await cb(controller.signal) } finally { controller.abort() } }