file-routing-expressjs
Version:
A dependency-free, flexible, system-based file routing for Express.
43 lines • 1.11 kB
JavaScript
var __async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
import { TimeoutError } from "../types/exceptions";
function withTimeout(p, ms, abortController) {
return __async(this, null, function* () {
let timeoutId;
const timer = new Promise((_, reject) => {
timeoutId = setTimeout(() => {
if (abortController) {
abortController.abort();
}
reject(new TimeoutError(ms));
}, ms);
});
try {
return yield Promise.race([p, timer]);
} finally {
clearTimeout(timeoutId);
}
});
}
export {
withTimeout
};
//# sourceMappingURL=async.mjs.map