file-routing-expressjs
Version:
A dependency-free, flexible, system-based file routing for Express.
1 lines • 1.1 kB
Source Map (JSON)
{"version":3,"sources":["../../src/helpers/async.ts"],"sourcesContent":["import { TimeoutError } from \"../types/exceptions\";\n\nexport async function withTimeout<T = any>(\n p: Promise<T>,\n ms: number,\n abortController?: AbortController\n): Promise<T> {\n let timeoutId: NodeJS.Timeout | undefined;\n\n const timer = new Promise<never>((_, reject) => {\n timeoutId = setTimeout(() => {\n if (abortController) {\n abortController.abort();\n }\n\n reject(new TimeoutError(ms));\n }, ms);\n });\n\n try {\n return await Promise.race([p, timer]);\n } finally {\n clearTimeout(timeoutId);\n }\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,SAAS,oBAAoB;AAE7B,SAAsB,YAClB,GACA,IACA,iBACU;AAAA;AACV,QAAI;AAEJ,UAAM,QAAQ,IAAI,QAAe,CAAC,GAAG,WAAW;AAC5C,kBAAY,WAAW,MAAM;AACzB,YAAI,iBAAiB;AACjB,0BAAgB,MAAM;AAAA,QAC1B;AAEA,eAAO,IAAI,aAAa,EAAE,CAAC;AAAA,MAC/B,GAAG,EAAE;AAAA,IACT,CAAC;AAED,QAAI;AACA,aAAO,MAAM,QAAQ,KAAK,CAAC,GAAG,KAAK,CAAC;AAAA,IACxC,UAAE;AACE,mBAAa,SAAS;AAAA,IAC1B;AAAA,EACJ;AAAA;","names":[]}