UNPKG

@tanstack/router-core

Version:

Modern and scalable routing for React applications

1 lines 1.39 kB
{"version":3,"file":"await-signal.cjs","names":[],"sources":["../../src/await-signal.ts"],"sourcesContent":["export function waitForReason<T>(\n value: T | PromiseLike<T>,\n signal: AbortSignal,\n onLate?: (value: T) => void,\n): Promise<T> {\n const promise = Promise.resolve(value)\n if (signal.aborted) {\n if (!onLate) {\n return Promise.race([Promise.reject(signal.reason), promise])\n }\n void promise.then(onLate, () => {})\n return Promise.reject(signal.reason)\n }\n return new Promise<T>((resolve, reject) => {\n const abort = () => reject(signal.reason)\n signal.addEventListener('abort', abort, { once: true })\n promise\n .then((result) => {\n if (signal.aborted) {\n onLate?.(result)\n } else {\n resolve(result)\n }\n }, reject)\n .finally(() => signal.removeEventListener('abort', abort))\n })\n}\n"],"mappings":";AAAA,SAAgB,cACd,OACA,QACA,QACY;CACZ,MAAM,UAAU,QAAQ,QAAQ,KAAK;CACrC,IAAI,OAAO,SAAS;EAClB,IAAI,CAAC,QACH,OAAO,QAAQ,KAAK,CAAC,QAAQ,OAAO,OAAO,MAAM,GAAG,OAAO,CAAC;EAE9D,QAAa,KAAK,cAAc,CAAC,CAAC;EAClC,OAAO,QAAQ,OAAO,OAAO,MAAM;CACrC;CACA,OAAO,IAAI,SAAY,SAAS,WAAW;EACzC,MAAM,cAAc,OAAO,OAAO,MAAM;EACxC,OAAO,iBAAiB,SAAS,OAAO,EAAE,MAAM,KAAK,CAAC;EACtD,QACG,MAAM,WAAW;GAChB,IAAI,OAAO,SACT,SAAS,MAAM;QAEf,QAAQ,MAAM;EAElB,GAAG,MAAM,EACR,cAAc,OAAO,oBAAoB,SAAS,KAAK,CAAC;CAC7D,CAAC;AACH"}